summaryrefslogtreecommitdiffstats
path: root/node.c
diff options
context:
space:
mode:
authorManuel Bachmann <manuel.bachmann@iot.bzh>2016-07-08 16:31:01 +0200
committerYannick Gicquel <yannick.gicquel@iot.bzh>2016-10-11 17:09:07 +0200
commit2de141b9a3145a4a8edf2e310adfa8d425637e53 (patch)
tree9ecf1291300fdc2a1a2915e3ce18a6b5c6a15181 /node.c
parentcc70e0ae30920ca835bf011f8040afb6fea43f45 (diff)
Implement JSON configuration file
A JSON configuration file can now be read as "/etc/ pulseaudio-agl.cfg", and a sample one is provided by the package. If it exists and is valid, it will override the default configuration. As a result, the module now depends on json-c. Change-Id: I3f5deccc6f9b89cbd54bea7004271b8aec727538 Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
Diffstat (limited to 'node.c')
-rw-r--r--node.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/node.c b/node.c
index c85d512..c46f842 100644
--- a/node.c
+++ b/node.c
@@ -23,6 +23,8 @@
#include "router.h"
#include <pulsecore/idxset.h>
+#include <pulsecore/core-util.h>
+#include <pulsecore/pulsecore-config.h>
agl_nodeset *agl_nodeset_init (struct userdata *u)
{
@@ -146,6 +148,39 @@ void agl_node_destroy (struct userdata *u, agl_node *node)
pa_xfree (node);
}
+
+agl_node_type agl_node_type_from_str (const char *str)
+{
+ agl_node_type type;
+
+ pa_assert (str);
+
+ if (pa_streq (str, "agl_radio"))
+ type = agl_radio;
+ else if (pa_streq (str, "agl_music"))
+ type = agl_player;
+ else if (pa_streq (str, "agl_navigator"))
+ type = agl_navigator;
+ else if (pa_streq (str, "agl_game"))
+ type = agl_game;
+ else if (pa_streq (str, "agl_browser"))
+ type = agl_browser;
+ else if (pa_streq (str, "agl_camera"))
+ type = agl_camera;
+ else if (pa_streq (str, "agl_phone"))
+ type = agl_phone;
+ else if (pa_streq (str, "agl_alert"))
+ type = agl_alert;
+ else if (pa_streq (str, "agl_event"))
+ type = agl_event;
+ else if (pa_streq (str, "agl_system"))
+ type = agl_system;
+ else
+ type = agl_node_type_unknown;
+
+ return type;
+}
+
const char *agl_node_type_str (agl_node_type type)
{
switch (type) {