- Update plugin interface
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@658 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
66d46db357
commit
409047a225
|
@ -23,14 +23,42 @@
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <glibmm/ustring.h>
|
||||||
|
|
||||||
/** \file plugin.hh
|
/** \file plugin.hh
|
||||||
* All loadable modules that want to act as plugins
|
* All loadable modules that want to act as plugins
|
||||||
* for SGPEMv2 should implement this interface. */
|
* for SGPEMv2 should implement this interface. */
|
||||||
|
|
||||||
// FIXME Add Singleton LoadPlugin class.
|
namespace sgpem
|
||||||
/*
|
{
|
||||||
class LoadPlugin {
|
|
||||||
};
|
/** \brief The interface a specific plugin should implement
|
||||||
*/
|
*
|
||||||
|
* Only the header file containing this interface
|
||||||
|
* should be provided by the backend library. Every plugin
|
||||||
|
* will then implement its set of static functions.
|
||||||
|
* Thus every plugin will export these very symbols
|
||||||
|
* outside its DSO.
|
||||||
|
*/
|
||||||
|
class SG_DLLEXPORT Plugin
|
||||||
|
{
|
||||||
|
/** \brief Called when a plugin is loaded and enabled
|
||||||
|
*
|
||||||
|
* Sets up the plugin's initial state and
|
||||||
|
* performs needed actions before its usage can start.
|
||||||
|
*/
|
||||||
|
static void on_init();
|
||||||
|
|
||||||
|
static void on_exit();
|
||||||
|
static Glib::ustring describe();
|
||||||
|
static Glib::ustring get_name();
|
||||||
|
static Glib::ustring get_author();
|
||||||
|
static float get_version();
|
||||||
|
|
||||||
|
private:
|
||||||
|
SG_DLLLOCAL Plugin();
|
||||||
|
}; //~ class Plugin
|
||||||
|
|
||||||
|
} //~ namespace sgpem
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue