This file is indexed.

/usr/include/cmpi/CmpiArray.h is in libcmpicppimpl0-dev 2.0.3-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