X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=include%2Fplugin.h;h=11a060955d1d6d7106901bd5e906bd4f10b615a5;hb=42ec7c7c913713e48ff9c3c641db662e3522d3a8;hp=b7f1eb3af4e833024f3cef2b95e4ffe623170350;hpb=c33b387b3ed16bce4058b9088260c4ece1ff6342;p=connman diff --git a/include/plugin.h b/include/plugin.h index b7f1eb3..11a0609 100644 --- a/include/plugin.h +++ b/include/plugin.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -26,6 +26,17 @@ extern "C" { #endif +#ifndef CONNMAN_API_SUBJECT_TO_CHANGE +#error "Please define CONNMAN_API_SUBJECT_TO_CHANGE to acknowledge your \ +understanding that ConnMan hasn't reached a stable API." +#endif + +/** + * SECTION:plugin + * @title: Plugin premitives + * @short_description: Functions for declaring plugins + */ + struct connman_plugin_desc { const char *name; const char *description; @@ -34,9 +45,35 @@ struct connman_plugin_desc { void (*exit) (void); }; -#define CONNMAN_PLUGIN_DEFINE(name,description,version,init,exit) \ +/** + * CONNMAN_PLUGIN_DEFINE: + * @name: plugin name + * @description: plugin description + * @version: plugin version string + * @init: init function called on plugin loading + * @exit: exit function called on plugin removal + * + * Macro for defining a plugin descriptor + * + * |[ + * #include + * + * static int example_init(void) + * { + * return 0; + * } + * + * static void example_exit(void) + * { + * } + * + * CONNMAN_PLUGIN_DEFINE(example, "Example plugin", VERSION, + * example_init, example_exit) + * ]| + */ +#define CONNMAN_PLUGIN_DEFINE(name, description, version, init, exit) \ struct connman_plugin_desc connman_plugin_desc = { \ - name, description, version, init, exit \ + #name, description, version, init, exit \ }; #ifdef __cplusplus