00001 /* 00002 * 00003 * CmpiStatus.h 00004 * 00005 * (C) Copyright IBM Corp. 2003 00006 * 00007 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON 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 Common Public License from 00012 * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html 00013 * 00014 * Author: Adrian Schuur <schuur@de.ibm.com> 00015 * Contributors: 00016 * 00017 * Description: CMPI C++ magement Status wrapper 00018 * 00019 */ 00020 00021 #ifndef _CmpiStatus_h_ 00022 #define _CmpiStatus_h_ 00023 #include "OW_config.h" 00024 00025 #include "cmpidt.h" 00026 #include "cmpift.h" 00027 00028 #include "CmpiProviderBase.h" 00029 00033 class CmpiStatus { 00034 friend class CmpiInstanceMI; 00035 friend class CmpiMethodMI; 00036 friend class CmpiBaseMI; 00037 friend class CmpiAssociationMI; 00038 friend class CmpiPropertyMI; 00039 friend class CmpiIndicationMI; 00040 protected: 00041 00044 CMPIStatus st; 00045 00048 inline CMPIStatus status() const 00049 { return st; } 00050 private: 00051 00054 CmpiStatus(); 00055 public: 00056 00060 CmpiStatus(const CMPIrc rc); 00061 00066 inline CmpiStatus(const CMPIrc rcp, const char *msg) { 00067 st.rc=rcp; 00068 st.msg=CMNewString(CmpiProviderBase::getBroker(),(char*)msg,NULL); 00069 } 00070 /* CmpiStatus(const CMPIrc rc, const char *msg); */ 00073 inline CMPIrc rc() const 00074 { return st.rc; } 00075 00078 inline const char* msg() 00079 { return CMGetCharPtr(st.msg); } 00080 }; 00081 00082 #endif 00083 00084 00085