00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CTRLPROXY_HOOKS_H__
00021 #define __CTRLPROXY_HOOKS_H__
00022
00028 #include "network.h"
00029
00030 enum data_direction { TO_SERVER = 1, FROM_SERVER = 2 };
00031
00032
00033 typedef gboolean (*server_filter_function) (struct irc_network *n, const struct irc_line *, enum data_direction, void *userdata);
00034 G_MODULE_EXPORT void add_log_filter(const char *name, server_filter_function, void *userdata, int priority);
00035 G_MODULE_EXPORT void del_log_filter(const char *name);
00036
00037 G_MODULE_EXPORT void add_replication_filter(const char *name, server_filter_function, void *userdata, int priority);
00038 G_MODULE_EXPORT void del_replication_filter(const char *name);
00039
00040 typedef gboolean (*client_filter_function) (struct irc_client *c, const struct irc_line *, enum data_direction, void *userdata);
00041 G_MODULE_EXPORT void add_client_filter(const char *name, client_filter_function, void *userdata, int priority);
00042 G_MODULE_EXPORT void del_client_filter(const char *name);
00043
00044 G_MODULE_EXPORT void add_server_filter(const char *name, server_filter_function, void *userdata, int priority);
00045 G_MODULE_EXPORT void del_server_filter(const char *name);
00046
00047 typedef gboolean (*new_client_hook) (struct irc_client *, void *userdata);
00048 G_MODULE_EXPORT void add_new_client_hook(const char *name, new_client_hook h, void *userdata);
00049 G_MODULE_EXPORT void del_new_client_hook(const char *name);
00050
00051 typedef void (*lose_client_hook) (struct irc_client *, void *userdata);
00052 G_MODULE_EXPORT void add_lose_client_hook(const char *name, lose_client_hook h, void *userdata);
00053 G_MODULE_EXPORT void del_lose_client_hook(const char *name);
00054
00055 typedef void (*server_connected_hook) (struct irc_network *, void *userdata);
00056 G_MODULE_EXPORT void add_server_connected_hook(const char *name, server_connected_hook h, void *userdata);
00057 G_MODULE_EXPORT void del_server_connected_hook(const char *name);
00058
00059 typedef void (*server_disconnected_hook) (struct irc_network *, void *userdata);
00060 G_MODULE_EXPORT void add_server_disconnected_hook(const char *name, server_disconnected_hook h, void *userdata);
00061 G_MODULE_EXPORT void del_server_disconnected_hook(const char *name);
00062
00063 #endif