sensor, sensordashboard: doxygen fixes + indentation
[oweals/gnunet.git] / src / sensor / sensor.h
1 /*
2       This file is part of GNUnet
3       (C) 2012-2013 Christian Grothoff (and other contributing authors)
4
5       GNUnet is free software; you can redistribute it and/or modify
6       it under the terms of the GNU General Public License as published
7       by the Free Software Foundation; either version 3, or (at your
8       option) any later version.
9
10       GNUnet is distributed in the hope that it will be useful, but
11       WITHOUT ANY WARRANTY; without even the implied warranty of
12       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13       General Public License for more details.
14
15       You should have received a copy of the GNU General Public License
16       along with GNUnet; see the file COPYING.  If not, write to the
17       Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18       Boston, MA 02111-1307, USA.
19  */
20 /**
21  * @file sensor/sensor.h
22  * @brief IPC messages and private service declarations
23  * @author Omar Tarabai
24  */
25
26 #include "gnunet_sensor_service.h"
27 #include "gnunet_sensor_util_lib.h"
28
29
30 GNUNET_NETWORK_STRUCT_BEGIN
31 /**
32  * Carries a summary of a sensor
33  *
34  */
35     struct SensorInfoMessage
36 {
37   /**
38    * Message header
39    */
40   struct GNUNET_MessageHeader header;
41
42   /**
43    * Length of sensor name (name follows the struct)
44    */
45   size_t name_len;
46
47   /**
48    * First part of version number
49    */
50   uint16_t version_major;
51
52   /**
53    * Second part of version number
54    */
55   uint16_t version_minor;
56
57   /**
58    * Length of sensor description (description itself follows)
59    */
60   size_t description_len;
61 };
62
63 GNUNET_NETWORK_STRUCT_END
64
65 /**
66  * Stop the sensor analysis module
67  */
68     void
69 SENSOR_analysis_stop ();
70
71
72 /**
73  * Start the sensor analysis module
74  *
75  * @param c our service configuration
76  * @param sensors multihashmap of loaded sensors
77  * @return #GNUNET_OK if started successfully, #GNUNET_SYSERR otherwise
78  */
79 int
80 SENSOR_analysis_start (const struct GNUNET_CONFIGURATION_Handle *c,
81                        struct GNUNET_CONTAINER_MultiHashMap *sensors);
82
83
84 /**
85  * Stop sensor reporting module
86  */
87 void
88 SENSOR_reporting_stop ();
89
90
91 /**
92  * Start the sensor reporting module
93  *
94  * @param c our service configuration
95  * @param sensors multihashmap of loaded sensors
96  * @return #GNUNET_OK if started successfully, #GNUNET_SYSERR otherwise
97  */
98 int
99 SENSOR_reporting_start (const struct GNUNET_CONFIGURATION_Handle *c,
100                         struct GNUNET_CONTAINER_MultiHashMap *sensors);
101
102
103 /**
104  * Stop the sensor update module
105  */
106 void
107 SENSOR_update_stop ();
108
109
110 /**
111  * Start the sensor update module
112  *
113  * @param c our service configuration
114  * @param s multihashmap of loaded sensors
115  * @param cb callback to reset service components when we have new updates
116  * @return #GNUNET_OK if started successfully, #GNUNET_SYSERR otherwise
117  */
118 int
119 SENSOR_update_start (const struct GNUNET_CONFIGURATION_Handle *c,
120                      struct GNUNET_CONTAINER_MultiHashMap *s,
121                      void (*cb) ());