-cleanup doc; fixes
[oweals/gnunet.git] / src / include / gnunet_rest_plugin.h
index d690343ba78bf8bed2cbaf8263c32cbe41a8fabd..424dbb1fc33b0c84eed5c1a2a83207995b30334d 100644 (file)
@@ -1,32 +1,37 @@
 /*
-     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 GNUnet e.V.
 
-     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
- * @brief GNUnet service REST plugin header
  *
+ * @file
+ * GNUnet service REST plugin header
+ *
+ * @defgroup rest-plugin  REST plugin for GNUnet services
+ * @{
  */
 #ifndef GNUNET_REST_PLUGIN_H
 #define GNUNET_REST_PLUGIN_H
 
 #include "gnunet_util_lib.h"
+#include "gnunet_rest_lib.h"
+#include "microhttpd.h"
 
 #ifdef __cplusplus
 extern "C"
@@ -36,18 +41,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,16 +54,16 @@ struct GNUNET_REST_Plugin
    *
    */
   void *cls;
-  
+
   /**
    * Plugin name. Used as the namespace for the API.
-   * e.g. http://hostname:port/<name>
+   * e.g. http://hostname:port/name
    */
   char *name;
 
   /**
    * Function to process a REST call
-   * 
+   *
    * @param method the HTTP method called
    * @param url the relative url accessed
    * @param data the REST data (can be NULL)
@@ -78,12 +71,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 GNUNET_REST_RequestHandle *handle,
+                           GNUNET_REST_ResultProcessor proc,
+                           void *proc_cls);
 
 };
 
@@ -95,6 +85,6 @@ struct GNUNET_REST_Plugin
 }
 #endif
 
-/* end of gnunet_rest_plugin.h */
 #endif
 
+/** @} */  /* end of group */