/usr/include/cmpi/CmpiArray.h is in libcmpicppimpl0-dev 1.0.5-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | /*
*
* $Id: CmpiArray.h,v 1.4 2008/07/09 19:36:59 tyreld Exp $
*
* (C) Copyright IBM Corp. 2003, 2005, 2008
*
* THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
* ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
* CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
*
* You can obtain a current copy of the Eclipse Public License from
* http://www.opensource.org/licenses/eclipse-1.0.txt
*
* Author: Adrian Schuur <schuur@de.ibm.com>
* Contributors: Heidi Neumann, heidineu@de.ibm.com
* Angel Nunez Mencias, anunez@de.ibm.com
*
* Description: CMPI Array Definitions
*
*/
#ifndef _CmpiArray_h_
#define _CmpiArray_h_
#include "cmpidt.h"
#include "CmpiString.h"
#include "Linkage.h"
#include "CmpiObjectPath.h"
#include "CmpiInstance.h"
#include "CmpiBaseMI.h"
#include "CmpiData.h"
class CmpiArray;
class CmpiInstance;
class CmpiData;
class CMPI_PROVIDER_LINKAGE CmpiArrayIdx {
friend class CmpiArray;
const CmpiArray &ar;
CMPICount idx;
CmpiArrayIdx(const CmpiArray &a, CMPICount i);
public:
CmpiArrayIdx& operator=(const CmpiData&);
CmpiData getData() const;
/** Extracting String.
*/
operator CmpiString() const;
/** Extracting const char *
*/
operator const char* () const;
/** Extracting CmpiDataTime.
*/
operator CmpiDateTime() const;
/** Extracting CmpiInstance.
*/
operator CmpiInstance() const;
/** Extracting CmpiObjectPath.
*/
operator CmpiObjectPath() const;
/** Extracting CMPISint8.
*/
operator CMPISint8() const;
/** Extracting signed 16 bit.
*/
operator CMPISint16() const;
/** Extracting signed 32 bit.
*/
operator CMPISint32() const;
/** Extracting signed 64 bit.
*/
operator CMPISint64() const;
/** Extracting unsigned 8 bit or boolean.
*/
operator unsigned char() const;
/** Extracting unsigned 16 bit or char16.
*/
operator unsigned short() const;
/** Extracting unsigned 32 bit.
*/
operator CMPIUint32() const;
/** Extracting unsigned 64 bit.
*/
operator CMPIUint64() const;
/** Extracting float 32 bit.
*/
operator CMPIReal32() const;
/** Extracting float 64 bit.
*/
operator CMPIReal64() const;
};
/** This class wraps a CMPIData value array.
Index operations use the [] operator.
Data extraction uses type conversion operators.
Extraction operations can be appended to an array indexing operation
like this:
CmpiString state;
CmpiArray states;
states=ci.getProperty("States");
state=states[3];
Assignment statements use array indexing operations as well:
states[5]="offline";
Type mismatches will be signalled by exceptions.
*/
class CmpiArray : public CmpiObject {
friend class CmpiArrayIdx;
friend class CmpiData;
friend class CmpiEnumeration;
void operator=(int x);
/** Gets the encapsulated CMPIArray.
*/
CMPIArray *getEnc() const;
void *makeArray(CMPIBroker *mb,CMPICount max, CMPIType type);
CmpiArray(CMPIArray *arr);
public:
CmpiArray(CMPICount max, CMPIType type);
CmpiArray();
CMPICount size() const;
CmpiArrayIdx operator[](int idx) const;
};
#endif
|