diff options
author | Radek Novacek <rnovacek@redhat.com> | 2012-07-27 09:36:49 +0200 |
---|---|---|
committer | Radek Novacek <rnovacek@redhat.com> | 2012-07-27 09:36:49 +0200 |
commit | 91821cba81c92e9a204fb3d9637d3fe5dbfd73c0 (patch) | |
tree | 12e1080a415bd17c394ccef9a5ee7a1c8d9aeef7 /src/power | |
parent | 171113535983029ab395341c8f8f3c92f320ea1a (diff) | |
download | openlmi-providers-91821cba81c92e9a204fb3d9637d3fe5dbfd73c0.tar.gz openlmi-providers-91821cba81c92e9a204fb3d9637d3fe5dbfd73c0.tar.xz openlmi-providers-91821cba81c92e9a204fb3d9637d3fe5dbfd73c0.zip |
power: fix finding Linux_ComputerSystem in references
Diffstat (limited to 'src/power')
-rw-r--r-- | src/power/Linux_AssociatedPowerManagementServiceProvider.c | 13 | ||||
-rw-r--r-- | src/power/Linux_HostedServiceProvider.c | 43 |
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); |