cmpi/CmpiObjectPath.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * $Id: CmpiObjectPath.h,v 1.3 2008/07/09 19:36:59 tyreld Exp $
00004  *
00005  * (C) Copyright IBM Corp. 2003, 2005, 2008
00006  *
00007  * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
00008  * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
00009  * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
00010  *
00011  * You can obtain a current copy of the Eclipse Public License from
00012  * http://www.opensource.org/licenses/eclipse-1.0.txt
00013  *
00014  * Author:        Adrian Schuur <schuur@de.ibm.com>
00015  * Contributors:  Heidi Neumann, heidineu@de.ibm.com
00016  *                Angel Nunez Mencias, anunez@de.ibm.com
00017  *                Viktor Mihajlovski, mihajlov@de.ibm.com
00018  *
00019  * Description: CMPI Object Path Definitions
00020  *
00021  */
00022 
00023 #ifndef _CmpiObjectPath_h_
00024 #define _CmpiObjectPath_h_
00025 
00026 #include "cmpidt.h"
00027 #include "cmpift.h"
00028 
00029 #include "Linkage.h"
00030 #include "CmpiObject.h"
00031 #include "CmpiBroker.h"
00032 #include "CmpiStatus.h"
00033 #include "CmpiData.h"
00034 #include "CmpiBaseMI.h"
00035 
00036 
00042 class CMPI_PROVIDER_LINKAGE CmpiObjectPath : public CmpiObject {
00043    friend class CmpiBroker;
00044    friend class CmpiResult;
00045    friend class CmpiInstance;
00046    friend class CmpiInstanceMI;
00047    friend class CmpiMethodMI;
00048    friend class CmpiAssociationMI;
00049    friend class CmpiPropertyMI;
00050    friend class CmpiIndicationMI;
00051    friend class CmpiData;
00052 protected:
00053 
00054 private:
00055 
00058    //CmpiObjectPath() {}
00059    void *makeObjectPath(CMPIBroker *mb, const char *ns, const char *cls);
00060    void *makeObjectPath(CMPIBroker *mb, const CmpiString& ns, const char *cls);
00061    CmpiBoolean doClassPathIsA(CMPIBroker *mb, const char *className) const;
00062 public:
00063 
00070    CmpiObjectPath(const char *ns, const char *cls);
00071    CmpiObjectPath(const CmpiString &ns, const char *cls);
00072 
00075    CmpiObjectPath(CMPIObjectPath* c);
00076 
00079    CMPIObjectPath *getEnc() const;
00080 
00086    CmpiBoolean classPathIsA(const char *className) const;
00087 
00092    CmpiString getHostname() const;
00093 
00097    void setHostname(const char* hn);
00098    void setHostname(CmpiString hn);
00099 
00104    CmpiString getNameSpace() const;
00105 
00109    void setNameSpace(const char* ns);
00110    void setNameSpace(CmpiString ns);
00111 
00116    CmpiString getClassName() const;
00117 
00121    void setClassName(const char* hn);
00122    void setClassName(CmpiString hn);
00123 
00128    unsigned int getKeyCount() const;
00129 
00135    CmpiData getKey(const char* name) const;
00136 
00143    CmpiData getKey(const int index, CmpiString *name=NULL) const;
00144 
00150    void setKey(const char* name, const CmpiData data);
00151 };
00152 
00153 #endif
00154 
00155 

Generated on Sat Feb 26 13:04:34 2022 for cmpi by  doxygen 1.4.6