(file) Return to CIMType.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/CIMType.h between version 1.8 and 1.30

version 1.8, 2001/07/10 06:43:24 version 1.30, 2005/02/05 22:59:23
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2005////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 20 
Line 27 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  
 //  
 // Modified By:  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 /*  
  CIMType.h - This file defines the CIMType enumeration which introduces  
 symbolic constants for the CIM data types.  
 */  
   
 #ifndef Pegasus_Type_h #ifndef Pegasus_Type_h
 #define Pegasus_Type_h #define Pegasus_Type_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
   #include <Pegasus/Common/Linkage.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 /** /**
     The CIMType Class defines the CIMType enumeration which introduces      The CIMType enumeration defines symbolic constants for the CIM data types.
     symbolic constants for the CIM data types.  
  
     The table below shows each CIM type, its symbolic constant, and its     The table below shows each CIM type, its symbolic constant, and its
     representation type.     representation type.
Line 48 
Line 46 
     <pre>     <pre>
             CIM CIMType Constant        C++ CIMType             CIM CIMType Constant        C++ CIMType
             -------------------------------------------------------             -------------------------------------------------------
             boolean     CIMType::BOOLEAN        Boolean              boolean     CIMTYPE_BOOLEAN         Boolean
             uint8       CIMType::UINT8          Uint8              uint8       CIMTYPE_UINT8           Uint8
             sint8       CIMType::SINT8          Sint8              sint8       CIMTYPE_SINT8           Sint8
             uint16      CIMType::UINT16         Uint16              uint16      CIMTYPE_UINT16          Uint16
             sint16      CIMType::SINT16         Sint16              sint16      CIMTYPE_SINT16          Sint16
             uint32      CIMType::UINT32         Uint32              uint32      CIMTYPE_UINT32          Uint32
             sint32      CIMType::SINT32         Sint32              sint32      CIMTYPE_SINT32          Sint32
             uint64      CIMType::UINT64         Sint64              uint64      CIMTYPE_UINT64          Sint64
             sint64      CIMType::SINT64         Sint64              sint64      CIMTYPE_SINT64          Sint64
             real32      CIMType::REAL32         Real32              real32      CIMTYPE_REAL32          Real32
             real64      CIMType::REAL64         Real64              real64      CIMTYPE_REAL64          Real64
             char16      CIMType::CHAR16         Char16              char16      CIMTYPE_CHAR16          Char16
             string      CIMType::STRING         String              string      CIMTYPE_STRING          String
             datetime    CIMType::DATETIME       CIMDateTime              datetime    CIMTYPE_DATETIME        CIMDateTime
             reference   CIMType::REFERENCE      CIMReference              reference   CIMTYPE_REFERENCE       CIMObjectPath
           object      CIMTYPE_OBJECT      CIMObject  (not a "real" CIM type -- see PEP 194)
     </pre>     </pre>
 */ */
 class PEGASUS_COMMON_LINKAGE CIMType  
 {  
 public:  
  
     enum Tag  enum CIMType
     {     {
         NONE,      CIMTYPE_BOOLEAN,
         BOOLEAN,      CIMTYPE_UINT8,
         UINT8,      CIMTYPE_SINT8,
         SINT8,      CIMTYPE_UINT16,
         UINT16,      CIMTYPE_SINT16,
         SINT16,      CIMTYPE_UINT32,
         UINT32,      CIMTYPE_SINT32,
         SINT32,      CIMTYPE_UINT64,
         UINT64,      CIMTYPE_SINT64,
         SINT64,      CIMTYPE_REAL32,
         REAL32,      CIMTYPE_REAL64,
         REAL64,      CIMTYPE_CHAR16,
         CHAR16,      CIMTYPE_STRING,
         STRING,      CIMTYPE_DATETIME,
         DATETIME,      CIMTYPE_REFERENCE,
         REFERENCE      CIMTYPE_OBJECT
     };  
   
     CIMType() : _tag(NONE) { }  
   
     CIMType(Tag tag) : _tag(tag) { }  
   
     PEGASUS_EXPLICIT CIMType(Uint32 tag) : _tag(Tag(tag)) { }  
   
     CIMType(const CIMType& x) : _tag(x._tag) { }  
   
     CIMType& operator=(Tag tag) { _tag = tag; return *this; }  
   
     operator Tag() const { return _tag; }  
   
     Boolean equal(const CIMType& x) const { return x._tag == _tag; }  
   
 private:  
   
     Tag _tag;  
 }; };
  
 inline Boolean operator==(CIMType x, CIMType y)  /**
 {      Returns a string representation of the given type.
     return CIMType::Tag(x) == CIMType::Tag(y);  
 }  
   
 inline Boolean operator!=(CIMType x, CIMType y)  
 {  
     return !operator==(x, y);  
 }  
   
 // ATTN: this doesn't seem necessary!  
   
 inline Boolean operator==(CIMType x, CIMType::Tag y)  
 {  
     return x.equal(y);  
 }  
   
 inline Boolean operator==(CIMType::Tag x, CIMType y)  
 {  
     return y.equal(x);  
 }  
   
 inline Boolean operator!=(CIMType x, CIMType::Tag y)  
 {  
     return !operator==(x, y);  
 }  
   
 inline Boolean operator!=(CIMType::Tag x, CIMType y)  
 {  
     return !operator==(x, y);  
 }  
   
 // Returns a string representation of the given type. The string  
 // is the same as the "CIM CIMType" column in the table above.  
  
 PEGASUS_COMMON_LINKAGE const char* TypeToString(CIMType type);      Note: the current implementation returns a string matching the first
       column in the table above, but that is subject to change in later
       revisions.
       @param type REVIEWERS: Insert description here.
    */
   PEGASUS_COMMON_LINKAGE const char * cimTypeToString (
       const CIMType type);
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
 #endif /* Pegasus_Type_h */ #endif /* Pegasus_Type_h */
   


Legend:
Removed from v.1.8  
changed lines
  Added in v.1.30

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2