aboutsummaryrefslogtreecommitdiff
path: root/src/sensordashboard
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-07-03 14:06:02 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-07-03 14:06:02 +0000
commite68aa2bf46213e33bf1bc07a335df8aeb5ac01c3 (patch)
tree7935770db2280f5b3c95b4d081e67f2a06dd2a6d /src/sensordashboard
parentdc09ce9982904298e0ef97c91f7bf9218f1b0046 (diff)
downloadgnunet-e68aa2bf46213e33bf1bc07a335df8aeb5ac01c3.tar.gz
gnunet-e68aa2bf46213e33bf1bc07a335df8aeb5ac01c3.zip
moved common sensor functionality to a util lib
Diffstat (limited to 'src/sensordashboard')
-rw-r--r--src/sensordashboard/Makefile.am3
-rw-r--r--src/sensordashboard/gnunet-service-sensordashboard.c29
2 files changed, 31 insertions, 1 deletions
diff --git a/src/sensordashboard/Makefile.am b/src/sensordashboard/Makefile.am
index 419486ff4..d54da840b 100644
--- a/src/sensordashboard/Makefile.am
+++ b/src/sensordashboard/Makefile.am
@@ -22,7 +22,7 @@ libexec_PROGRAMS = \
22 gnunet-service-sensordashboard 22 gnunet-service-sensordashboard
23 23
24gnunet_sensordashboard_SOURCES = \ 24gnunet_sensordashboard_SOURCES = \
25 gnunet-sensordashboard.c 25 gnunet-sensordashboard.c
26gnunet_sensordashboard_LDADD = \ 26gnunet_sensordashboard_LDADD = \
27 $(top_builddir)/src/util/libgnunetutil.la \ 27 $(top_builddir)/src/util/libgnunetutil.la \
28 $(GN_LIBINTL) 28 $(GN_LIBINTL)
@@ -32,6 +32,7 @@ gnunet_service_sensordashboard_SOURCES = \
32gnunet_service_sensordashboard_LDADD = \ 32gnunet_service_sensordashboard_LDADD = \
33 $(top_builddir)/src/util/libgnunetutil.la \ 33 $(top_builddir)/src/util/libgnunetutil.la \
34 $(top_builddir)/src/cadet/libgnunetcadet.la \ 34 $(top_builddir)/src/cadet/libgnunetcadet.la \
35 $(top_builddir)/src/sensor/libgnunetsensorutil.la \
35 $(GN_LIBINTL) 36 $(GN_LIBINTL)
36 37
37 38
diff --git a/src/sensordashboard/gnunet-service-sensordashboard.c b/src/sensordashboard/gnunet-service-sensordashboard.c
index 5f451844e..91c7e98f5 100644
--- a/src/sensordashboard/gnunet-service-sensordashboard.c
+++ b/src/sensordashboard/gnunet-service-sensordashboard.c
@@ -28,9 +28,15 @@
28#include "gnunet_applications.h" 28#include "gnunet_applications.h"
29#include "sensordashboard.h" 29#include "sensordashboard.h"
30#include "gnunet_cadet_service.h" 30#include "gnunet_cadet_service.h"
31#include "gnunet_sensor_util_lib.h"
31 32
33/**
34 * Handle to CADET service
35 */
32static struct GNUNET_CADET_Handle *cadet; 36static struct GNUNET_CADET_Handle *cadet;
33 37
38static struct GNUNET_CONTAINER_MultiHashMap *sensors;
39
34/** 40/**
35 * Task run during shutdown. 41 * Task run during shutdown.
36 * 42 *
@@ -96,6 +102,26 @@ static void *cadet_channel_created (void *cls,
96} 102}
97 103
98/** 104/**
105 * Called with any sensor reading messages received from CADET.
106 *
107 * Each time the function must call #GNUNET_CADET_receive_done on the channel
108 * in order to receive the next message. This doesn't need to be immediate:
109 * can be delayed if some processing is done on the message.
110 *
111 * @param cls Closure (set from #GNUNET_CADET_connect).
112 * @param channel Connection to the other end.
113 * @param channel_ctx Place to store local state associated with the channel.
114 * @param message The actual message.
115 * @return #GNUNET_OK to keep the channel open,
116 * #GNUNET_SYSERR to close it (signal serious error).
117 */
118int sensor_reading_receiver (void *cls, struct GNUNET_CADET_Channel *channel,
119 void **channel_ctx, const struct GNUNET_MessageHeader *message)
120{
121
122}
123
124/**
99 * Process sensordashboard requests. 125 * Process sensordashboard requests.
100 * 126 *
101 * @param cls closure 127 * @param cls closure
@@ -110,12 +136,15 @@ run (void *cls, struct GNUNET_SERVER_Handle *server,
110 {NULL, NULL, 0, 0} 136 {NULL, NULL, 0, 0}
111 }; 137 };
112 static struct GNUNET_CADET_MessageHandler cadet_handlers[] = { 138 static struct GNUNET_CADET_MessageHandler cadet_handlers[] = {
139 {&sensor_reading_receiver, GNUNET_MESSAGE_TYPE_SENSOR_READING, 0},
113 {NULL, 0, 0} 140 {NULL, 0, 0}
114 }; 141 };
115 static uint32_t cadet_ports[] = { 142 static uint32_t cadet_ports[] = {
116 GNUNET_APPLICATION_TYPE_SENSORDASHBOARD, 143 GNUNET_APPLICATION_TYPE_SENSORDASHBOARD,
117 GNUNET_APPLICATION_TYPE_END 144 GNUNET_APPLICATION_TYPE_END
118 }; 145 };
146 sensors = GNUNET_SENSOR_load_all_sensors ();
147 GNUNET_assert (NULL != sensors);
119 cadet = GNUNET_CADET_connect(cfg, 148 cadet = GNUNET_CADET_connect(cfg,
120 NULL, 149 NULL,
121 &cadet_channel_created, 150 &cadet_channel_created,