//============================================================================== // // PLEASE DO NOT EDIT; THIS FILE WAS AUTOMATICALLY GENERATED BY GENMOD 2.0.0 // //============================================================================== #include #include "CMPL_Caller_Provider.h" #include "CMPL_Callee_Provider.h" using namespace cimple; static int __cimple_CMPL_Caller_Provider_proc( const Registration* registration, int operation, void* arg0, void* arg1, void* arg2, void* arg3, void* arg4, void* arg5, void* arg6, void* arg7) { typedef CMPL_Caller Class; typedef CMPL_Caller_Provider Provider; if (operation != OPERATION_INVOKE_METHOD) return Instance_Provider_Proc_T::proc(registration, operation, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); Provider* provider = (Provider*)arg0; const Class* self = (const Class*)arg1; const char* meth_name = ((Instance*)arg2)->meta_class->name; return -1; } static int __cimple_CMPL_Callee_Provider_proc( const Registration* registration, int operation, void* arg0, void* arg1, void* arg2, void* arg3, void* arg4, void* arg5, void* arg6, void* arg7) { typedef CMPL_Callee Class; typedef CMPL_Callee_Provider Provider; if (operation != OPERATION_INVOKE_METHOD) return Instance_Provider_Proc_T::proc(registration, operation, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); Provider* provider = (Provider*)arg0; const Class* self = (const Class*)arg1; const char* meth_name = ((Instance*)arg2)->meta_class->name; if (strcasecmp(meth_name, "foo1") == 0) { typedef CMPL_Callee_foo1_method Method; Method* method = (Method*)arg2; return provider->foo1( self, method->in1, method->in2, method->out1, method->out2, method->return_value); } if (strcasecmp(meth_name, "foo2") == 0) { typedef CMPL_Callee_foo2_method Method; Method* method = (Method*)arg2; return provider->foo2( method->in1, method->in2, method->out1, method->out2, method->return_value); } return -1; } CIMPLE_MODULE(MethodUpcall_Module); CIMPLE_INSTANCE_PROVIDER(CMPL_Caller_Provider); CIMPLE_INSTANCE_PROVIDER(CMPL_Callee_Provider); #ifdef CIMPLE_PEGASUS_MODULE CIMPLE_PEGASUS_PROVIDER_ENTRY_POINT; # define __CIMPLE_FOUND_ENTRY_POINT #endif #ifdef CIMPLE_CMPI_MODULE CIMPLE_CMPI_INSTANCE_PROVIDER(CMPL_Caller_Provider); CIMPLE_CMPI_INSTANCE_PROVIDER2(CMPL_Caller_Provider, CMPL_Caller); CIMPLE_CMPI_INSTANCE_PROVIDER(CMPL_Callee_Provider); CIMPLE_CMPI_INSTANCE_PROVIDER2(CMPL_Callee_Provider, CMPL_Callee); # define __CIMPLE_FOUND_ENTRY_POINT #endif #ifdef CIMPLE_OPENWBEM_MODULE CIMPLE_OPENWBEM_PROVIDER(MethodUpcall_Module); # define __CIMPLE_FOUND_ENTRY_POINT #endif #ifdef CIMPLE_WMI_MODULE # include "guid.h" CIMPLE_WMI_PROVIDER_ENTRY_POINTS(CLSID_MethodUpcall_Module) # define __CIMPLE_FOUND_ENTRY_POINT #endif #ifndef __CIMPLE_FOUND_ENTRY_POINT # error "No provider entry point found. Please define one of the following: CIMPLE_PEGASUS_MODULE, CIMPLE_CMPI_MODULE, CIMPLE_OPENWBEM_MODULE, CIMPLE_WMI_MODULE" #endif