From 2b968faef61f3506b44e27d5e92da5b5ec4a6003 Mon Sep 17 00:00:00 2001 From: Peter Schiffer Date: Thu, 19 Jun 2014 14:27:09 +0200 Subject: software-dbus: use is_elem_name_installed() in InstalledSWProvider Use is_elem_name_installed() function in associators and references method of LMI_InstalledSoftwareIdentityProvider instead of manually checking it. --- .../LMI_InstalledSoftwareIdentityProvider.c | 32 ++++++---------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/src/software-dbus/LMI_InstalledSoftwareIdentityProvider.c b/src/software-dbus/LMI_InstalledSoftwareIdentityProvider.c index 823ac1c..1f61471 100644 --- a/src/software-dbus/LMI_InstalledSoftwareIdentityProvider.c +++ b/src/software-dbus/LMI_InstalledSoftwareIdentityProvider.c @@ -230,10 +230,7 @@ static CMPIStatus associators( } } else if (CMClassPathIsA(_cb, cop, LMI_SoftwareIdentity_ClassName, &st)) { /* got SoftwareIdentity - InstalledSoftware */ - PkPackage *pk_pkg = NULL; - SwPackage sw_pkg; - - init_sw_package(&sw_pkg); + const char *elem_name; st = lmi_class_path_is_a(_cb, KNameSpace(cop), computer_system_name, resultClass); @@ -247,16 +244,11 @@ static CMPIStatus associators( } /* Is this SwIdentity installed? */ - if (get_sw_pkg_from_sw_identity_op(cop, &sw_pkg) != 0) { - goto done; - } - get_pk_pkg_from_sw_pkg(&sw_pkg, - pk_bitfield_value(PK_FILTER_ENUM_INSTALLED), &pk_pkg); - free_sw_package(&sw_pkg); - if (!pk_pkg) { + elem_name = get_elem_name_from_instance_id( + lmi_get_string_property_from_objectpath(cop, "InstanceID")); + if (!is_elem_name_installed(elem_name)) { goto done; } - g_object_unref(pk_pkg); if (names) { CMReturnObjectPath(cr, lmi_get_computer_system()); @@ -330,26 +322,18 @@ static CMPIStatus references( return enum_instances(cr, KNameSpace(cop), names); } else if (CMClassPathIsA(_cb, cop, LMI_SoftwareIdentity_ClassName, &st)) { /* got SoftwareIdentity - InstalledSoftware */ - PkPackage *pk_pkg = NULL; - SwPackage sw_pkg; - - init_sw_package(&sw_pkg); + const char *elem_name; if (role && strcmp(role, LMI_INSTALLED_SOFTWARE) != 0) { goto done; } /* Is this SwIdentity installed? */ - if (get_sw_pkg_from_sw_identity_op(cop, &sw_pkg) != 0) { - goto done; - } - get_pk_pkg_from_sw_pkg(&sw_pkg, - pk_bitfield_value(PK_FILTER_ENUM_INSTALLED), &pk_pkg); - free_sw_package(&sw_pkg); - if (!pk_pkg) { + elem_name = get_elem_name_from_instance_id( + lmi_get_string_property_from_objectpath(cop, "InstanceID")); + if (!is_elem_name_installed(elem_name)) { goto done; } - g_object_unref(pk_pkg); LMI_SoftwareIdentityRef si; LMI_SoftwareIdentityRef_InitFromObjectPath(&si, _cb, cop); -- cgit