summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRadek Novacek <rnovacek@redhat.com>2012-07-27 09:36:49 +0200
committerRadek Novacek <rnovacek@redhat.com>2012-07-27 09:36:49 +0200
commit91821cba81c92e9a204fb3d9637d3fe5dbfd73c0 (patch)
tree12e1080a415bd17c394ccef9a5ee7a1c8d9aeef7 /src
parent171113535983029ab395341c8f8f3c92f320ea1a (diff)
downloadopenlmi-providers-91821cba81c92e9a204fb3d9637d3fe5dbfd73c0.tar.gz
openlmi-providers-91821cba81c92e9a204fb3d9637d3fe5dbfd73c0.tar.xz
openlmi-providers-91821cba81c92e9a204fb3d9637d3fe5dbfd73c0.zip
power: fix finding Linux_ComputerSystem in references
Diffstat (limited to 'src')
-rw-r--r--src/power/Linux_AssociatedPowerManagementServiceProvider.c13
-rw-r--r--src/power/Linux_HostedServiceProvider.c43
2 files changed, 16 insertions, 40 deletions
diff --git a/src/power/Linux_AssociatedPowerManagementServiceProvider.c b/src/power/Linux_AssociatedPowerManagementServiceProvider.c
index 75be7d2..8013d80 100644
--- a/src/power/Linux_AssociatedPowerManagementServiceProvider.c
+++ b/src/power/Linux_AssociatedPowerManagementServiceProvider.c
@@ -46,16 +46,19 @@ static CMPIStatus Linux_AssociatedPowerManagementServiceEnumInstances(
const CMPIObjectPath* cop,
const char** properties)
{
+ CMPIStatus rc;
const char *ns = KNameSpace(cop);
Linux_AssociatedPowerManagementService w;
Linux_AssociatedPowerManagementService_Init(&w, _cb, ns);
- Linux_ComputerSystemRef computerSystemRef;
- Linux_ComputerSystemRef_Init(&computerSystemRef, _cb, ns);
- Linux_ComputerSystemRef_Set_Name(&computerSystemRef, get_system_name());
- Linux_ComputerSystemRef_Set_CreationClassName(&computerSystemRef, "Linux_ComputerSystem");
- Linux_AssociatedPowerManagementService_Set_UserOfService(&w, &computerSystemRef);
+ CIM_ComputerSystemRef computerSystemRef;
+ CIM_ComputerSystemRef_Init(&computerSystemRef, _cb, ns);
+ CIM_ComputerSystemRef_Set_Name(&computerSystemRef, get_system_name());
+ CIM_ComputerSystemRef_Set_CreationClassName(&computerSystemRef, get_system_creationg_class_name());
+ CMPIObjectPath *computerSystemOP = CIM_ComputerSystemRef_ToObjectPath(&computerSystemRef, &rc);
+ computerSystemOP->ft->setClassName(computerSystemOP, get_system_creationg_class_name());
+ Linux_AssociatedPowerManagementService_SetObjectPath_UserOfService(&w, computerSystemOP);
Linux_PowerManagementServiceRef powerManagementServiceRef;
Linux_PowerManagementServiceRef_Init(&powerManagementServiceRef, _cb, ns);
diff --git a/src/power/Linux_HostedServiceProvider.c b/src/power/Linux_HostedServiceProvider.c
index cbfd55d..7aa1762 100644
--- a/src/power/Linux_HostedServiceProvider.c
+++ b/src/power/Linux_HostedServiceProvider.c
@@ -37,46 +37,19 @@ static CMPIStatus Linux_HostedServiceEnumInstances(
const CMPIObjectPath* cop,
const char** properties)
{
+ CMPIStatus rc;
const char *ns = KNameSpace(cop);
Linux_HostedService w;
Linux_HostedService_Init(&w, _cb, ns);
- /*
- * TODO: Find instance dynamically based on Name property
- */
- /*
- CMPIObjectPath *computerSystemOP = CMNewObjectPath(_cb, ns, "CIM_ComputerSystem", &rc);
- CMPIEnumeration *en = CBEnumInstanceNames(_cb, cc, computerSystemOP, &rc);
- while (CMHasNext(en, &rc)) {
- data = CMGetNext(en, &rc);
- if (data.type != CMPI_ref) {
- TRACE(1, "Not a reference\n");
- continue;
- }
- fprintf(stderr, "object: %s\n", CMGetCharsPtr(CMObjectPathToString(data.value.ref, &rc), &rc));
-
- name = data.value.ref->ft->getKey(data.value.ref, "Name", &rc);
- if (name.type != CMPI_string) {
- fprintf(stderr, "Non-string name %d\n", name.type);
- continue;
- }
- if (rc.rc != CMPI_RC_OK) return rc;
-
- fprintf(stderr, "Name: %s\n", CMGetCharsPtr(name.value.string, &rc));
- if (strcmp(CMGetCharsPtr(name.value.string, &rc), get_system_name()) == 0) {
- TRACE(1, "Found\n");
- CIM_ComputerSystemRef_InitFromObjectPath(&computerSystemRef, _cb, data.value.ref);
- break;
- }
- }
- */
-
- Linux_ComputerSystemRef computerSystemRef;
- Linux_ComputerSystemRef_Init(&computerSystemRef, _cb, ns);
- Linux_ComputerSystemRef_Set_Name(&computerSystemRef, get_system_name());
- Linux_ComputerSystemRef_Set_CreationClassName(&computerSystemRef, "Linux_ComputerSystem");
- Linux_HostedService_Set_Antecedent(&w, &computerSystemRef);
+ CIM_ComputerSystemRef computerSystemRef;
+ CIM_ComputerSystemRef_Init(&computerSystemRef, _cb, ns);
+ CIM_ComputerSystemRef_Set_Name(&computerSystemRef, get_system_name());
+ CIM_ComputerSystemRef_Set_CreationClassName(&computerSystemRef, get_system_creationg_class_name());
+ CMPIObjectPath *computerSystemOP = CIM_ComputerSystemRef_ToObjectPath(&computerSystemRef, &rc);
+ computerSystemOP->ft->setClassName(computerSystemOP, get_system_creationg_class_name());
+ Linux_HostedService_SetObjectPath_Antecedent(&w, computerSystemOP);
Linux_PowerManagementServiceRef powerManagementServiceRef;
Linux_PowerManagementServiceRef_Init(&powerManagementServiceRef, _cb, ns);