Added plugins presence hooks

This commit is contained in:
James Booth
2016-03-30 23:18:12 +01:00
parent 194c53c4fa
commit 759d9ccb8d
7 changed files with 433 additions and 286 deletions

View File

@@ -52,23 +52,30 @@ typedef struct prof_plugin_t {
void (*on_start_func)(struct prof_plugin_t* plugin);
void (*on_shutdown_func)(struct prof_plugin_t* plugin);
void (*on_connect_func)(struct prof_plugin_t* plugin, const char * const account_name, const char * const fulljid);
void (*on_disconnect_func)(struct prof_plugin_t* plugin, const char * const account_name, const char * const fulljid);
void (*on_connect_func)(struct prof_plugin_t* plugin, const char *const account_name, const char *const fulljid);
void (*on_disconnect_func)(struct prof_plugin_t* plugin, const char *const account_name,
const char *const fulljid);
char* (*pre_chat_message_display)(struct prof_plugin_t* plugin, const char * const jid, const char *message);
void (*post_chat_message_display)(struct prof_plugin_t* plugin, const char * const jid, const char *message);
char* (*pre_chat_message_send)(struct prof_plugin_t* plugin, const char * const jid, const char *message);
void (*post_chat_message_send)(struct prof_plugin_t* plugin, const char * const jid, const char *message);
char* (*pre_chat_message_display)(struct prof_plugin_t* plugin, const char *const jid, const char *message);
void (*post_chat_message_display)(struct prof_plugin_t* plugin, const char *const jid, const char *message);
char* (*pre_chat_message_send)(struct prof_plugin_t* plugin, const char *const jid, const char *message);
void (*post_chat_message_send)(struct prof_plugin_t* plugin, const char *const jid, const char *message);
char* (*pre_room_message_display)(struct prof_plugin_t* plugin, const char * const room, const char * const nick, const char *message);
void (*post_room_message_display)(struct prof_plugin_t* plugin, const char * const room, const char * const nick, const char *message);
char* (*pre_room_message_send)(struct prof_plugin_t* plugin, const char * const room, const char *message);
void (*post_room_message_send)(struct prof_plugin_t* plugin, const char * const room, const char *message);
char* (*pre_room_message_display)(struct prof_plugin_t* plugin, const char *const room, const char *const nick,
const char *message);
void (*post_room_message_display)(struct prof_plugin_t* plugin, const char *const room, const char *const nick,
const char *message);
char* (*pre_room_message_send)(struct prof_plugin_t* plugin, const char *const room, const char *message);
void (*post_room_message_send)(struct prof_plugin_t* plugin, const char *const room, const char *message);
char* (*pre_priv_message_display)(struct prof_plugin_t* plugin, const char * const room, const char * const nick, const char *message);
void (*post_priv_message_display)(struct prof_plugin_t* plugin, const char * const room, const char * const nick, const char *message);
char* (*pre_priv_message_send)(struct prof_plugin_t* plugin, const char * const room, const char * const nick, const char * const message);
void (*post_priv_message_send)(struct prof_plugin_t* plugin, const char * const room, const char * const nick, const char * const message);
char* (*pre_priv_message_display)(struct prof_plugin_t* plugin, const char *const room, const char *const nick,
const char *message);
void (*post_priv_message_display)(struct prof_plugin_t* plugin, const char *const room, const char *const nick,
const char *message);
char* (*pre_priv_message_send)(struct prof_plugin_t* plugin, const char *const room, const char *const nick,
const char *const message);
void (*post_priv_message_send)(struct prof_plugin_t* plugin, const char *const room, const char *const nick,
const char *const message);
char* (*on_message_stanza_send)(struct prof_plugin_t* plugin, const char *const text);
gboolean (*on_message_stanza_receive)(struct prof_plugin_t* plugin, const char *const text);
@@ -78,37 +85,42 @@ typedef struct prof_plugin_t {
char* (*on_iq_stanza_send)(struct prof_plugin_t* plugin, const char *const text);
gboolean (*on_iq_stanza_receive)(struct prof_plugin_t* plugin, const char *const text);
void (*on_contact_offline)(struct prof_plugin_t* plugin, const char *const barejid, const char *const resource,
const char *const status);
void (*on_contact_presence)(struct prof_plugin_t* plugin, const char *const barejid, const char *const resource,
const char *const presence, const char *const status, const int priority);
} ProfPlugin;
void plugins_init(void);
GSList* plugins_get_list(void);
char* plugins_get_lang_string(ProfPlugin *plugin);
char* plugins_autocomplete(const char * const input);
char* plugins_autocomplete(const char *const input);
void plugins_reset_autocomplete(void);
void plugins_shutdown(void);
void plugins_on_start(void);
void plugins_on_shutdown(void);
void plugins_on_connect(const char * const account_name, const char * const fulljid);
void plugins_on_disconnect(const char * const account_name, const char * const fulljid);
void plugins_on_connect(const char *const account_name, const char *const fulljid);
void plugins_on_disconnect(const char *const account_name, const char *const fulljid);
char* plugins_pre_chat_message_display(const char * const jid, const char *message);
void plugins_post_chat_message_display(const char * const jid, const char *message);
char* plugins_pre_chat_message_send(const char * const jid, const char *message);
void plugins_post_chat_message_send(const char * const jid, const char *message);
char* plugins_pre_chat_message_display(const char *const jid, const char *message);
void plugins_post_chat_message_display(const char *const jid, const char *message);
char* plugins_pre_chat_message_send(const char *const jid, const char *message);
void plugins_post_chat_message_send(const char *const jid, const char *message);
char* plugins_pre_room_message_display(const char * const room, const char * const nick, const char *message);
void plugins_post_room_message_display(const char * const room, const char * const nick, const char *message);
char* plugins_pre_room_message_send(const char * const room, const char *message);
void plugins_post_room_message_send(const char * const room, const char *message);
char* plugins_pre_room_message_display(const char *const room, const char *const nick, const char *message);
void plugins_post_room_message_display(const char *const room, const char *const nick, const char *message);
char* plugins_pre_room_message_send(const char *const room, const char *message);
void plugins_post_room_message_send(const char *const room, const char *message);
char* plugins_pre_priv_message_display(const char * const jid, const char *message);
void plugins_post_priv_message_display(const char * const jid, const char *message);
char* plugins_pre_priv_message_send(const char * const jid, const char * const message);
void plugins_post_priv_message_send(const char * const jid, const char * const message);
char* plugins_pre_priv_message_display(const char *const jid, const char *message);
void plugins_post_priv_message_display(const char *const jid, const char *message);
char* plugins_pre_priv_message_send(const char *const jid, const char *const message);
void plugins_post_priv_message_send(const char *const jid, const char *const message);
void plugins_win_process_line(char *win, const char * const line);
void plugins_win_process_line(char *win, const char *const line);
char* plugins_on_message_stanza_send(const char *const text);
gboolean plugins_on_message_stanza_receive(const char *const text);
@@ -119,6 +131,10 @@ gboolean plugins_on_presence_stanza_receive(const char *const text);
char* plugins_on_iq_stanza_send(const char *const text);
gboolean plugins_on_iq_stanza_receive(const char *const text);
void plugins_on_contact_offline(const char *const barejid, const char *const resource, const char *const status);
void plugins_on_contact_presence(const char *const barejid, const char *const resource, const char *const presence,
const char *const status, const int priority);
gboolean plugins_run_command(const char * const cmd);
void plugins_run_timed(void);
GList* plugins_get_command_names(void);