00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00036 #ifndef OWBI1_CIMBASE_HPP_
00037 #define OWBI1_CIMBASE_HPP_
00038 #include "OWBI1_config.h"
00039 #include "OWBI1_Types.hpp"
00040 #include "OWBI1_SerializableIFC.hpp"
00041 #include "OWBI1_CommonFwd.hpp"
00042 #include <iosfwd>
00043
00044 namespace OWBI1
00045 {
00046
00052 class OWBI1_OWBI1PROVIFC_API CIMBase : public SerializableIFC
00053 {
00054 public:
00055 virtual ~CIMBase();
00060 virtual void setNull() = 0;
00064 virtual String toString() const = 0;
00068 virtual String toMOF() const = 0;
00069
00070 enum EErrorCodes
00071 {
00072 E_UNEXPECTED_SIGNATURE,
00073 E_UNKNOWN_VERSION
00074 };
00075
00090 static void readSig(std::istream& istrm, const char* const sig);
00091
00118 static UInt32 readSig(std::istream& istrm, const char* const sig,
00119 const char* const verSig, UInt32 maxVersion);
00120
00129 static void writeSig(std::ostream& ostrm, const char* const sig);
00130
00138 static void writeSig(std::ostream& ostrm, const char* const sig,
00139 UInt32 version);
00140
00141 };
00142 OWBI1_OWBI1PROVIFC_API std::ostream& operator<<(std::ostream& ostr, const CIMBase& cb);
00144
00145
00146 #define OWBI1_CIMCLASSSIG "C" // OWBI1_CIMClass
00147 #define OWBI1_CIMINSTANCESIG "I" // OWBI1_CIMInstance
00148 #define OWBI1_CIMMETHODSIG "M" // OWBI1_CIMMethod
00149 #define OWBI1_CIMPARAMETERSIG "P" // OWBI1_CIMParameter
00150 #define OWBI1_CIMPARAMVALSIG "A" // OWBI1_CIMParamValue
00151 #define OWBI1_CIMPROPERTYSIG "R" // OWBI1_CIMProperty
00152 #define OWBI1_CIMQUALIFIERSIG "Q" // OWBI1_CIMQualifier
00153 #define OWBI1_CIMQUALIFIERTYPESIG "T" // OWBI1_CIMQualifierType
00154 #define OWBI1_CIMDATATYPESIG "D" // OWBI1_CIMDataType
00155 #define OWBI1_CIMFLAVORSIG "F" // OWBI1_CIMFlavor
00156 #define OWBI1_CIMNAMESPACESIG "N" // OWBI1_CIMNameSpace
00157 #define OWBI1_CIMOBJECTPATHSIG "O" // OWBI1_CIMObjectPath
00158 #define OWBI1_CIMSCOPESIG "S" // OWBI1_CIMScope
00159 #define OWBI1_CIMVALUESIG "V" // OWBI1_CIMValue
00160 #define OWBI1_CIMURLSIG "U" // OWBI1_CIMUrl
00161 #define OWBI1_INTERNNAMESPACESIG "E" // Internval namespace class
00162 #define OWBI1_CIMPARAMVALUESIG "L" // OWBI1_CIMParamValue
00163
00165
00166
00167 #define OWBI1_CIMCLASSSIG_V "c" // OWBI1_CIMClass
00168 #define OWBI1_CIMINSTANCESIG_V "i" // OWBI1_CIMInstance
00169 #define OWBI1_CIMMETHODSIG_V "m" // OWBI1_CIMMethod
00170 #define OWBI1_CIMPARAMETERSIG_V "p" // OWBI1_CIMParameter
00171 #define OWBI1_CIMPARAMVALSIG_V "a" // OWBI1_CIMParamValue
00172 #define OWBI1_CIMPROPERTYSIG_V "r" // OWBI1_CIMProperty
00173 #define OWBI1_CIMQUALIFIERSIG_V "q" // OWBI1_CIMQualifier
00174 #define OWBI1_CIMQUALIFIERTYPESIG_V "t" // OWBI1_CIMQualifierType
00175 #define OWBI1_CIMDATATYPESIG_V "d" // OWBI1_CIMDataType
00176 #define OWBI1_CIMFLAVORSIG_V "f" // OWBI1_CIMFlavor
00177 #define OWBI1_CIMNAMESPACESIG_V "n" // OWBI1_CIMNameSpace
00178 #define OWBI1_CIMOBJECTPATHSIG_V "o" // OWBI1_CIMObjectPath
00179 #define OWBI1_CIMSCOPESIG_V "s" // OWBI1_CIMScope
00180 #define OWBI1_CIMVALUESIG_V "v" // OWBI1_CIMValue
00181 #define OWBI1_CIMURLSIG_V "u" // OWBI1_CIMUrl
00182 #define OWBI1_INTERNNAMESPACESIG_V "e" // Internval namespace class
00183 #define OWBI1_CIMPARAMVALUESIG_V "l" // OWBI1_CIMParamValue
00184
00185
00186 }
00187
00188 #endif // OWBI1_CIMBASE_HPP_