00001 /* 00002 * 00003 * $Id: CmpiData.h,v 1.4 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 Data Definitions 00020 * 00021 */ 00022 00023 #ifndef _CmpiData_h_ 00024 #define _CmpiData_h_ 00025 00026 #include "cmpidt.h" 00027 #include "cmpift.h" 00028 00029 #include "Linkage.h" 00030 #include "CmpiString.h" 00031 #include "CmpiDateTime.h" 00032 00033 class CmpiInstance; 00034 class CmpiObjectPath; 00035 00036 #include "CmpiObjectPath.h" 00037 #include "CmpiInstance.h" 00038 #include "CmpiArray.h" 00039 00040 class CmpiBooleanData; 00041 class CmpiCharData; 00042 00043 00052 class CMPI_PROVIDER_LINKAGE CmpiData { 00053 friend class CmpiInstance; 00054 friend class CmpiObjectPath; 00055 friend class CmpiResult; 00056 friend class CmpiArgs; 00057 friend class CmpiArrayIdx; 00058 friend class CmpiContext; 00059 friend class CmpiPropertyMI; 00060 friend class CmpiEnumeration; 00061 protected: 00062 00065 CMPIData _data; 00066 00069 CmpiData(CMPIData& data); 00070 00071 public: 00072 00075 CmpiData(); 00076 00079 CmpiData(CMPISint8 d); 00080 00083 CmpiData(CMPISint16 d); 00084 00087 CmpiData(CMPISint32 d); 00088 00091 CmpiData(CMPISint64 d); 00092 00095 CmpiData(CMPIUint8 d); 00096 00099 CmpiData(CMPIUint16 d); 00100 00103 CmpiData(CMPIUint32 d); 00104 00107 CmpiData(CMPIUint64 d); 00108 00111 CmpiData(CMPIReal32 d); 00112 00115 CmpiData(CMPIReal64 d); 00116 00119 CmpiData(const CmpiString& d); 00120 00123 CmpiData(const char* d); 00124 00127 CmpiData(const CmpiObjectPath& d); 00128 00129 00132 CmpiData(const CmpiDateTime& d); 00133 00136 CmpiData(const CmpiArray& d); 00137 00140 operator CmpiString() const; 00141 00144 operator const char* () const; 00145 00148 operator CmpiDateTime() const; 00149 00152 operator CMPISint8() const; 00155 operator CMPISint16() const; 00156 00159 operator CMPISint32() const; 00160 00163 operator CMPISint64() const; 00164 00167 operator unsigned char() const; 00168 00171 operator unsigned short() const; 00172 00175 operator CMPIUint32() const; 00176 00179 operator CMPIUint64() const; 00180 00183 operator CMPIReal32() const; 00184 00187 operator CMPIReal64() const; 00188 00191 operator CmpiArray() const; 00192 00195 operator CmpiInstance() const; 00196 00199 operator CmpiObjectPath() const; 00200 00203 int isNullValue() const; 00204 00207 int isNotFound() const; 00208 }; 00209 00210 #endif 00211 00212 00213