gnunet-android

GNUnet for Android
Log | Files | Refs | README

gnunet_rest_plugin.h (1932B)


      1 /*
      2    This file is part of GNUnet.
      3    Copyright (C) 2012-2015 GNUnet e.V.
      4 
      5    GNUnet is free software: you can redistribute it and/or modify it
      6    under the terms of the GNU Affero General Public License as published
      7    by the Free Software Foundation, either version 3 of the License,
      8    or (at your 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    Affero General Public License for more details.
     14 
     15    You should have received a copy of the GNU Affero General Public License
     16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18      SPDX-License-Identifier: AGPL3.0-or-later
     19  */
     20 /**
     21  * @addtogroup rest_l2  REST service and libraries
     22  * @{
     23  *
     24  * @author Martin Schanzenbach
     25  *
     26  * @file
     27  * GNUnet service REST plugin header
     28  *
     29  * @defgroup rest-plugin  REST plugin for GNUnet services
     30  * @{
     31  */
     32 #ifndef GNUNET_REST_PLUGIN_H
     33 #define GNUNET_REST_PLUGIN_H
     34 
     35 
     36 #include "gnunet_util_lib.h"
     37 #include "gnunet_rest_lib.h"
     38 #include "microhttpd.h"
     39 
     40 #ifdef __cplusplus
     41 extern "C"
     42 {
     43 #if 0                           /* keep Emacsens' auto-indent happy */
     44 }
     45 #endif
     46 #endif
     47 
     48 
     49 /**
     50  * @brief struct returned by the initialization function of the plugin
     51  */
     52 struct GNUNET_REST_Plugin
     53 {
     54   /**
     55    *
     56    * The closure of the plugin
     57    *
     58    */
     59   void *cls;
     60 
     61   /**
     62    * Plugin name. Used as the namespace for the API.
     63    * e.g. http://hostname:port/name
     64    */
     65   const char *name;
     66 };
     67 
     68 typedef enum GNUNET_GenericReturnValue (*GNUNET_REST_ProcessingFunction)(
     69   void *plugin,
     70   struct GNUNET_REST_RequestHandle *handle,
     71   GNUNET_REST_ResultProcessor proc,
     72   void *proc_cls);
     73 
     74 #if 0                           /* keep Emacsens' auto-indent happy */
     75 {
     76 #endif
     77 #ifdef __cplusplus
     78 }
     79 #endif
     80 
     81 #endif
     82 
     83 /** @} */  /* end of group */
     84 
     85 /** @} */ /* end of group addition */