Difference between revisions of "Plugin"
From Navit's Wiki
(added a small description for starters.) |
|||
Line 13: | Line 13: | ||
function. | function. | ||
− | + | Unless you know better, start by creating a new folder under /plugin and add it's name to plugin/Makefile.am | |
+ | |||
Then add Makefile.am and CMakeLists.txt to you plugin directory, so your plugin is built as a module (e.g. libmyplugin.so). | Then add Makefile.am and CMakeLists.txt to you plugin directory, so your plugin is built as a module (e.g. libmyplugin.so). | ||
+ | |||
+ | Finally, add a module definition to /CmakeLists.txt, to have it built at all. | ||
+ | <source lang="bash"> | ||
+ | add_module(plugin/myplugin "Default" TRUE) | ||
+ | </source> | ||
To have the plugin loaded, you need to add it to the <plugins> Object in navit.xml: | To have the plugin loaded, you need to add it to the <plugins> Object in navit.xml: |
Revision as of 12:43, 30 May 2013
Nearly everything in navit is a plugin. A plugin is a shared library which needs to contain a function
void plugin_init(void)
This function is called when the plugin gets loaded. Usually it should call an appropriate
void plugin_init(void) { dbg(0, "Enter\n"); plugin_register_something_type(); dbg(0, "Exit\n"); }
function.
Unless you know better, start by creating a new folder under /plugin and add it's name to plugin/Makefile.am
Then add Makefile.am and CMakeLists.txt to you plugin directory, so your plugin is built as a module (e.g. libmyplugin.so).
Finally, add a module definition to /CmakeLists.txt, to have it built at all.
add_module(plugin/myplugin "Default" TRUE)
To have the plugin loaded, you need to add it to the <plugins> Object in navit.xml:
<plugin path="$NAVIT_LIBDIR/*/${NAVIT_LIBPREFIX}libmyplugin.so" active="yes"/>