/* **============================================================================== ** ** Open Management Infrastructure (OMI) ** ** Copyright (c) Microsoft Corporation ** ** Licensed under the Apache License, Version 2.0 (the "License"); you may not ** use this file except in compliance with the License. You may obtain a copy ** of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED ** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, ** MERCHANTABLITY OR NON-INFRINGEMENT. ** ** See the Apache 2 License for the specific language governing permissions ** and limitations under the License. ** **============================================================================== */ //============================================================================== // // stubs.h - templates for generating 'stubs.cpp'. // //============================================================================== #ifndef _migen_cxxstubs_t_h #define _migen_cxxstubs_t_h //============================================================================== // // COMMON_PROVIDER_STUBS_CPP // //============================================================================== #define COMMON_PROVIDER_STUBS_CPP "\ MI_EXTERN_C void MI_CALL _Load(\n\ _Self** self,\n\ MI_Module_Self* selfModule,\n\ MI_Context* context)\n\ {\n\ MI_Result r = MI_RESULT_OK;\n\ Context ctx(context, &r);\n\ _Class_Provider* prov = new _Class_Provider((Module*)selfModule);\n\ \n\ prov->Load(ctx);\n\ if (MI_RESULT_OK != r)\n\ {\n\ delete prov;\n\ MI_PostResult(context, r);\n\ return;\n\ }\n\ *self = (_Self*)prov;\n\ MI_PostResult(context, MI_RESULT_OK);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _Unload(\n\ _Self* self,\n\ MI_Context* context)\n\ {\n\ MI_Result r = MI_RESULT_OK;\n\ Context ctx(context, &r);\n\ _Class_Provider* prov = (_Class_Provider*)self;\n\ \n\ prov->Unload(ctx);\n\ delete ((_Class_Provider*)self);\n\ MI_PostResult(context, r);\n\ }\n\ \n" //============================================================================== // // INSTANCE_PROVIDER_STUBS_CPP // //============================================================================== #define INSTANCE_PROVIDER_STUBS_CPP COMMON_PROVIDER_STUBS_CPP "\ MI_EXTERN_C void MI_CALL _EnumerateInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->EnumerateInstances(\n\ cxxContext,\n\ nameSpace,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _GetInstance(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const * instanceName,\n\ const MI_PropertySet* propertySet)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ _Class cxxInstanceName(instanceName, true);\n\ \n\ cxxSelf->GetInstance(\n\ cxxContext,\n\ nameSpace,\n\ cxxInstanceName,\n\ __PropertySet(propertySet));\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _CreateInstance(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const * newInstance)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ _Class cxxNewInstance(newInstance, false);\n\ \n\ cxxSelf->CreateInstance(cxxContext, nameSpace, cxxNewInstance);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _ModifyInstance(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const * modifiedInstance,\n\ const MI_PropertySet* propertySet)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ _Class cxxModifiedInstance(modifiedInstance, false);\n\ \n\ cxxSelf->ModifyInstance(\n\ cxxContext,\n\ nameSpace,\n\ cxxModifiedInstance,\n\ __PropertySet(propertySet));\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _DeleteInstance(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const * instanceName)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ _Class cxxInstanceName(instanceName, true);\n\ \n\ cxxSelf->DeleteInstance(cxxContext, nameSpace, cxxInstanceName);\n\ }\n\ \n" //============================================================================== // // ASSOCIATION_PROVIDER_STUBS_CPP // //============================================================================== #define ASSOCIATION_PROVIDER_STUBS_CPP INSTANCE_PROVIDER_STUBS_CPP "\ MI_EXTERN_C void MI_CALL _AssociatorInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const MI_Instance* instanceName,\n\ const MI_Char* resultClass,\n\ const MI_Char* role,\n\ const MI_Char* resultRole,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->AssociatorInstances(\n\ cxxContext, \n\ nameSpace,\n\ instanceName, \n\ resultClass,\n\ role,\n\ resultRole,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _ReferenceInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* resultClass,\n\ const MI_Instance* instanceName,\n\ const MI_Char* role,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->ReferenceInstances(\n\ cxxContext,\n\ nameSpace,\n\ instanceName,\n\ role,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n" #define ASSOCIATION_PROVIDER_STUBS_CPP_ROLES INSTANCE_PROVIDER_STUBS_CPP "\ MI_EXTERN_C void MI_CALL _AssociatorInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const * instanceName,\n\ const MI_Char* resultClass,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ _Class cxxInstanceName(instanceName, true);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->AssociatorInstances(\n\ cxxContext, \n\ nameSpace,\n\ cxxInstanceName,\n\ resultClass,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _AssociatorInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const * instanceName,\n\ const MI_Char* resultClass,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ _Class cxxInstanceName(instanceName, true);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->AssociatorInstances(\n\ cxxContext,\n\ nameSpace,\n\ cxxInstanceName,\n\ resultClass,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _ReferenceInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* resultClass,\n\ const * instanceName,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ _Class cxxInstanceName(instanceName, true);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->ReferenceInstances(\n\ cxxContext,\n\ nameSpace,\n\ cxxInstanceName,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _ReferenceInstances(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* resultClass,\n\ const * instanceName,\n\ const MI_PropertySet* propertySet,\n\ MI_Boolean keysOnly,\n\ const MI_Filter* filter)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ _Class cxxInstanceName(instanceName, true);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->ReferenceInstances(\n\ cxxContext,\n\ nameSpace,\n\ cxxInstanceName,\n\ __PropertySet(propertySet),\n\ __bool(keysOnly),\n\ filter);\n\ }\n\ \n" //============================================================================== // // INDICATION_PROVIDER_STUBS_CPP // //============================================================================== #define INDICATION_PROVIDER_STUBS_CPP COMMON_PROVIDER_STUBS_CPP "\ MI_EXTERN_C void MI_CALL _EnableIndications(\n\ _Self* self,\n\ MI_Context* indicationsContext,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ \n\ cxxSelf->SetIndicationContext(indicationsContext);\n\ cxxSelf->EnableIndications();\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _DisableIndications(\n\ _Self* self,\n\ MI_Context* indicationsContext,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ \n\ cxxSelf->DisableIndications();\n\ cxxSelf->SetIndicationContext(0);\n\ \n\ MI_PostResult(indicationsContext, MI_RESULT_OK);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _Subscribe(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const MI_Filter* filter,\n\ const MI_Char* bookmark,\n\ MI_Uint64 subscriptionID,\n\ void** subscriptionSelf)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->Subscribe(\n\ cxxContext,\n\ nameSpace,\n\ filter,\n\ bookmark,\n\ subscriptionID,\n\ subscriptionSelf);\n\ }\n\ \n\ MI_EXTERN_C void MI_CALL _Unsubscribe(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ MI_Uint64 subscriptionID,\n\ void* subscriptionSelf)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ Context cxxContext(context);\n\ \n\ cxxSelf->Unsubscribe(\n\ cxxContext,\n\ nameSpace,\n\ subscriptionID,\n\ subscriptionSelf);\n\ }\n\ \n" //============================================================================== // // EXTRINSIC_METHOD_STUB_CPP // //============================================================================== #define EXTRINSIC_METHOD_STUB_CPP "\ MI_EXTERN_C void MI_CALL _Invoke_(\n\ _Self* self,\n\ MI_Context* context,\n\ const MI_Char* nameSpace,\n\ const MI_Char* className,\n\ const MI_Char* methodName,\n\ const * instanceName,\n\ const _* in)\n\ {\n\ _Class_Provider* cxxSelf =((_Class_Provider*)self);\n\ _Class instance(instanceName, false);\n\ Context cxxContext(context);\n\ __Class param(in, false);\n\ \n\ cxxSelf->Invoke_(cxxContext, nameSpace, instance, param);\n\ }\n\ \n" #endif /* _migen_cxxstubs_t_h */