summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Schiffer <pschiffe@redhat.com>2014-06-19 14:27:09 +0200
committerPeter Schiffer <pschiffe@redhat.com>2014-06-20 13:03:37 +0200
commit2b968faef61f3506b44e27d5e92da5b5ec4a6003 (patch)
tree38226a183ec78775b57e866d6219d3986da8bd3d
parent40fcb8c32d92f8ee998f17b867b88acad5ad42cb (diff)
downloadopenlmi-providers-2b968faef61f3506b44e27d5e92da5b5ec4a6003.tar.gz
openlmi-providers-2b968faef61f3506b44e27d5e92da5b5ec4a6003.tar.xz
openlmi-providers-2b968faef61f3506b44e27d5e92da5b5ec4a6003.zip
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.
-rw-r--r--src/software-dbus/LMI_InstalledSoftwareIdentityProvider.c32
1 files 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);