#include <sys/types.h>
#include <stdarg.h>
#include "dynstuff.h"
#include "sessions.h"
Idź do kodu źródłowego tego pliku.
|
#define | EKG_ABI_VER 4921 |
|
#define | EXPORT __attribute__ ((visibility("default"))) |
|
#define | PLUGIN_VAR_ADD(name, type, value, secret, notify) { name, value, secret, type, notify } |
|
#define | PLUGIN_VAR_END() { NULL, NULL, 0, -1, NULL } |
|
#define | PLUGIN_CHECK_VER(name) { if (!plugin_abi_version(EKG_ABI_VER, name)) return -1; } |
|
#define | PLUGIN_DEFINE(x, y, z) |
|
#define | QUERY(x) int x(void *data, va_list ap) |
|
#define | WATCHER(x) int x(int type, int fd, watch_type_t watch, void *data) |
|
#define | WATCHER_LINE(x) int x(int type, int fd, const char *watch, void *data) |
|
#define | watch_add_line(p, fd, type, handler, data) watch_add(p, fd, type, (watcher_handler_func_t *) (handler), data) |
|
|
enum | plugin_class_t {
PLUGIN_ANY = 0,
PLUGIN_GENERIC,
PLUGIN_PROTOCOL,
PLUGIN_UI,
PLUGIN_LOG,
PLUGIN_SCRIPTING,
PLUGIN_AUDIO,
PLUGIN_CODEC,
PLUGIN_CRYPT,
PLUGIN_ANY = 0,
PLUGIN_GENERIC,
PLUGIN_PROTOCOL,
PLUGIN_UI,
PLUGIN_LOG,
PLUGIN_SCRIPTING,
PLUGIN_AUDIO,
PLUGIN_CODEC,
PLUGIN_CRYPT
} |
|
enum | watch_type_t {
WATCH_NONE = 0,
WATCH_WRITE = 1,
WATCH_READ = 2,
WATCH_READ_LINE = 4,
WATCH_WRITE_LINE = 8,
WATCH_NONE = 0,
WATCH_WRITE = 1,
WATCH_READ = 2,
WATCH_READ_LINE = 4,
WATCH_WRITE_LINE = 8
} |
|
|
int | plugin_abi_version (int plugin_abi_ver, const char *plugin_name) |
|
void | plugin_load (const char *name) |
|
void | plugin_unload (plugin_t *p) |
|
plugin_t * | remote_plugin_load (const char *name, int prio) |
|
int | plugin_register (plugin_t *, int prio) |
|
int | plugin_unregister (plugin_t *) |
|
void | remote_plugins_destroy () |
|
plugin_t * | plugin_find (const char *name) |
|
query_t * | query_connect_idXXX (plugin_t *plugin, const int id, query_handler_func_t *handler, void *data) |
|
int | query_emit_idXXX (plugin_t *, const int,...) |
|
void | queries_destroy () |
|
int | watch_write (watch_t *w, const char *buf, int len) |
|
void | watch_free (watch_t *w) |
|
watch_t * | watch_add (plugin_t *plugin, int fd, watch_type_t type, watcher_handler_func_t *handler, void *data) |
|
int | watch_remove (plugin_t *plugin, int fd, watch_type_t type) |
|
void | watch_handle (watch_t *w) |
|
void | watches_destroy () |
|
◆ EKG_ABI_VER
◆ EXPORT
◆ PLUGIN_CHECK_VER
◆ PLUGIN_DEFINE
#define PLUGIN_DEFINE |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| |
Wartość:static int x##_plugin_destroy(); \
\
plugin_t x##_plugin = { \
.name = #x, \
.pclass = y, \
.destroy = x##_plugin_destroy, \
.theme_init = z \
}
◆ PLUGIN_VAR_ADD
#define PLUGIN_VAR_ADD |
( |
|
name, |
|
|
|
type, |
|
|
|
value, |
|
|
|
secret, |
|
|
|
notify |
|
) |
| { name, value, secret, type, notify } |
◆ PLUGIN_VAR_END
◆ QUERY
#define QUERY |
( |
|
x | ) |
int x(void *data, va_list ap) |
◆ watch_add_line
◆ WATCHER
◆ WATCHER_LINE
#define WATCHER_LINE |
( |
|
x | ) |
int x(int type, int fd, const char *watch, void *data) |
◆ plugin_destroy_func_t
typedef int(* plugin_destroy_func_t) (void) |
◆ plugin_notify_func_t
typedef void() plugin_notify_func_t(session_t *, const char *) |
◆ plugin_t
◆ plugin_theme_init_func_t
typedef int(* plugin_theme_init_func_t) (void) |
◆ query_handler_func_t
typedef int query_handler_func_t(void *data, va_list ap) |
◆ query_t
◆ watch_handler_func_t
◆ watch_t
◆ watcher_handler_func_t
◆ plugin_class_t
Wartości wyliczeń |
---|
PLUGIN_ANY | |
PLUGIN_GENERIC | |
PLUGIN_PROTOCOL | |
PLUGIN_UI | |
PLUGIN_LOG | |
PLUGIN_SCRIPTING | |
PLUGIN_AUDIO | |
PLUGIN_CODEC | |
PLUGIN_CRYPT | |
PLUGIN_ANY | |
PLUGIN_GENERIC | |
PLUGIN_PROTOCOL | |
PLUGIN_UI | |
PLUGIN_LOG | |
PLUGIN_SCRIPTING | |
PLUGIN_AUDIO | |
PLUGIN_CODEC | |
PLUGIN_CRYPT | |
◆ watch_type_t
Wartości wyliczeń |
---|
WATCH_NONE | |
WATCH_WRITE | |
WATCH_READ | |
WATCH_READ_LINE | |
WATCH_WRITE_LINE | |
WATCH_NONE | |
WATCH_WRITE | |
WATCH_READ | |
WATCH_READ_LINE | |
WATCH_WRITE_LINE | |
◆ plugin_abi_version()
int plugin_abi_version |
( |
int |
plugin_abi_ver, |
|
|
const char * |
plugin_name |
|
) |
| |
◆ plugin_find()
plugin_t* plugin_find |
( |
const char * |
name | ) |
|
plugin_find()
Find plugin by name
- Parametry
-
- Zwraca
- plugin_t with given name, or NULL if not found.
◆ plugin_load()
void plugin_load |
( |
const char * |
name | ) |
|
◆ plugin_register()
int plugin_register |
( |
plugin_t * |
, |
|
|
int |
prio |
|
) |
| |
◆ plugin_unload()
◆ plugin_unregister()
◆ queries_destroy()
◆ query_connect_idXXX()
◆ query_emit_idXXX()
int query_emit_idXXX |
( |
plugin_t * |
, |
|
|
const int |
, |
|
|
|
... |
|
) |
| |
◆ remote_plugin_load()
plugin_t* remote_plugin_load |
( |
const char * |
name, |
|
|
int |
prio |
|
) |
| |
◆ remote_plugins_destroy()
void remote_plugins_destroy |
( |
| ) |
|
◆ watch_add()
watch_add()
Create new watch_t and add it on the beginning of watches list.
- Parametry
-
plugin | - plugin |
fd | - fd to watch data for. |
type | - type of watch. |
handler | - handler of watch. |
data | - data which be passed to handler. |
- Zwraca
- Created watch_t. if type is either WATCH_READ_LINE or WATCH_WRITE_LINE than also allocate memory for buffer
◆ watch_free()
◆ watch_handle()
◆ watch_remove()
◆ watch_write()
int watch_write |
( |
watch_t * |
w, |
|
|
const char * |
buf, |
|
|
int |
len |
|
) |
| |
◆ watches_destroy()
◆ ekg_watches_removed
◆ plugins
◆ ui_plugin
◆ watches