+#include "plugins/interface.h"
+
#include <glib.h>
#include <gmodule.h>
-typedef void (*PluginSetupConfig)();
-typedef void (*PluginStartup)();
-typedef void (*PluginShutdown)();
-typedef void *(*PluginCreate)(/* TODO */);
-typedef void (*PluginDestroy)(void *);
-
typedef struct {
GModule *module;
char *name;
if (io == NULL) {
/* load the default plugins */
- plugin_open("keyboard");
- plugin_open("mouse");
plugin_open("placement");
plugin_open("resistance");
}
}
-void *plugin_create(char *name /* TODO */)
+void *plugin_create(char *name, void *data)
{
Plugin *p = (Plugin *)g_datalist_get_data(&plugins, name);
return NULL;
}
- return p->create();
+ return p->create(data);
}
void plugin_destroy(char *name, void *data)