(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.16 and 1.33

version 1.16, 2002/05/15 23:14:20 version 1.33, 2006/05/02 20:26:59
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // 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.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec 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 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  
 //  
 // Modified By: Ramnath Ravindran (Ramnath.Ravindran@compaq.com)  
 //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 /*  
  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.
  
     <pre>     <pre>
             CIM CIMType Constant                C++ CIMType          CIM Type    CIMType Symbol       C++ Type
             -------------------------------------------------------          ----------------------------------------------
             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      CIMObjectPath          reference   CIMTYPE_REFERENCE    CIMObjectPath
           object      CIMTYPE_OBJECT       CIMObject (not a basic CIM type)
     </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
   #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
   #ifdef PEGASUS_EMBEDDED_INSTANCE_SUPPORT
       , CIMTYPE_INSTANCE
   #endif // PEGASUS_EMBEDDED_INSTANCE_SUPPORT
   #endif // PEGASUS_USE_EXPERIMENTAL_INTERFACES
     };     };
  
     /// Constructor  /**
     CIMType();      Gets a string representation of a CIMType.
   
     ///  Constructor  
     CIMType(Tag tag);  
   
 #if 0 // ATTN-RK-P3-20020514: Why encourage/allow this?  
     /// Constructor  
     PEGASUS_EXPLICIT CIMType(Uint32 tag);  
 #endif  
   
     ///  Constructor  
     CIMType(const CIMType& x);  
   
     /// operator =  
     CIMType& operator=(Tag tag);  
   
     ///  
     operator Tag() const;  
   
     ///  
     Boolean equal(const CIMType& x) const;  
  
     /** Returns a string representation of the given type that may be useful      Note: the current implementation returns a string matching the first
         for debugging.  (Note: the current implementation returns a string      column in the table above, but that is subject to change in later
         matching the first column in the table above, but that is subject to      revisions.
         change in later revisions.      @param type The CIMType to convert to string form.
       @return The string form of the specified CIMType.
     */     */
     const char* toString() const;  PEGASUS_COMMON_LINKAGE const char * cimTypeToString (
       const CIMType type);
 private:  
   
     Tag _tag;  
 };  
   
 #if 0 // ATTN-RK-P3-20020514: These shouldn't be necessary because the  
       // compiler can convert CIMType to CIMType::Tag automatically  
 inline Boolean operator==(CIMType x, CIMType y)  
 {  
     return CIMType::Tag(x) == CIMType::Tag(y);  
 }  
   
 inline Boolean operator!=(CIMType x, CIMType y)  
 {  
     return !operator==(x, y);  
 }  
 #endif  
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
 #endif /* Pegasus_Type_h */ #endif /* Pegasus_Type_h */
   


Legend:
Removed from v.1.16  
changed lines
  Added in v.1.33

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2