diff options
author | Omar Tarabai <tarabai@devegypt.com> | 2014-07-07 14:47:37 +0000 |
---|---|---|
committer | Omar Tarabai <tarabai@devegypt.com> | 2014-07-07 14:47:37 +0000 |
commit | b605cb978095810dc6de4a9fa85fba6d0009f97d (patch) | |
tree | 0d401a9e63059600cedbd9893d4c0da4bbb68dd9 /src/sensordashboard | |
parent | f62cd2e434495d6426288a4ead56454a878815fa (diff) | |
download | gnunet-b605cb978095810dc6de4a9fa85fba6d0009f97d.tar.gz gnunet-b605cb978095810dc6de4a9fa85fba6d0009f97d.zip |
sensordashboard: received data stored in peerstore
Diffstat (limited to 'src/sensordashboard')
-rw-r--r-- | src/sensordashboard/Makefile.am | 1 | ||||
-rw-r--r-- | src/sensordashboard/gnunet-service-sensordashboard.c | 32 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/sensordashboard/Makefile.am b/src/sensordashboard/Makefile.am index d54da840b..959084fae 100644 --- a/src/sensordashboard/Makefile.am +++ b/src/sensordashboard/Makefile.am | |||
@@ -33,6 +33,7 @@ gnunet_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 | $(top_builddir)/src/sensor/libgnunetsensorutil.la \ |
36 | $(top_builddir)/src/peerstore/libgnunetpeerstore.la \ | ||
36 | $(GN_LIBINTL) | 37 | $(GN_LIBINTL) |
37 | 38 | ||
38 | 39 | ||
diff --git a/src/sensordashboard/gnunet-service-sensordashboard.c b/src/sensordashboard/gnunet-service-sensordashboard.c index 841268762..19acec4da 100644 --- a/src/sensordashboard/gnunet-service-sensordashboard.c +++ b/src/sensordashboard/gnunet-service-sensordashboard.c | |||
@@ -30,15 +30,29 @@ | |||
30 | #include "sensordashboard.h" | 30 | #include "sensordashboard.h" |
31 | #include "gnunet_cadet_service.h" | 31 | #include "gnunet_cadet_service.h" |
32 | #include "gnunet_sensor_util_lib.h" | 32 | #include "gnunet_sensor_util_lib.h" |
33 | #include "gnunet_peerstore_service.h" | ||
33 | 34 | ||
34 | /** | 35 | /** |
35 | * Handle to CADET service | 36 | * Handle to CADET service |
36 | */ | 37 | */ |
37 | static struct GNUNET_CADET_Handle *cadet; | 38 | static struct GNUNET_CADET_Handle *cadet; |
38 | 39 | ||
40 | /** | ||
41 | * Global hashmap of defined sensors | ||
42 | */ | ||
39 | static struct GNUNET_CONTAINER_MultiHashMap *sensors; | 43 | static struct GNUNET_CONTAINER_MultiHashMap *sensors; |
40 | 44 | ||
41 | /** | 45 | /** |
46 | * Handle to the peerstore service connection | ||
47 | */ | ||
48 | static struct GNUNET_PEERSTORE_Handle *peerstore; | ||
49 | |||
50 | /** | ||
51 | * Name of this subsystem to be used for peerstore operations | ||
52 | */ | ||
53 | static char *subsystem = "sensordashboard"; | ||
54 | |||
55 | /** | ||
42 | * Task run during shutdown. | 56 | * Task run during shutdown. |
43 | * | 57 | * |
44 | * @param cls unused | 58 | * @param cls unused |
@@ -52,6 +66,11 @@ cleanup_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
52 | GNUNET_CADET_disconnect(cadet); | 66 | GNUNET_CADET_disconnect(cadet); |
53 | cadet = NULL; | 67 | cadet = NULL; |
54 | } | 68 | } |
69 | if (NULL != peerstore) | ||
70 | { | ||
71 | GNUNET_PEERSTORE_disconnect (peerstore); | ||
72 | peerstore = NULL; | ||
73 | } | ||
55 | GNUNET_SENSOR_destroy_sensors (sensors); | 74 | GNUNET_SENSOR_destroy_sensors (sensors); |
56 | GNUNET_SCHEDULER_shutdown(); | 75 | GNUNET_SCHEDULER_shutdown(); |
57 | } | 76 | } |
@@ -143,6 +162,9 @@ int sensor_reading_receiver (void *cls, struct GNUNET_CADET_Channel *channel, | |||
143 | reading->sensor->name, | 162 | reading->sensor->name, |
144 | reading->timestamp, | 163 | reading->timestamp, |
145 | reading->value_size); | 164 | reading->value_size); |
165 | GNUNET_PEERSTORE_store (peerstore, subsystem, peer, reading->sensor->name, | ||
166 | reading->value, reading->value_size, GNUNET_TIME_UNIT_FOREVER_ABS, | ||
167 | GNUNET_PEERSTORE_STOREOPTION_MULTIPLE, NULL, NULL); | ||
146 | GNUNET_free (reading->value); | 168 | GNUNET_free (reading->value); |
147 | GNUNET_free (reading); | 169 | GNUNET_free (reading); |
148 | return GNUNET_OK; | 170 | return GNUNET_OK; |
@@ -181,7 +203,15 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, | |||
181 | if(NULL == cadet) | 203 | if(NULL == cadet) |
182 | { | 204 | { |
183 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 205 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
184 | _("Failed to connect to CADET service.\n")); | 206 | _("Failed to connect to `%s' service.\n"), "CADET"); |
207 | GNUNET_SCHEDULER_add_now (&cleanup_task, NULL); | ||
208 | return; | ||
209 | } | ||
210 | peerstore = GNUNET_PEERSTORE_connect (cfg); | ||
211 | if (NULL == peerstore) | ||
212 | { | ||
213 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
214 | _("Failed to connect to `%s' service.\n"), "PEERSTORE"); | ||
185 | GNUNET_SCHEDULER_add_now (&cleanup_task, NULL); | 215 | GNUNET_SCHEDULER_add_now (&cleanup_task, NULL); |
186 | return; | 216 | return; |
187 | } | 217 | } |