adding number of preferences to allow iterating over preferences
[oweals/gnunet.git] / src / include / gnunet_sensor_service.h
index a31b20e5285781241e9863ebca348c16cadca2b2..5caaafd98cfaffd02f2df96d38a44e169396433f 100644 (file)
@@ -1,6 +1,6 @@
 /*
       This file is part of GNUnet
-      (C) 
+      Copyright (C) 
 
       GNUnet is free software; you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published
@@ -48,6 +48,11 @@ struct GNUNET_SENSOR_Handle;
  */
 struct GNUNET_SENSOR_IterateContext;
 
+/**
+ * Context of a force anomaly request
+ */
+struct GNUNET_SENSOR_ForceAnomalyContext;
+
 /**
  * Structure containing brief info about sensor
  */
@@ -145,6 +150,36 @@ GNUNET_SENSOR_iterate (struct GNUNET_SENSOR_Handle *h,
                                GNUNET_SENSOR_SensorIterateCB callback,
                                void *callback_cls);
 
+
+/**
+ * Cancel a force anomaly request.
+ *
+ * @param fa Force anomaly context returned by GNUNET_SENSOR_force_anomaly()
+ */
+void
+GNUNET_SENSOR_force_anomaly_cancel (struct GNUNET_SENSOR_ForceAnomalyContext
+                                    *fa);
+
+
+/**
+ * Force an anomaly status change on a given sensor. If the sensor reporting
+ * module is running, this will trigger the usual reporting logic, therefore,
+ * please only use this in a test environment.
+ *
+ * Also, if the sensor analysis module is running, it might conflict and cause
+ * undefined behaviour if it detects a real anomaly.
+ *
+ * @param h Service handle
+ * @param sensor_name Sensor name to set the anomaly status
+ * @param anomalous The desired status: #GNUNET_YES / #GNUNET_NO
+ * @param cont Continuation function to be called after the request is sent
+ * @param cont_cls Closure for cont
+ */
+struct GNUNET_SENSOR_ForceAnomalyContext *
+GNUNET_SENSOR_force_anomaly (struct GNUNET_SENSOR_Handle *h, char *sensor_name,
+                             int anomalous, GNUNET_SENSOR_Continuation cont,
+                             void *cont_cls);
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif