00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #ifndef _CmpiMethodMI_h_
00023 #define _CmpiMethodMI_h_
00024 #include "OW_config.h"
00025 
00026 #include <iostream>
00027 
00028 #include "cmpidt.h"
00029 #include "cmpift.h"
00030 
00031 #include "CmpiBaseMI.h"
00032 #include "CmpiStatus.h"
00033 #include "CmpiObjectPath.h"
00034 #include "CmpiResult.h"
00035 #include "CmpiContext.h"
00036 #include "CmpiArgs.h"
00037 
00038 
00039 class CmpiMethodMI : public CmpiBaseMI {
00040   protected:
00041   public:
00042    virtual ~CmpiMethodMI() {}
00043    CmpiMethodMI(CMPIBroker *mbp, const CmpiContext& ctx)
00044       : CmpiBaseMI(mbp,ctx) {}
00045 
00046    static CMPIStatus driveInvokeMethod
00047       (CMPIMethodMI* mi, CMPIContext* eCtx, CMPIResult* eRslt,
00048        CMPIObjectPath* eCop, char* methodName,
00049        CMPIArgs* eIn, CMPIArgs* eOut);
00050 
00051    virtual CmpiStatus invokeMethod
00052               (const CmpiContext& ctx, CmpiResult& rslt,
00053           const CmpiObjectPath& ref, const char* methodName,
00054           const CmpiArgs& in, CmpiArgs& out);
00055 };
00056 
00057 #endif
00058