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
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
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())