Add execute mechanism to receiver nodes.
authorAndre Noll <maan@systemlinux.org>
Tue, 26 Jun 2012 22:39:37 +0000 (00:39 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 18 Nov 2012 19:28:28 +0000 (20:28 +0100)
Currently, receiver nodes have not much information to offer which could
be interesting for their child buffer tree nodes. This is about to change
with the introduction of the afh receiver and the para_play executable.
For example, para_play needs to query the number of chunks of the current
audio file from the afh receiver in order to display playback progress.

This patch adds only the new function pointer to struct receiver. The afh
receiver will be the first user of this.

audiod.c
dccp_recv.c
http_recv.c
recv.c
recv.h
recv_common.c
udp_recv.c

index 0370508..791432c 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -16,8 +16,8 @@
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
-#include "recv.h"
 #include "buffer_tree.h"
+#include "recv.h"
 #include "filter.h"
 #include "grab_client.h"
 #include "client.cmdline.h"
index ff9b347..69bc186 100644 (file)
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "string.h"
 #include "net.h"
 #include "fd.h"
-#include "buffer_tree.h"
 
 #include "dccp_recv.cmdline.h"
 
index c19facf..48673af 100644 (file)
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "http_recv.cmdline.h"
 #include "net.h"
 #include "string.h"
 #include "fd.h"
-#include "buffer_tree.h"
 
 /**
  * the possible states of a http receiver node
diff --git a/recv.c b/recv.c
index c021b17..3d5049b 100644 (file)
--- a/recv.c
+++ b/recv.c
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "recv.cmdline.h"
 #include "fd.h"
 #include "string.h"
 #include "error.h"
 #include "stdout.h"
-#include "buffer_tree.h"
 #include "version.h"
 
 /** The gengetopt args info struct. */
diff --git a/recv.h b/recv.h
index c69520e..322ac57 100644 (file)
--- a/recv.h
+++ b/recv.h
@@ -119,6 +119,13 @@ struct receiver {
 
        /** The two help texts of this receiver. */
        struct ggo_help help;
+       /**
+        * Answer a buffer tree query.
+        *
+        * This optional function pointer is used for inter node communications
+        * of the buffer tree nodes. See \ref btr_command_handler for details.
+        */
+       btr_command_handler execute;
 };
 
 /** Define an array of all available receivers. */
index 7d7d2b0..f0321df 100644 (file)
@@ -12,9 +12,9 @@
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "string.h"
-#include "buffer_tree.h"
 
 DEFINE_RECEIVER_ARRAY;
 
index f4912e1..ec188b5 100644 (file)
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "udp_recv.cmdline.h"
 #include "string.h"
 #include "net.h"
 #include "fd.h"
-#include "buffer_tree.h"
 
 static void udp_recv_pre_select(struct sched *s, struct task *t)
 {