# HG changeset patch
# User Jay Gagnon <grendel(a)linux.vnet.ibm.com>
# Date 1195588594 18000
# Node ID 2e1dc075f0a9996bfdd2f437928d261081c1f9d6
# Parent 97e1dd20b2d02b5b542ec830093954f265ae844f
Add get_all_pools to Virt_DevicePool, which gets every pool it can find, per Dan's
suggestion.
Signed-off-by: Jay Gagnon <grendel(a)linux.vnet.ibm.com>
diff -r 97e1dd20b2d0 -r 2e1dc075f0a9 src/Virt_DevicePool.c
--- a/src/Virt_DevicePool.c Tue Nov 20 06:41:27 2007 -0800
+++ b/src/Virt_DevicePool.c Tue Nov 20 14:56:34 2007 -0500
@@ -624,6 +624,28 @@ CMPIInstance *get_pool_by_id(const CMPIB
return inst;
}
+CMPIStatus get_all_pools(const CMPIBroker *broker,
+ virConnectPtr conn,
+ const char *ns,
+ struct inst_list *list)
+{
+ int i;
+ CMPIStatus s = {CMPI_RC_OK};
+
+ for (i = 0; device_pool_names[i]; i++) {
+ s = get_pool_by_type(broker,
+ conn,
+ device_pool_names[i],
+ ns,
+ list);
+ if (s.rc != CMPI_RC_OK)
+ goto out;
+ }
+
+ out:
+ return s;
+}
+
static void __return_pool(const CMPIResult *results,
struct inst_list *list,
bool name_only)
diff -r 97e1dd20b2d0 -r 2e1dc075f0a9 src/Virt_DevicePool.h
--- a/src/Virt_DevicePool.h Tue Nov 20 06:41:27 2007 -0800
+++ b/src/Virt_DevicePool.h Tue Nov 20 14:56:34 2007 -0500
@@ -55,6 +55,18 @@ char *pool_member_of(const CMPIBroker *b
uint16_t type,
const char *id);
+/**
+ * Get all device pools on the system for the given connection
+ *
+ * @param broker The current Broker
+ * @param conn The libvirt connection to use
+ * @param ns Namespace for the pools
+ * @param list Return instances in this struct
+ */
+CMPIStatus get_all_pools(const CMPIBroker *broker,
+ virConnectPtr conn,
+ const char *ns,
+ struct inst_list *list);
#endif
/*