cmpi
|
00001 /* 00002 * 00003 * $Id: CmpiInstanceMI.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 Instance MI Definitions 00020 * 00021 */ 00022 00023 #ifndef _CmpiInstanceMI_h_ 00024 #define _CmpiInstanceMI_h_ 00025 00026 #include <iostream> 00027 00028 #include "cmpidt.h" 00029 #include "cmpift.h" 00030 00031 #include "Linkage.h" 00032 #include "CmpiBaseMI.h" 00033 #include "CmpiStatus.h" 00034 #include "CmpiString.h" 00035 #include "CmpiData.h" 00036 #include "CmpiObjectPath.h" 00037 #include "CmpiInstance.h" 00038 #include "CmpiResult.h" 00039 #include "CmpiContext.h" 00040 00041 class CMPI_PROVIDER_LINKAGE CmpiInstanceMI : virtual public CmpiBaseMI { 00042 public: 00043 CmpiInstanceMI(const CmpiBroker &mbp, const CmpiContext& ctx); 00044 00045 static CMPIStatus driveEnumInstanceNames 00046 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00047 const CMPIObjectPath* eCop); 00048 static CMPIStatus driveEnumInstances 00049 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00050 const CMPIObjectPath* eCop, const char* *properties); 00051 static CMPIStatus driveGetInstance 00052 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00053 const CMPIObjectPath* eCop, const char* *properties); 00054 static CMPIStatus driveCreateInstance 00055 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00056 const CMPIObjectPath* eCop, const CMPIInstance* eInst); 00057 static CMPIStatus driveSetInstance 00058 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00059 const CMPIObjectPath* eCop, const CMPIInstance* eInst, 00060 const char* *properties); 00061 static CMPIStatus driveDeleteInstance 00062 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00063 const CMPIObjectPath* eCop); 00064 static CMPIStatus driveExecQuery 00065 (CMPIInstanceMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00066 const CMPIObjectPath* eCop, const char* language ,const char* query); 00067 00068 00069 virtual CmpiStatus enumInstanceNames 00070 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop); 00071 virtual CmpiStatus enumInstances 00072 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop, 00073 const char* *properties); 00074 virtual CmpiStatus getInstance 00075 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop, 00076 const char* *properties); 00077 virtual CmpiStatus createInstance 00078 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop, 00079 const CmpiInstance& inst); 00080 virtual CmpiStatus setInstance 00081 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop, 00082 const CmpiInstance& inst, const char* *properties); 00083 virtual CmpiStatus deleteInstance 00084 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop); 00085 virtual CmpiStatus execQuery 00086 (const CmpiContext& ctx, CmpiResult& rslt, const CmpiObjectPath& cop, 00087 const char* language, const char* query); 00088 }; 00089 00090 #endif 00091 00092 00093 00094 00095 00096 00097 00098 00099