![]() ![]() |
![]() |
File: [OMI] / omi / samples / Providers / Connector / Widget.c
(download)
Revision: 1.2, Fri Jun 15 19:51:14 2012 UTC (12 years ago) by mike Branch: MAIN CVS Tags: OMI_1_0_2, OMI_1_0_1 Changes since 1.1: +144 -118 lines OMI 1.0.1 |
/* **============================================================================== ** ** 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. ** **============================================================================== */ /* @migen@ */ #include <stdlib.h> #include <MI.h> #include "Widget.h" void MI_CALL Widget_Load( Widget_Self** self, MI_Module_Self* selfModule, MI_Context* context) { *self = NULL; MI_PostResult(context, MI_RESULT_OK); } void MI_CALL Widget_Unload( Widget_Self* self, MI_Context* context) { MI_PostResult(context, MI_RESULT_OK); } static void SetArray(Widget* widget) { const size_t n = 10; /* *4096; */ MI_Uint32* data = calloc(n, sizeof(MI_Uint32)); size_t i; if (!data) { fprintf(stderr, "calloc() failed\n"); return; } for (i = 0; i < n; i++) { data[i] = (MI_Uint32)i; } Widget_Set_Array(widget, data, n); free(data); } void MI_CALL Widget_EnumerateInstances( Widget_Self* self, MI_Context* context, const MI_Char* nameSpace, const MI_Char* className, const MI_PropertySet* propertySet, MI_Boolean keysOnly, const MI_Filter* filter) { Widget w; /* Widget.SerialNumber=1001 */ Widget_Construct(&w, context); Widget_Set_SerialNumber(&w, 1001); Widget_Set_ModelNumber(&w, 1); Widget_Set_Color(&w, MI_T("Red")); SetArray(&w); Widget_Post(&w, context); Widget_Destruct(&w); /* Widget.SerialNumber=1002 */ Widget_Construct(&w, context); Widget_Set_SerialNumber(&w, 1002); Widget_Set_ModelNumber(&w, 2); Widget_Set_Color(&w, MI_T("Blue")); SetArray(&w); Widget_Post(&w, context); Widget_Destruct(&w); MI_PostResult(context, MI_RESULT_OK); } void MI_CALL Widget_GetInstance( Widget_Self* self, MI_Context* context, const MI_Char* nameSpace, const MI_Char* className, const Widget* instanceName, const MI_PropertySet* propertySet) { Widget w; /* Widget.SerialNumber=1001 */ if (instanceName->SerialNumber.value == 1001) { Widget_Construct(&w, context); Widget_Set_SerialNumber(&w, 1001); Widget_Set_ModelNumber(&w, 1); Widget_Set_Color(&w, MI_T("Red")); Widget_Post(&w, context); Widget_Destruct(&w); MI_PostResult(context, MI_RESULT_OK); return; } /* Widget.SerialNumber=1002 */ if (instanceName->SerialNumber.value == 1002) { Widget_Construct(&w, context); Widget_Set_SerialNumber(&w, 1002); Widget_Set_ModelNumber(&w, 2); Widget_Set_Color(&w, MI_T("Blue")); Widget_Post(&w, context); Widget_Destruct(&w); MI_PostResult(context, MI_RESULT_OK); return; } MI_PostResult(context, MI_RESULT_NOT_FOUND); } void MI_CALL Widget_CreateInstance( Widget_Self* self, MI_Context* context, const MI_Char* nameSpace, const MI_Char* className, const Widget* newInstance) { MI_PostResult(context, MI_RESULT_NOT_SUPPORTED); } void MI_CALL Widget_ModifyInstance( Widget_Self* self, MI_Context* context, const MI_Char* nameSpace, const MI_Char* className, const Widget* modifiedInstance, const MI_PropertySet* propertySet) { MI_PostResult(context, MI_RESULT_NOT_SUPPORTED); } void MI_CALL Widget_DeleteInstance( Widget_Self* self, MI_Context* context, const MI_Char* nameSpace, const MI_Char* className, const Widget* instanceName) { MI_PostResult(context, MI_RESULT_NOT_SUPPORTED); }
ViewCVS 0.9.2 |