SET service: accurate results for symmetric mode
[oweals/gnunet.git] / src / include / gnunet_rest_plugin.h
index d690343ba78bf8bed2cbaf8263c32cbe41a8fabd..cdb3018e733e20ce8371a80bb71efc351c5624dc 100644 (file)
@@ -1,22 +1,22 @@
 /*
-     This file is part of GNUnet.
-     Copyright (C) 2012-2015 Christian Grothoff (and other contributing authors)
+   This file is part of GNUnet.
+   Copyright (C) 2012-2015 Christian Grothoff (and other contributing authors)
 
-     GNUnet is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 3, or (at your
-     option) any later version.
+   GNUnet is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published
+   by the Free Software Foundation; either version 3, or (at your
+   option) any later version.
 
-     GNUnet is distributed in the hope that it will be useful, but
-     WITHOUT ANY WARRANTY; without even the implied warranty of
-     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-     General Public License for more details.
+   GNUnet is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
 
-     You should have received a copy of the GNU General Public License
-     along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
-*/
+   You should have received a copy of the GNU General Public License
+   along with GNUnet; see the file COPYING.  If not, write to the
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
+   */
 /**
  * @author Martin Schanzenbach
  * @file include/gnunet_rest_plugin.h
@@ -27,6 +27,8 @@
 #define GNUNET_REST_PLUGIN_H
 
 #include "gnunet_util_lib.h"
+#include "gnunet_rest_lib.h"
+#include "microhttpd.h"
 
 #ifdef __cplusplus
 extern "C"
@@ -36,18 +38,6 @@ extern "C"
 #endif
 #endif
 
-/**
- * Iterator called on obtained result for a REST result.
- *
- * @param cls closure
- * @param data REST result
- * @param data_len length of result
- * @param status status code (HTTP)
- */
-typedef void (*GNUNET_REST_ResultProcessor) (void *cls,
-                          const char *data,
-                          size_t data_len,
-                          int status);
 
 /**
  * @brief struct returned by the initialization function of the plugin
@@ -61,7 +51,7 @@ struct GNUNET_REST_Plugin
    *
    */
   void *cls;
-  
+
   /**
    * Plugin name. Used as the namespace for the API.
    * e.g. http://hostname:port/<name>
@@ -78,12 +68,9 @@ struct GNUNET_REST_Plugin
    * @param proc the callback for result
    * @param proc_cls closure for callback
    */
-  void (*process_request) (const char *method,
-                          const char *url,
-                          const char *data,
-                          size_t data_size,
-                          GNUNET_REST_ResultProcessor proc,
-                          void *proc_cls);
+  void (*process_request) (struct RestConnectionDataHandle *handle,
+                           GNUNET_REST_ResultProcessor proc,
+                           void *proc_cls);
 
 };