cmpi
CmpiInstance.h
Go to the documentation of this file.
1 /*
2  *
3  * $Id: CmpiInstance.h,v 1.3 2008/07/09 19:36:59 tyreld Exp $
4  *
5  * (C) Copyright IBM Corp. 2003, 2005, 2008
6  *
7  * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
8  * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
9  * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
10  *
11  * You can obtain a current copy of the Eclipse Public License from
12  * http://www.opensource.org/licenses/eclipse-1.0.txt
13  *
14  * Author: Adrian Schuur <schuur@de.ibm.com>
15  * Contributors: Heidi Neumann, heidineu@de.ibm.com
16  * Angel Nunez Mencias, anunez@de.ibm.com
17  * Viktor Mihajlovski, mihajlov@de.ibm.com
18  * Description: CMPI Instance Definitions
19  *
20  */
21 
22 #ifndef _CmpiInstance_h_
23 #define _CmpiInstance_h_
24 
25 #include "cmpidt.h"
26 #include "cmpift.h"
27 
28 #include "Linkage.h"
29 #include "CmpiObject.h"
30 #include "CmpiStatus.h"
31 #include "CmpiObjectPath.h"
32 #include "CmpiBroker.h"
33 #include "CmpiData.h"
34 
35 class CmpiObjectPath;
36 class CmpiData;
37 
43  friend class CmpiBroker;
44  friend class CmpiResult;
45  friend class CmpiInstanceMI;
46  friend class CmpiMethodMI;
47  friend class CmpiData;
48 protected:
49 
52  CmpiInstance(const CMPIInstance* enc);
53 
56  CMPIInstance *getEnc() const;
57 
58 private:
59 
62  CmpiInstance();
63 
66  void *makeInstance(CMPIBroker *mb, const CmpiObjectPath& cop);
67 
68  CmpiBoolean doInstanceIsA(CMPIBroker *mb, const char *className);
69 
70 public:
76  CmpiInstance(const CmpiObjectPath& op);
77 
82  CmpiBoolean instanceIsA(const char *className);
83 
88  unsigned int getPropertyCount();
89 
95  CmpiData getProperty(const char* name) const;
96 
103  CmpiData getProperty(const int index, CmpiString *name=NULL);
104 
110  void setProperty(const char* name, const CmpiData data);
111 
118  void setPropertyFilter(const char** properties, const char** keys);
119 
124  CmpiObjectPath getObjectPath() const;
125 };
126 
127 #endif
Definition: CmpiInstanceMI.h:41
Definition: CmpiBroker.h:46
friend class CmpiInstance
Definition: CmpiObject.h:45
Definition: cmpift.h:950
Definition: CmpiMethodMI.h:41
Definition: CmpiString.h:49
Definition: CmpiData.h:52
#define CmpiBoolean
Definition: CmpiObject.h:30
Definition: cmpift.h:1362
Definition: CmpiInstance.h:42
Definition: CmpiObjectPath.h:42
Definition: CmpiObject.h:42
Definition: CmpiResult.h:40
#define CMPI_PROVIDER_LINKAGE
Definition: Linkage.h:28