00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _CmpiObjectPath_h_
00023 #define _CmpiObjectPath_h_
00024 #include "OW_config.h"
00025
00026 #include "cmpidt.h"
00027 #include "cmpift.h"
00028
00029 #include "CmpiObject.h"
00030 #include "CmpiData.h"
00031 #include "CmpiProviderBase.h"
00032
00033
00039 class CmpiObjectPath : public CmpiObject {
00040 friend class CmpiBroker;
00041 friend class CmpiResult;
00042 friend class CmpiInstance;
00043 friend class CmpiInstanceMI;
00044 friend class CmpiMethodMI;
00045 friend class CmpiAssociationMI;
00046 friend class CmpiPropertyMI;
00047 friend class CmpiIndicationMI;
00048 friend class CmpiData;
00049
00050 public:
00053 inline CmpiObjectPath(CMPIObjectPath* c)
00054 : CmpiObject((void*)c) {}
00055
00058 inline CMPIObjectPath *getEnc() const
00059 { return (CMPIObjectPath*)enc; }
00060
00061
00064 CmpiObjectPath() {}
00065 void *makeObjectPath(CMPIBroker *mb, const char *ns, const char *cls);
00066 void *makeObjectPath(CMPIBroker *mb, const CmpiString& ns, const char *cls);
00067 CmpiBoolean doClassPathIsA(CMPIBroker *mb, const char *className);
00068
00069
00076 inline CmpiObjectPath(const char *ns, const char *cls) {
00077 enc=makeObjectPath(CmpiProviderBase::getBroker(),ns,cls);
00078 }
00079 CmpiObjectPath(const CmpiString &ns, const char *cls) {
00080 enc=makeObjectPath(CmpiProviderBase::getBroker(),ns,cls);
00081 }
00082
00088 inline CmpiBoolean classPathIsA(const char *className) {
00089 return doClassPathIsA(CmpiProviderBase::getBroker(),className);
00090 }
00091
00096 CmpiString getHostname() const;
00097
00101 void setHostname(const char* hn);
00102 inline void setHostname(CmpiString hn)
00103 { setHostname(hn.charPtr()); }
00104
00109 CmpiString getNameSpace() const;
00110
00114 void setNameSpace(const char* ns);
00115 inline void setNameSpace(CmpiString ns)
00116 { setNameSpace(ns.charPtr()); }
00117
00122 CmpiString getClassName() const;
00123
00127 void setClassName(const char* hn);
00128 inline void setClassName(CmpiString hn)
00129 { setClassName(hn.charPtr()); }
00130
00135 unsigned int getKeyCount() const;
00136
00142 CmpiData getKey(const char* name) const;
00143
00150 CmpiData getKey(const int index, CmpiString *name=NULL) const;
00151
00157 void setKey(const char* name, CmpiData data);
00158 };
00159
00160 #endif
00161
00162