navit  0.5.3-trunk
plugin.h File Reference
#include "plugin_def.h"

Go to the source code of this file.

Macros

#define PLUGIN_PROTO(name, ...)   void name(__VA_ARGS__)
 
#define PLUGIN_FUNC1(name, t1, p1)
 
#define PLUGIN_FUNC3(name, t1, p1, t2, p2, t3, p3)
 
#define PLUGIN_FUNC4(name, t1, p1, t2, p2, t3, p3, t4, p4)
 
#define PLUGIN_CATEGORY(category, newargs)
 
#define plugin_module_cat3(pre, mod, post)   pre##mod##post
 
#define plugin_module_cat2(pre, mod, post)   plugin_module_cat3(pre,mod,post)
 
#define plugin_module_cat(pre, post)   plugin_module_cat2(pre,MODULE,post)
 
#define plugin_init   plugin_module_cat(module_,_init)
 register vehicle_gypsy More...
 

Enumerations

enum  plugin_category {
  plugin_category_graphics , plugin_category_gui , plugin_category_map , plugin_category_osd ,
  plugin_category_speech , plugin_category_vehicle , plugin_category_event , plugin_category_font ,
  plugin_category_traffic , plugin_category_last
}
 All existing plugin categories. More...
 

Functions

int plugin_load (struct plugin *pl)
 
char * plugin_get_name (struct plugin *pl)
 
int plugin_get_active (struct plugin *pl)
 
void plugin_set_active (struct plugin *pl, int active)
 
void plugin_set_lazy (struct plugin *pl, int lazy)
 
void plugin_call_init (struct plugin *pl)
 
void plugin_unload (struct plugin *pl)
 
void plugin_destroy (struct plugin *pl)
 
struct pluginsplugins_new (struct attr *, struct attr **)
 
struct pluginplugin_new (struct attr *parent, struct attr **attrs)
 
int plugins_init (struct plugins *pls)
 
void plugins_destroy (struct plugins *pls)
 
void * plugin_get_category (enum plugin_category category, const char *category_name, const char *name)
 

Macro Definition Documentation

◆ PLUGIN_CATEGORY

#define PLUGIN_CATEGORY (   category,
  newargs 
)
Value:
struct category##_priv; \
struct category##_methods; \
void plugin_register_category_##category(const char *name, struct category##_priv *(*new_) newargs); \
void *plugin_get_category_##category(const char *name);
char name[0]
Definition: street.c:3

◆ PLUGIN_FUNC1

#define PLUGIN_FUNC1 (   name,
  t1,
  p1 
)
Value:
void plugin_register_##name(void(*func)(t1 p1)); \
void plugin_call_##name(t1 p1);

◆ PLUGIN_FUNC3

#define PLUGIN_FUNC3 (   name,
  t1,
  p1,
  t2,
  p2,
  t3,
  p3 
)
Value:
void plugin_register_##name(void(*func)(t1 p1,t2 p2,t3 p3)); \
void plugin_call_##name(t1 p1,t2 p2,t3 p3);

◆ PLUGIN_FUNC4

#define PLUGIN_FUNC4 (   name,
  t1,
  p1,
  t2,
  p2,
  t3,
  p3,
  t4,
  p4 
)
Value:
void plugin_register_##name(void(*func)(t1 p1,t2 p2,t3 p3,t4 p4)); \
void plugin_call_##name(t1 p1,t2 p2,t3 p3,t4 p4);

◆ plugin_module_cat

#define plugin_module_cat (   pre,
  post 
)    plugin_module_cat2(pre,MODULE,post)

◆ plugin_module_cat2

#define plugin_module_cat2 (   pre,
  mod,
  post 
)    plugin_module_cat3(pre,mod,post)

◆ plugin_module_cat3

#define plugin_module_cat3 (   pre,
  mod,
  post 
)    pre##mod##post

◆ PLUGIN_PROTO

#define PLUGIN_PROTO (   name,
  ... 
)    void name(__VA_ARGS__)

Enumeration Type Documentation

◆ plugin_category

All existing plugin categories.

Plugins are grouped into categories. Plugins within one category offer the same functionality (GUI, graphics, map etc.). Consequently the category determines the API offered by a plugin.

Enumerator
plugin_category_graphics 

Category for plugins which implement a graphics backend.

plugin_category_gui 

Category for plugins which implement a GUI frontend.

plugin_category_map 

Category for plugins which implement a driver for providing/loading map data.

plugin_category_osd 

Category for plugins which implement an OSD.

plugin_category_speech 

Category for plugins which implement speech output.

plugin_category_vehicle 

Category for plugins which supply position data (typically from a GPS receiver).

plugin_category_event 

Category for plugins which implement/wrap an event subsystem.

plugin_category_font 

Category for plugins which load fonts.

plugin_category_traffic 

Category for plugins which retrieve traffic information.

plugin_category_last 

Dummy for last entry.