# HG changeset patch
# User Jay Gagnon <grendel(a)linux.vnet.ibm.com>
# Date 1203959116 18000
# Node ID d424467c183864fcf2c308ebe02e81f2f208e9b5
# Parent ad33899f5782b926070a0290ec8622fe164b5a27
[CU] classname_from_inst
Function that pulls a classname out of an instance. Nothing fancy, just saves a few lines
whenever this is needed. This is used by the new std_indication stuff.
Signed-off-by: Jay Gagnon <grendel(a)linux.vnet.ibm.com>
diff -r ad33899f5782 -r d424467c1838 instance_util.c
--- a/instance_util.c Mon Feb 25 12:05:15 2008 -0500
+++ b/instance_util.c Mon Feb 25 12:05:16 2008 -0500
@@ -251,6 +251,21 @@ CMPIInstance *cu_dup_instance(const CMPI
out:
return dest;
+}
+
+const char *classname_from_inst(CMPIInstance *inst)
+{
+ char *ret = NULL;
+
+ CMPIObjectPath *ref;
+ ref = CMGetObjectPath(inst, NULL);
+ if (CMIsNullObject(ref))
+ goto out;
+
+ ret = CLASSNAME(ref);
+
+ out:
+ return ret;
}
/*
diff -r ad33899f5782 -r d424467c1838 libcmpiutil.h
--- a/libcmpiutil.h Mon Feb 25 12:05:15 2008 -0500
+++ b/libcmpiutil.h Mon Feb 25 12:05:16 2008 -0500
@@ -414,6 +414,15 @@ CMPIStatus cu_validate_ref(const CMPIBro
CMPIStatus cu_validate_ref(const CMPIBroker *broker,
const CMPIObjectPath *ref,
const CMPIInstance *inst);
+
+/**
+ * Returns the classname from an instance without forcing user to get
+ * ObjectPath first.
+ *
+ * @param inst Instance to examine
+ * @returns Classname of instance , NULL on failure
+ */
+const char *classname_from_inst(CMPIInstance *inst);
#define DEFAULT_EIN(pn) \
static CMPIStatus pn##EnumInstanceNames(CMPIInstanceMI *self, \