[discover client] Add device accessors
authorJeremy Kerr <jk@ozlabs.org>
Sun, 1 Feb 2009 05:22:03 +0000 (16:22 +1100)
committerJeremy Kerr <jk@ozlabs.org>
Sun, 1 Feb 2009 05:22:03 +0000 (16:22 +1100)
Allow the UIs to query the current device set.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
ui/common/discover-client.c
ui/common/discover-client.h

index 47c57cb11bc69d49e69467cbe0b259e8c07069c5..7c2e27daa777a4ddbb8cb4e4063b090c70e8cc52 100644 (file)
@@ -156,3 +156,18 @@ int discover_client_process(struct discover_client *client)
 
        return 0;
 }
+
+/* accessors for discovered devices */
+int discover_client_device_count(struct discover_client *client)
+{
+       return client->n_devices;
+}
+
+struct device *discover_client_get_device(struct discover_client *client,
+               int index)
+{
+       if (index < 0 || index >= client->n_devices)
+               return NULL;
+
+       return client->devices[index];
+}
index 6fc964de8a375faab1f058817597a678ef3436cf..719f72ab15e6d99dd00b26aedd4223c50c8724a2 100644 (file)
@@ -34,4 +34,21 @@ void discover_client_destroy(struct discover_client *client);
  */
 int discover_client_process(struct discover_client *client);
 
+/**
+ * Get the number of devices that the discover client has stored. This
+ * is the set of devices that have been added and not removed
+ *
+ * @param client The discover client
+ * @return      The number of devices that have been added.
+ */
+int discover_client_device_count(struct discover_client *client);
+
+/**
+ * Get the device at a specific index.
+ * @param client A pointer to the discover client
+ * @param index  The index of the device to retrieve
+ * @return      The device at the specified index, or NULL if none exists
+ */
+struct device *discover_client_get_device(struct discover_client *client,
+               int index);
 #endif