cmpi
CmpiArray.h
Go to the documentation of this file.
1 /*
2  *
3  * $Id: CmpiArray.h,v 1.4 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  *
18  * Description: CMPI Array Definitions
19  *
20  */
21 
22 #ifndef _CmpiArray_h_
23 #define _CmpiArray_h_
24 
25 #include "cmpidt.h"
26 #include "CmpiString.h"
27 
28 #include "Linkage.h"
29 #include "CmpiObjectPath.h"
30 #include "CmpiInstance.h"
31 #include "CmpiBaseMI.h"
32 #include "CmpiData.h"
33 
34 class CmpiArray;
35 class CmpiInstance;
36 class CmpiData;
37 
39  friend class CmpiArray;
40  const CmpiArray &ar;
42  CmpiArrayIdx(const CmpiArray &a, CMPICount i);
43 public:
45  CmpiData getData() const;
46 
49  operator CmpiString() const;
52  operator const char* () const;
55  operator CmpiDateTime() const;
58  operator CmpiInstance() const;
61  operator CmpiObjectPath() const;
64  operator CMPISint8() const;
67  operator CMPISint16() const;
70  operator CMPISint32() const;
73  operator CMPISint64() const;
74 
77  operator unsigned char() const;
80  operator unsigned short() const;
83  operator CMPIUint32() const;
86  operator CMPIUint64() const;
89  operator CMPIReal32() const;
92  operator CMPIReal64() const;
93 
94 };
95 
96 
118 class CmpiArray : public CmpiObject {
119  friend class CmpiArrayIdx;
120  friend class CmpiData;
121  friend class CmpiEnumeration;
122  void operator=(int x);
123 
126  CMPIArray *getEnc() const;
127  void *makeArray(CMPIBroker *mb,CMPICount max, CMPIType type);
128  CmpiArray(CMPIArray *arr);
129 public:
130  CmpiArray(CMPICount max, CMPIType type);
131  CmpiArray();
132  CMPICount size() const;
133  CmpiArrayIdx operator[](int idx) const;
134 };
135 
136 #endif
137 
138 
139 
CMPICount idx
Definition: CmpiArray.h:41
CMPIArray * getEnc() const
Definition: CmpiImpl.cpp:691
Definition: CmpiArray.h:38
signed int CMPISint32
Definition: cmpidt.h:231
unsigned int CMPICount
Definition: cmpidt.h:138
friend class CmpiInstance
Definition: CmpiObject.h:45
Definition: CmpiDateTime.h:38
Definition: CmpiEnumeration.h:42
short CMPISint16
Definition: cmpidt.h:230
Definition: cmpift.h:950
signed char CMPISint8
Definition: cmpidt.h:229
Definition: CmpiString.h:49
long long CMPISint64
Definition: cmpidt.h:233
float CMPIReal32
Definition: cmpidt.h:237
CmpiArrayIdx operator[](int idx) const
Definition: CmpiImpl.cpp:709
Definition: CmpiData.h:52
void operator=(int x)
Definition: CmpiImpl.cpp:706
friend class CmpiArrayIdx
Definition: CmpiArray.h:119
Definition: CmpiArray.h:118
CMPICount size() const
Definition: CmpiImpl.cpp:720
Definition: CmpiInstance.h:42
const CmpiArray & ar
Definition: CmpiArray.h:40
unsigned long long CMPIUint64
Definition: cmpidt.h:225
unsigned int CMPIUint32
Definition: cmpidt.h:223
void * makeArray(CMPIBroker *mb, CMPICount max, CMPIType type)
Definition: CmpiImpl.cpp:713
unsigned short CMPIType
Definition: cmpidt.h:282
Definition: CmpiObject.h:42
double CMPIReal64
Definition: cmpidt.h:238
Definition: cmpift.h:2228
friend class CmpiObjectPath
Definition: CmpiObject.h:44
#define CMPI_PROVIDER_LINKAGE
Definition: Linkage.h:28
CmpiArray()
Definition: CmpiImpl.cpp:703