GadgetProvider.c

00001 #include <konkret/konkret.h>
00002 #include "Gadget.h"
00003 #include <assert.h>
00004 
00005 static const CMPIBroker* _broker;
00006 
00007 static void GadgetInitialize()
00008 {
00009 }
00010 
00011 CMPIStatus GadgetCleanup( 
00012     CMPIInstanceMI* mi,
00013     const CMPIContext* cc, 
00014     CMPIBoolean term)
00015 {
00016     CMReturn(CMPI_RC_OK);
00017 }
00018 
00019 CMPIStatus GadgetEnumInstanceNames( 
00020     CMPIInstanceMI* mi,
00021     const CMPIContext* cc,
00022     const CMPIResult* result,
00023     const CMPIObjectPath* cop)
00024 {
00025     return KDefaultEnumerateInstanceNames(_broker, mi, cc, result, cop);
00026 }
00027 
00028 CMPIStatus GadgetEnumInstances( 
00029     CMPIInstanceMI* mi,
00030     const CMPIContext* cc, 
00031     const CMPIResult* result, 
00032     const CMPIObjectPath* cop, 
00033     const char** properties) 
00034 {
00035     const char* ns = KNameSpace(cop);
00036     WidgetRef left;
00037     WidgetRef right;
00038     Gadget g;
00039 
00040     /* First Gadget */
00041     {
00042         WidgetRef_Init(&left, _broker, ns);
00043         WidgetRef_Set_Id(&left, "1001");
00044 
00045         WidgetRef_Init(&right, _broker, ns);
00046         WidgetRef_Set_Id(&right, "1002");
00047 
00048         Gadget_Init(&g, _broker, ns);
00049         Gadget_Set_Left(&g, &left);
00050         Gadget_Set_Right(&g, &right);
00051         KReturnInstance(result, g);
00052     } 
00053 
00054     /* Second Gadget */
00055     {
00056         WidgetRef_Init(&left, _broker, ns);
00057         WidgetRef_Set_Id(&left, "1001");
00058 
00059         WidgetRef_Init(&right, _broker, ns);
00060         WidgetRef_Set_Id(&right, "1003");
00061 
00062         Gadget_Init(&g, _broker, ns);
00063         Gadget_Set_Left(&g, &left);
00064         Gadget_Set_Right(&g, &right);
00065         KReturnInstance(result, g);
00066     }
00067 
00068     CMReturn(CMPI_RC_OK);
00069 }
00070 
00071 CMPIStatus GadgetGetInstance( 
00072     CMPIInstanceMI* mi, 
00073     const CMPIContext* cc,
00074     const CMPIResult* result, 
00075     const CMPIObjectPath* cop, 
00076     const char** properties) 
00077 {
00078     return KDefaultGetInstance(_broker, mi, cc, result, cop, properties);
00079 }
00080 
00081 CMPIStatus GadgetCreateInstance( 
00082     CMPIInstanceMI* mi, 
00083     const CMPIContext* cc, 
00084     const CMPIResult* result, 
00085     const CMPIObjectPath* cop, 
00086     const CMPIInstance* ci) 
00087 {
00088     CMReturn(CMPI_RC_ERR_NOT_SUPPORTED);
00089 }
00090 
00091 CMPIStatus GadgetModifyInstance( 
00092     CMPIInstanceMI* mi, 
00093     const CMPIContext* cc, 
00094     const CMPIResult* result, 
00095     const CMPIObjectPath* cop,
00096     const CMPIInstance* ci, 
00097     const char**properties) 
00098 {
00099     CMReturn(CMPI_RC_ERR_NOT_SUPPORTED);
00100 }
00101 
00102 CMPIStatus GadgetDeleteInstance( 
00103     CMPIInstanceMI* mi, 
00104     const CMPIContext* cc, 
00105     const CMPIResult* result, 
00106     const CMPIObjectPath* cop) 
00107 {
00108     CMReturn(CMPI_RC_ERR_NOT_SUPPORTED);
00109 }
00110 
00111 CMPIStatus GadgetExecQuery(
00112     CMPIInstanceMI* mi, 
00113     const CMPIContext* cc, 
00114     const CMPIResult* result, 
00115     const CMPIObjectPath* cop, 
00116     const char* lang, 
00117     const char* query) 
00118 {
00119     CMReturn(CMPI_RC_ERR_NOT_SUPPORTED);
00120 }
00121 
00122 CMPIStatus GadgetAssociationCleanup( 
00123     CMPIAssociationMI* mi,
00124     const CMPIContext* cc, 
00125     CMPIBoolean term) 
00126 {
00127     CMReturn(CMPI_RC_OK);
00128 }
00129 
00130 CMPIStatus GadgetAssociators( 
00131     CMPIAssociationMI* mi,
00132     const CMPIContext* cc,
00133     const CMPIResult* cr,
00134     const CMPIObjectPath* cop,
00135     const char* assocClass,
00136     const char* resultClass,
00137     const char* role,
00138     const char* resultRole,
00139     const char** properties) 
00140 {
00141     if (!assocClass)
00142         assocClass = "KC_Gadget";
00143 
00144     return KDefaultAssociators(_broker, mi, cc, cr, cop, assocClass, 
00145         resultClass, role, resultRole, properties);
00146 }
00147 
00148 CMPIStatus GadgetAssociatorNames( 
00149     CMPIAssociationMI* mi,
00150     const CMPIContext* cc,
00151     const CMPIResult* cr,
00152     const CMPIObjectPath* cop,
00153     const char* assocClass,
00154     const char* resultClass,
00155     const char* role,
00156     const char* resultRole) 
00157 {
00158     if (!assocClass)
00159         assocClass = "KC_Gadget";
00160 
00161     return KDefaultAssociatorNames(
00162         _broker, mi, cc, cr, cop, assocClass, resultClass, role, resultRole);
00163 }
00164 
00165 CMPIStatus GadgetReferences( 
00166     CMPIAssociationMI* mi,
00167     const CMPIContext* cc,
00168     const CMPIResult* cr,
00169     const CMPIObjectPath* cop,
00170     const char* assocClass,
00171     const char* role,
00172     const char** properties) 
00173 {
00174     if (!assocClass)
00175         assocClass = "KC_Gadget";
00176 
00177     return KDefaultReferences(_broker, mi, cc, cr, cop, assocClass, 
00178         role, properties);
00179 }
00180 
00181 CMPIStatus GadgetReferenceNames( 
00182     CMPIAssociationMI* mi,
00183     const CMPIContext* cc,
00184     const CMPIResult* cr,
00185     const CMPIObjectPath* cop,
00186     const char* assocClass,
00187     const char* role) 
00188 {
00189     if (!assocClass)
00190         assocClass = "KC_Gadget";
00191 
00192     return KDefaultReferenceNames(_broker, mi, cc, cr, cop, assocClass, role);
00193 }
00194 
00195 CMInstanceMIStub( 
00196     Gadget,
00197     Gadget,
00198     _broker,
00199     GadgetInitialize())
00200 
00201 CMAssociationMIStub( 
00202     Gadget,
00203     Gadget,
00204     _broker,
00205     GadgetInitialize())

Generated on Fri Jun 6 18:55:04 2008 by  doxygen 1.5.3