]> code.delx.au - pulseaudio/commitdiff
modargs: New function: pa_modargs_iterate().
authorTanu Kaskinen <tanuk@iki.fi>
Mon, 24 Aug 2009 11:24:59 +0000 (14:24 +0300)
committerTanu Kaskinen <tanuk@iki.fi>
Mon, 24 Aug 2009 11:24:59 +0000 (14:24 +0300)
src/pulsecore/modargs.c
src/pulsecore/modargs.h

index c7d734d946c5e00223d9f1a8b98d0cc1723dc765..e78cdb9a8ca425f842d62389aaae3c88d9e1a6c6 100644 (file)
@@ -415,3 +415,13 @@ int pa_modargs_get_proplist(pa_modargs *ma, const char *name, pa_proplist *p, pa
 
     return 0;
 }
+
+const char *pa_modargs_iterate(pa_modargs *ma, void **state) {
+    pa_hashmap *map = (pa_hashmap*) ma;
+    struct entry *e;
+
+    if (!(e = pa_hashmap_iterate(map, state, NULL)))
+        return NULL;
+
+    return e->key;
+}
index b3125b10b4cc153b3fd378526925e014d46cc3ad..1ed66e9a537d3388786ae99c2d9284c64c768a8c 100644 (file)
@@ -60,4 +60,13 @@ int pa_modargs_get_sample_spec_and_channel_map(pa_modargs *ma, pa_sample_spec *s
 
 int pa_modargs_get_proplist(pa_modargs *ma, const char *name, pa_proplist *p, pa_update_mode_t m);
 
+/* Iterate through the module argument list. The user should allocate a
+ * state variable of type void* and initialize it with NULL. A pointer
+ * to this variable should then be passed to pa_modargs_iterate()
+ * which should be called in a loop until it returns NULL which
+ * signifies EOL. On each invication this function will return the
+ * key string for the next entry. The keys in the argument list do not
+ * have any particular order. */
+const char *pa_modargs_iterate(pa_modargs *ma, void **state);
+
 #endif