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_CIMQUALIFIER_HPP_INCLUDE_GUARD_
00037 #define OWBI1_CIMQUALIFIER_HPP_INCLUDE_GUARD_
00038 #include "OWBI1_config.h"
00039 #include "OWBI1_CIMElement.hpp"
00040 #include "OWBI1_COWIntrusiveReference.hpp"
00041 #include "OWBI1_CIMFwd.hpp"
00042 #include "OWBI1_CIMNULL.hpp"
00043 #include "OWBI1_CIMName.hpp"
00044
00045 namespace OWBI1
00046 {
00047
00053 class OWBI1_OWBI1PROVIFC_API CIMQualifier : public CIMElement
00054 {
00055 public:
00056
00057 static const char* const CIM_QUAL_ASSOCIATION;
00058 static const char* const CIM_QUAL_INDICATION;
00059
00060 static const char* const CIM_QUAL_ABSTRACT;
00061 static const char* const CIM_QUAL_AGGREGATE;
00062 static const char* const CIM_QUAL_AGGREGATION;
00063 static const char* const CIM_QUAL_ALIAS;
00064 static const char* const CIM_QUAL_ARRAYTYPE;
00065 static const char* const CIM_QUAL_BITMAP;
00066 static const char* const CIM_QUAL_BITVALUES;
00067 static const char* const CIM_QUAL_COMPOSITION;
00068 static const char* const CIM_QUAL_COUNTER;
00069 static const char* const CIM_QUAL_DELETE;
00070 static const char* const CIM_QUAL_DEPRECATED;
00071 static const char* const CIM_QUAL_DESCRIPTION;
00072 static const char* const CIM_QUAL_DISPLAYNAME;
00073 static const char* const CIM_QUAL_DN;
00074 static const char* const CIM_QUAL_EMBEDDEDOBJECT;
00075 static const char* const CIM_QUAL_EXCEPTION;
00076 static const char* const CIM_QUAL_EXPENSIVE;
00077 static const char* const CIM_QUAL_EXPERIMENTAL;
00078 static const char* const CIM_QUAL_GAUGE;
00079 static const char* const CIM_QUAL_IFDELETED;
00080 static const char* const CIM_QUAL_IN;
00081 static const char* const CIM_QUAL_INVISIBLE;
00082 static const char* const CIM_QUAL_KEY;
00083 static const char* const CIM_QUAL_LARGE;
00084 static const char* const CIM_QUAL_MAPPINGSTRINGS;
00085 static const char* const CIM_QUAL_MAX;
00086 static const char* const CIM_QUAL_MAXLEN;
00087 static const char* const CIM_QUAL_MAXVALUE;
00088 static const char* const CIM_QUAL_MIN;
00089 static const char* const CIM_QUAL_MINLEN;
00090 static const char* const CIM_QUAL_MINVALUE;
00091 static const char* const CIM_QUAL_MODELCORRESPONDENCE;
00092 static const char* const CIM_QUAL_NONLOCAL;
00093 static const char* const CIM_QUAL_NONLOCALTYPE;
00094 static const char* const CIM_QUAL_NULLVALUE;
00095 static const char* const CIM_QUAL_OCTETSTRING;
00096 static const char* const CIM_QUAL_OUT;
00097 static const char* const CIM_QUAL_OVERRIDE;
00098 static const char* const CIM_QUAL_PROPAGATED;
00099 static const char* const CIM_QUAL_PROPERTYUSAGE;
00100 static const char* const CIM_QUAL_READ;
00101 static const char* const CIM_QUAL_REQUIRED;
00102 static const char* const CIM_QUAL_REVISION;
00103 static const char* const CIM_QUAL_SCHEMA;
00104 static const char* const CIM_QUAL_SOURCE;
00105 static const char* const CIM_QUAL_SOURCETYPE;
00106 static const char* const CIM_QUAL_STATIC;
00107 static const char* const CIM_QUAL_SYNTAX;
00108 static const char* const CIM_QUAL_SYNTAXTYPE;
00109 static const char* const CIM_QUAL_TERMINAL;
00110 static const char* const CIM_QUAL_TRIGGERTYPE;
00111 static const char* const CIM_QUAL_UNITS;
00112 static const char* const CIM_QUAL_UNKNOWNVALUES;
00113 static const char* const CIM_QUAL_UNSUPPORTEDVALUES;
00114 static const char* const CIM_QUAL_VALUEMAP;
00115 static const char* const CIM_QUAL_VALUES;
00116 static const char* const CIM_QUAL_VERSION;
00117 static const char* const CIM_QUAL_WEAK;
00118 static const char* const CIM_QUAL_WRITE;
00119 static const char* const CIM_QUAL_PROVIDER;
00123 CIMQualifier();
00127 explicit CIMQualifier(CIMNULL_t);
00132 CIMQualifier(const CIMName& name);
00138 CIMQualifier(const char* name);
00143 CIMQualifier(const CIMQualifierType& qtype);
00148 CIMQualifier(const CIMQualifier& arg);
00149
00150 explicit CIMQualifier(const detail::CIMQualifierRepRef& rep);
00154 ~CIMQualifier();
00158 virtual void setNull();
00164 CIMQualifier& operator= (const CIMQualifier& arg);
00168 bool isKeyQualifier() const;
00172 bool isAssociationQualifier() const;
00176 CIMValue getValue() const;
00181 CIMValue getValueT() const;
00187 CIMQualifier& setValue(const CIMValue& value);
00193 CIMQualifier& setDefaults(const CIMQualifierType& qtype);
00198 CIMQualifierType getDefaults() const;
00204 bool hasFlavor(const CIMFlavor& flavor) const;
00210 CIMQualifier& addFlavor(const CIMFlavor& flavor);
00217 CIMQualifier& removeFlavor(Int32 flavor);
00221 bool hasValue() const;
00228 bool equals(const CIMQualifier& arg) const;
00232 CIMFlavorArray getFlavors() const;
00238 CIMQualifier& setPropagated(bool propagated=true);
00242 bool getPropagated() const;
00243
00251 CIMQualifier& setLanguage(const String& language);
00255 String getLanguage() const;
00256
00257 typedef detail::CIMQualifierRepRef CIMQualifier::*safe_bool;
00258 operator safe_bool () const;
00259 bool operator!() const;
00260
00264 virtual CIMName getName() const;
00269 virtual void setName(const CIMName& name);
00270
00275 virtual void readObject(std::istream &istrm);
00280 virtual void writeObject(std::ostream &ostrm) const;
00284 virtual String toMOF() const;
00288 virtual String toString() const;
00292 static CIMQualifier createKeyQualifier();
00293
00298 enum { SERIALIZATION_VERSION = 1 };
00299
00300 detail::CIMQualifierRepRef getRep() const;
00301
00302 private:
00303
00304 #ifdef OWBI1_WIN32
00305 #pragma warning (push)
00306 #pragma warning (disable: 4251)
00307 #endif
00308
00309 detail::CIMQualifierRepRef m_rep;
00310
00311 #ifdef OWBI1_WIN32
00312 #pragma warning (pop)
00313 #endif
00314
00315 friend OWBI1_OWBI1PROVIFC_API bool operator<(const CIMQualifier& x, const CIMQualifier& y);
00316 };
00317
00318 }
00319
00320 #endif