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
00029
00030
00031
00032 #ifndef Pegasus_Object_h
00033 #define Pegasus_Object_h
00034
00035 #include <Pegasus/Common/Config.h>
00036 #include <Pegasus/Common/Linkage.h>
00037 #include <Pegasus/Common/String.h>
00038 #include <Pegasus/Common/CIMName.h>
00039 #include <Pegasus/Common/Array.h>
00040 #include <Pegasus/Common/CIMProperty.h>
00041 #include <Pegasus/Common/CIMQualifier.h>
00042
00043 PEGASUS_NAMESPACE_BEGIN
00044
00045 class CIMConstObject;
00046 class CIMObjectRep;
00047 class CIMClass;
00048 class CIMConstClass;
00049 class CIMInstance;
00050 class CIMConstInstance;
00051 class CIMProperty;
00052 class CIMConstProperty;
00053 class CIMQualifier;
00054 class CIMConstQualifier;
00055
00057
00058
00059
00061
00074 class PEGASUS_COMMON_LINKAGE CIMObject
00075 {
00076 public:
00077
00085 CIMObject();
00086
00093 CIMObject(const CIMObject& x);
00094
00101 CIMObject(const CIMClass& x);
00102
00109 CIMObject(const CIMInstance& x);
00110
00118 CIMObject& operator=(const CIMObject& x);
00119
00123 ~CIMObject();
00124
00131 const CIMName& getClassName() const;
00132
00139 const CIMObjectPath& getPath() const;
00140
00147 void setPath (const CIMObjectPath & path);
00148
00158 CIMObject& addQualifier(const CIMQualifier& qualifier);
00159
00167 Uint32 findQualifier(const CIMName& name) const;
00168
00178 CIMQualifier getQualifier(Uint32 index);
00179
00189 CIMConstQualifier getQualifier(Uint32 index) const;
00190
00199 void removeQualifier(Uint32 index);
00200
00207 Uint32 getQualifierCount() const;
00208
00218 CIMObject& addProperty(const CIMProperty& x);
00219
00227 Uint32 findProperty(const CIMName& name) const;
00228
00238 CIMProperty getProperty(Uint32 index);
00239
00249 CIMConstProperty getProperty(Uint32 index) const;
00250
00259 void removeProperty(Uint32 index);
00260
00267 Uint32 getPropertyCount() const;
00268
00276 CIMObject clone() const;
00277
00286 Boolean identical(const CIMConstObject& x) const;
00287
00292 Boolean isUninitialized() const;
00293
00302 String toString() const;
00303
00308 Boolean isClass() const;
00309
00314 Boolean isInstance() const;
00315
00316 private:
00317
00318 CIMObjectRep* _rep;
00319
00320 CIMObject(CIMObjectRep* rep);
00321
00322 friend class CIMConstObject;
00323 friend class CIMClass;
00324 friend class CIMConstClass;
00325 friend class CIMInstance;
00326 friend class CIMConstInstance;
00327 };
00328
00329 #define PEGASUS_ARRAY_T CIMObject
00330 # include <Pegasus/Common/ArrayInter.h>
00331 #undef PEGASUS_ARRAY_T
00332
00333
00335
00336
00337
00339
00347 class PEGASUS_COMMON_LINKAGE CIMConstObject
00348 {
00349 public:
00350
00358 CIMConstObject();
00359
00367 CIMConstObject(const CIMConstObject& x);
00368
00375 CIMConstObject(const CIMObject& x);
00376
00383 CIMConstObject(const CIMClass& x);
00384
00391 CIMConstObject(const CIMInstance& x);
00392
00399 CIMConstObject(const CIMConstClass& x);
00400
00408 CIMConstObject(const CIMConstInstance& x);
00409
00417 CIMConstObject& operator=(const CIMConstObject& x);
00418
00422 ~CIMConstObject();
00423
00430 const CIMName& getClassName() const;
00431
00438 const CIMObjectPath& getPath() const;
00439
00447 Uint32 findQualifier(const CIMName& name) const;
00448
00458 CIMConstQualifier getQualifier(Uint32 index) const;
00459
00466 Uint32 getQualifierCount() const;
00467
00475 Uint32 findProperty(const CIMName& name) const;
00476
00486 CIMConstProperty getProperty(Uint32 index) const;
00487
00494 Uint32 getPropertyCount() const;
00495
00504 CIMObject clone() const;
00505
00514 Boolean identical(const CIMConstObject& x) const;
00515
00520 Boolean isUninitialized() const;
00521
00530 String toString () const;
00531
00536 Boolean isClass() const;
00537
00543 Boolean isInstance() const;
00544
00545 private:
00546
00547 CIMObjectRep* _rep;
00548
00549 friend class CIMObject;
00550 friend class CIMClass;
00551 friend class CIMConstClass;
00552 friend class CIMInstance;
00553 friend class CIMConstInstance;
00554 };
00555
00556 PEGASUS_NAMESPACE_END
00557
00558 #endif