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 OW_CIMQUALIFIERTYPE_HPP_INCLUDE_GUARD_
00037 #define OW_CIMQUALIFIERTYPE_HPP_INCLUDE_GUARD_
00038 #include "OW_config.h"
00039 #include "OW_CIMElement.hpp"
00040 #include "OW_COWIntrusiveReference.hpp"
00041 #include "OW_CIMFwd.hpp"
00042 #include "OW_CIMDataType.hpp"
00043 #include "OW_CIMNULL.hpp"
00044 #include "OW_CIMName.hpp"
00045
00046 namespace OW_NAMESPACE
00047 {
00048
00053 class OW_COMMON_API CIMQualifierType : public CIMElement
00054 {
00055 public:
00056 struct QUALTData;
00060 CIMQualifierType();
00064 explicit CIMQualifierType(CIMNULL_t);
00069 CIMQualifierType(const CIMName& name);
00075 CIMQualifierType(const char* name);
00080 CIMQualifierType(const CIMQualifierType& arg);
00084 ~CIMQualifierType();
00088 virtual void setNull();
00094 CIMQualifierType& operator= (const CIMQualifierType& arg);
00098 const CIMScopeArray& getScope() const;
00102 CIMDataType getDataType() const;
00106 Int32 getDataSize() const;
00110 CIMValue getDefaultValue() const;
00116 CIMQualifierType& setDataType(const CIMDataType& dataType);
00122 CIMQualifierType& setDataType(const CIMDataType::Type& dataType);
00128 CIMQualifierType& setDefaultValue(const CIMValue& defValue);
00134 CIMQualifierType& addScope(const CIMScope& newScope);
00141 bool hasScope(const CIMScope& scopeArg) const;
00148 bool hasFlavor(const CIMFlavor& flavorArg) const;
00154 CIMQualifierType& addFlavor(const CIMFlavor& newFlavor);
00160 CIMQualifierType& removeFlavor(const Int32 flavor);
00164 CIMFlavorArray getFlavors() const;
00169 bool hasDefaultValue() const;
00173 bool isDefaultValueArray() const;
00178 virtual void writeObject(std::ostream &ostrm) const;
00183 virtual void readObject(std::istream &istrm);
00184
00188 virtual String toString() const;
00193 virtual String toMOF() const;
00194
00198 virtual String getName() const;
00203 virtual void setName(const CIMName& name);
00204
00205 typedef COWIntrusiveReference<QUALTData> CIMQualifierType::*safe_bool;
00206 operator safe_bool () const
00207 { return m_pdata ? &CIMQualifierType::m_pdata : 0; }
00208 bool operator!() const
00209 { return !m_pdata; }
00210
00211 friend OW_COMMON_API bool operator<(const CIMQualifierType& x, const CIMQualifierType& y);
00212 private:
00213
00214 #ifdef OW_WIN32
00215 #pragma warning (push)
00216 #pragma warning (disable: 4251)
00217 #endif
00218
00219 COWIntrusiveReference<QUALTData> m_pdata;
00220
00221 #ifdef OW_WIN32
00222 #pragma warning (pop)
00223 #endif
00224
00225 };
00226
00227 }
00228
00229 #endif