cmpi
|
00001 /* 00002 * 00003 * $Id: CmpiMethodMI.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 Method MI Definitions 00020 * 00021 */ 00022 00023 #ifndef _CmpiMethodMI_h_ 00024 #define _CmpiMethodMI_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 "CmpiObjectPath.h" 00035 #include "CmpiResult.h" 00036 #include "CmpiContext.h" 00037 #include "CmpiBroker.h" 00038 #include "CmpiArgs.h" 00039 00040 00041 class CMPI_PROVIDER_LINKAGE CmpiMethodMI : virtual public CmpiBaseMI { 00042 public: 00043 CmpiMethodMI(const CmpiBroker &mbp, const CmpiContext& ctx); 00044 00045 static CMPIStatus driveInvokeMethod 00046 (CMPIMethodMI* mi, const CMPIContext* eCtx, const CMPIResult* eRslt, 00047 const CMPIObjectPath* eCop, const char* methodName, 00048 const CMPIArgs* eIn, CMPIArgs* eOut); 00049 00050 virtual CmpiStatus invokeMethod 00051 (const CmpiContext& ctx, CmpiResult& rslt, 00052 const CmpiObjectPath& ref, const char* methodName, 00053 const CmpiArgs& in, CmpiArgs& out); 00054 }; 00055 00056 #endif 00057