/* This file is part of TALER Copyright (C) 2016 GNUnet e.V. TALER 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. TALER 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 TALER; see the file COPYING. If not, see */ /** * @file include/taler_wire_lib.h * @brief Interface for loading and unloading wire plugins * @author Christian Grothoff */ #ifndef TALER_WIRE_H #define TALER_WIRE_H #include #include "taler_wire_plugin.h" /** * Load a WIRE plugin. * * @param cfg configuration to use * @param plugin_name name of the plugin to load * @return #GNUNET_OK on success */ struct TALER_WIRE_Plugin * TALER_WIRE_plugin_load (const struct GNUNET_CONFIGURATION_Handle *cfg, const char *plugin_name); /** * Unload a WIRE plugin. * * @param plugin the plugin to unload */ void TALER_WIRE_plugin_unload (struct TALER_WIRE_Plugin *plugin); /** * Signature of a function to be called on each enabled * wire plugin. * * @param cls closure * @param name name of the enabled plugin */ typedef void (*TALER_WIRE_EnabledCallback)(void *cls, const char *name); /** * Check which wire plugins are enabled in @a cfg and call @a cb for each one. * * @param cfg configuration to use * @param cb callback to invoke * @param cb_cls closure for @a cb */ void TALER_WIRE_find_enabled (const struct GNUNET_CONFIGURATION_Handle *cfg, TALER_WIRE_EnabledCallback cb, void *cb_cls); #endif