diff options
Diffstat (limited to 'src/xmpp')
-rw-r--r-- | src/xmpp/bookmark.c | 30 | ||||
-rw-r--r-- | src/xmpp/capabilities.c | 15 | ||||
-rw-r--r-- | src/xmpp/connection.c | 69 | ||||
-rw-r--r-- | src/xmpp/iq.c | 25 | ||||
-rw-r--r-- | src/xmpp/message.c | 45 | ||||
-rw-r--r-- | src/xmpp/presence.c | 59 | ||||
-rw-r--r-- | src/xmpp/roster.c | 33 | ||||
-rw-r--r-- | src/xmpp/xmpp.h | 106 |
8 files changed, 236 insertions, 146 deletions
diff --git a/src/xmpp/bookmark.c b/src/xmpp/bookmark.c index 0818f9ee..4516454f 100644 --- a/src/xmpp/bookmark.c +++ b/src/xmpp/bookmark.c @@ -61,8 +61,8 @@ bookmark_request(void) xmpp_stanza_release(iq); } -void -bookmark_add(const char *jid, const char *nick, gboolean autojoin) +static void +_bookmark_add(const char *jid, const char *nick, gboolean autojoin) { /* TODO: send request */ /* TODO: manage bookmark_list */ @@ -72,8 +72,8 @@ bookmark_add(const char *jid, const char *nick, gboolean autojoin) autocomplete_add(bookmark_ac, jid); } -void -bookmark_remove(const char *jid, gboolean autojoin) +static void +_bookmark_remove(const char *jid, gboolean autojoin) { /* TODO: manage bookmark_list */ if (autojoin) { @@ -84,20 +84,20 @@ bookmark_remove(const char *jid, gboolean autojoin) } } -const GList * -bookmark_get_list(void) +static const GList * +_bookmark_get_list(void) { return bookmark_list; } -char * -bookmark_find(char *search_str) +static char * +_bookmark_find(char *search_str) { return autocomplete_complete(bookmark_ac, search_str); } -void -bookmark_autocomplete_reset(void) +static void +_bookmark_autocomplete_reset(void) { if (bookmark_ac != NULL) { autocomplete_reset(bookmark_ac); @@ -243,3 +243,13 @@ _bookmark_item_destroy(gpointer item) free(p->nick); free(p); } + +void +bookmark_init_module(void) +{ + bookmark_add = _bookmark_add; + bookmark_remove = _bookmark_remove; + bookmark_get_list = _bookmark_get_list; + bookmark_find = _bookmark_find; + bookmark_autocomplete_reset = _bookmark_autocomplete_reset; +} diff --git a/src/xmpp/capabilities.c b/src/xmpp/capabilities.c index 658be124..fc71ae54 100644 --- a/src/xmpp/capabilities.c +++ b/src/xmpp/capabilities.c @@ -107,8 +107,8 @@ caps_contains(const char * const caps_str) return (g_hash_table_lookup(capabilities, caps_str) != NULL); } -Capabilities * -caps_get(const char * const caps_str) +static Capabilities * +_caps_get(const char * const caps_str) { return g_hash_table_lookup(capabilities, caps_str); } @@ -303,8 +303,8 @@ caps_create_query_response_stanza(xmpp_ctx_t * const ctx) return query; } -void -caps_close(void) +static void +_caps_close(void) { g_hash_table_destroy(capabilities); } @@ -326,3 +326,10 @@ _caps_destroy(Capabilities *caps) free(caps); } } + +void +capabilities_init_module(void) +{ + caps_get = _caps_get; + caps_close = _caps_close; +} diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c index a1cb31c4..f38da800 100644 --- a/src/xmpp/connection.c +++ b/src/xmpp/connection.c @@ -91,8 +91,8 @@ void _connection_free_saved_account(void); void _connection_free_saved_details(void); void _connection_free_session_data(void); -void -jabber_init(const int disable_tls) +static void +_jabber_init(const int disable_tls) { log_info("Initialising XMPP"); jabber_conn.conn_status = JABBER_STARTED; @@ -108,8 +108,8 @@ jabber_init(const int disable_tls) xmpp_initialize(); } -jabber_conn_status_t -jabber_connect_with_account(const ProfAccount * const account) +static jabber_conn_status_t +_jabber_connect_with_account(const ProfAccount * const account) { assert(account != NULL); @@ -128,8 +128,8 @@ jabber_connect_with_account(const ProfAccount * const account) return result; } -jabber_conn_status_t -jabber_connect_with_details(const char * const jid, +static jabber_conn_status_t +_jabber_connect_with_details(const char * const jid, const char * const passwd, const char * const altdomain) { assert(jid != NULL); @@ -160,8 +160,8 @@ jabber_connect_with_details(const char * const jid, return _jabber_connect(saved_details.jid, passwd, saved_details.altdomain); } -void -jabber_disconnect(void) +static void +_jabber_disconnect(void) { // if connected, send end stream and wait for response if (jabber_conn.conn_status == JABBER_CONNECTED) { @@ -190,14 +190,14 @@ jabber_disconnect(void) FREE_SET_NULL(jabber_conn.domain); } -void -jabber_shutdown(void) +static void +_jabber_shutdown(void) { xmpp_shutdown(); } -void -jabber_process_events(void) +static void +_jabber_process_events(void) { // run xmpp event loop if connected, connecting or disconnecting if (jabber_conn.conn_status == JABBER_CONNECTED @@ -217,8 +217,8 @@ jabber_process_events(void) } -void -jabber_set_autoping(const int seconds) +static void +_jabber_set_autoping(const int seconds) { if (jabber_conn.conn_status == JABBER_CONNECTED) { xmpp_timed_handler_delete(jabber_conn.conn, _ping_timed_handler); @@ -231,14 +231,14 @@ jabber_set_autoping(const int seconds) } } -GList * -jabber_get_available_resources(void) +static GList * +_jabber_get_available_resources(void) { return g_hash_table_get_values(available_resources); } -jabber_conn_status_t -jabber_get_connection_status(void) +static jabber_conn_status_t +_jabber_get_connection_status(void) { return (jabber_conn.conn_status); } @@ -255,26 +255,26 @@ connection_get_ctx(void) return jabber_conn.ctx; } -const char * -jabber_get_fulljid(void) +static const char * +_jabber_get_fulljid(void) { return xmpp_conn_get_jid(jabber_conn.conn); } -const char * -jabber_get_domain(void) +static const char * +_jabber_get_domain(void) { return jabber_conn.domain; } -char * -jabber_get_presence_message(void) +static char * +_jabber_get_presence_message(void) { return jabber_conn.presence_message; } -char * -jabber_get_account_name(void) +static char * +_jabber_get_account_name(void) { return saved_account.name; } @@ -615,3 +615,20 @@ _xmpp_get_file_logger() return file_log; } +void +jabber_init_module(void) +{ + jabber_init = _jabber_init; + jabber_connect_with_account = _jabber_connect_with_account; + jabber_connect_with_details = _jabber_connect_with_details; + jabber_disconnect = _jabber_disconnect; + jabber_shutdown = _jabber_shutdown; + jabber_process_events = _jabber_process_events; + jabber_set_autoping = _jabber_set_autoping; + jabber_get_available_resources = _jabber_get_available_resources; + jabber_get_connection_status = _jabber_get_connection_status; + jabber_get_fulljid = _jabber_get_fulljid; + jabber_get_domain = _jabber_get_domain; + jabber_get_presence_message = _jabber_get_presence_message; + jabber_get_account_name = _jabber_get_account_name; +} diff --git a/src/xmpp/iq.c b/src/xmpp/iq.c index fdabe771..369d7f7e 100644 --- a/src/xmpp/iq.c +++ b/src/xmpp/iq.c @@ -75,8 +75,8 @@ iq_add_handlers(void) HANDLE(STANZA_NS_PING, STANZA_TYPE_GET, _iq_handle_ping_get); } -void -iq_room_list_request(gchar *conferencejid) +static void +_iq_room_list_request(gchar *conferencejid) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -85,8 +85,8 @@ iq_room_list_request(gchar *conferencejid) xmpp_stanza_release(iq); } -void -iq_disco_info_request(gchar *jid) +static void +_iq_disco_info_request(gchar *jid) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -95,8 +95,8 @@ iq_disco_info_request(gchar *jid) xmpp_stanza_release(iq); } -void -iq_disco_items_request(gchar *jid) +static void +_iq_disco_items_request(gchar *jid) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -105,8 +105,8 @@ iq_disco_items_request(gchar *jid) xmpp_stanza_release(iq); } -void -iq_send_software_version(const char * const fulljid) +static void +_iq_send_software_version(const char * const fulljid) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -567,3 +567,12 @@ _iq_handle_discoitems_result(xmpp_conn_t * const conn, xmpp_stanza_t * const sta return 1; } + +void +iq_init_module(void) +{ + iq_room_list_request = _iq_room_list_request; + iq_disco_info_request = _iq_disco_info_request; + iq_disco_items_request = _iq_disco_items_request; + iq_send_software_version = _iq_send_software_version; +} diff --git a/src/xmpp/message.c b/src/xmpp/message.c index a1644587..482a3965 100644 --- a/src/xmpp/message.c +++ b/src/xmpp/message.c @@ -57,8 +57,8 @@ message_add_handlers(void) HANDLE(NULL, NULL, _conference_message_handler); } -void -message_send(const char * const msg, const char * const recipient) +static void +_message_send(const char * const msg, const char * const recipient) { const char * jid = NULL; @@ -90,8 +90,8 @@ message_send(const char * const msg, const char * const recipient) xmpp_stanza_release(message); } -void -message_send_groupchat(const char * const msg, const char * const recipient) +static void +_message_send_groupchat(const char * const msg, const char * const recipient) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -102,8 +102,8 @@ message_send_groupchat(const char * const msg, const char * const recipient) xmpp_stanza_release(message); } -void -message_send_duck(const char * const query) +static void +_message_send_duck(const char * const query) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -114,8 +114,8 @@ message_send_duck(const char * const query) xmpp_stanza_release(message); } -void -message_send_invite(const char * const room, const char * const contact, +static void +_message_send_invite(const char * const room, const char * const contact, const char * const reason) { xmpp_conn_t * const conn = connection_get_conn(); @@ -126,8 +126,8 @@ message_send_invite(const char * const room, const char * const contact, xmpp_stanza_release(stanza); } -void -message_send_composing(const char * const recipient) +static void +_message_send_composing(const char * const recipient) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -139,8 +139,8 @@ message_send_composing(const char * const recipient) chat_session_set_sent(recipient); } -void -message_send_paused(const char * const recipient) +static void +_message_send_paused(const char * const recipient) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -152,8 +152,8 @@ message_send_paused(const char * const recipient) chat_session_set_sent(recipient); } -void -message_send_inactive(const char * const recipient) +static void +_message_send_inactive(const char * const recipient) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -165,8 +165,8 @@ message_send_inactive(const char * const recipient) chat_session_set_sent(recipient); } -void -message_send_gone(const char * const recipient) +static void +_message_send_gone(const char * const recipient) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -439,3 +439,16 @@ _chat_message_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, } } +void +message_init_module(void) +{ + message_send = _message_send; + message_send_groupchat = _message_send_groupchat; + message_send_duck = _message_send_duck; + message_send_invite = _message_send_invite; + message_send_composing = _message_send_composing; + message_send_paused = _message_send_paused; + message_send_inactive = _message_send_inactive; + message_send_gone = _message_send_gone; +} + diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c index ba9c6c02..3ca2f63e 100644 --- a/src/xmpp/presence.c +++ b/src/xmpp/presence.c @@ -80,8 +80,8 @@ presence_add_handlers(void) HANDLE(NULL, NULL, _available_handler); } -void -presence_subscription(const char * const jid, const jabber_subscr_t action) +static void +_presence_subscription(const char * const jid, const jabber_subscr_t action) { assert(jid != NULL); @@ -122,14 +122,14 @@ presence_subscription(const char * const jid, const jabber_subscr_t action) jid_destroy(jidp); } -GSList * -presence_get_subscription_requests(void) +static GSList * +_presence_get_subscription_requests(void) { return autocomplete_get_list(sub_requests_ac); } -gint -presence_sub_request_count(void) +static gint +_presence_sub_request_count(void) { return autocomplete_length(sub_requests_ac); } @@ -146,14 +146,14 @@ presence_clear_sub_requests(void) autocomplete_clear(sub_requests_ac); } -char * -presence_sub_request_find(char * search_str) +static char * +_presence_sub_request_find(char * search_str) { return autocomplete_complete(sub_requests_ac, search_str); } -gboolean -presence_sub_request_exists(const char * const bare_jid) +static gboolean +_presence_sub_request_exists(const char * const bare_jid) { gboolean result = FALSE; GSList *requests_p = autocomplete_get_list(sub_requests_ac); @@ -174,14 +174,14 @@ presence_sub_request_exists(const char * const bare_jid) return result; } -void -presence_reset_sub_request_search(void) +static void +_presence_reset_sub_request_search(void) { autocomplete_reset(sub_requests_ac); } -void -presence_update(const resource_presence_t presence_type, const char * const msg, +static void +_presence_update(const resource_presence_t presence_type, const char * const msg, const int idle) { if (jabber_get_connection_status() != JABBER_CONNECTED) { @@ -252,8 +252,8 @@ _send_room_presence(xmpp_conn_t *conn, xmpp_stanza_t *presence) } } -void -presence_join_room(Jid *jid) +static void +_presence_join_room(Jid *jid) { assert(jid != NULL); assert(jid->fulljid != NULL); @@ -261,7 +261,7 @@ presence_join_room(Jid *jid) log_debug("Sending room join presence to: %s", jid->fulljid); xmpp_ctx_t *ctx = connection_get_ctx(); xmpp_conn_t *conn = connection_get_conn(); - contact_presence_t presence_type = + resource_presence_t presence_type = accounts_get_last_presence(jabber_get_account_name()); const char *show = stanza_get_presence_string_from_type(presence_type); char *status = jabber_get_presence_message(); @@ -280,8 +280,8 @@ presence_join_room(Jid *jid) muc_join_room(jid->barejid, jid->resourcepart); } -void -presence_change_room_nick(const char * const room, const char * const nick) +static void +_presence_change_room_nick(const char * const room, const char * const nick) { assert(room != NULL); assert(nick != NULL); @@ -289,7 +289,7 @@ presence_change_room_nick(const char * const room, const char * const nick) log_debug("Sending room nickname change to: %s, nick: %s", room, nick); xmpp_ctx_t *ctx = connection_get_ctx(); xmpp_conn_t *conn = connection_get_conn(); - contact_presence_t presence_type = + resource_presence_t presence_type = accounts_get_last_presence(jabber_get_account_name()); const char *show = stanza_get_presence_string_from_type(presence_type); char *status = jabber_get_presence_message(); @@ -310,8 +310,8 @@ presence_change_room_nick(const char * const room, const char * const nick) free(full_room_jid); } -void -presence_leave_chat_room(const char * const room_jid) +static void +_presence_leave_chat_room(const char * const room_jid) { assert(room_jid != NULL); @@ -686,3 +686,18 @@ _room_presence_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, return 1; } + +void +presence_init_module(void) +{ + presence_subscription = _presence_subscription; + presence_get_subscription_requests = _presence_get_subscription_requests; + presence_sub_request_count = _presence_sub_request_count; + presence_sub_request_find = _presence_sub_request_find; + presence_sub_request_exists = _presence_sub_request_exists; + presence_reset_sub_request_search = _presence_reset_sub_request_search; + presence_update = _presence_update; + presence_join_room = _presence_join_room; + presence_change_room_nick = _presence_change_room_nick; + presence_leave_chat_room = _presence_leave_chat_room; +} diff --git a/src/xmpp/roster.c b/src/xmpp/roster.c index 51c34ea1..e84de155 100644 --- a/src/xmpp/roster.c +++ b/src/xmpp/roster.c @@ -81,8 +81,8 @@ roster_request(void) xmpp_stanza_release(iq); } -void -roster_add_new(const char * const barejid, const char * const name) +static void +_roster_add_new(const char * const barejid, const char * const name) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -91,8 +91,8 @@ roster_add_new(const char * const barejid, const char * const name) xmpp_stanza_release(iq); } -void -roster_send_remove(const char * const barejid) +static void +_roster_send_remove(const char * const barejid) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -101,8 +101,8 @@ roster_send_remove(const char * const barejid) xmpp_stanza_release(iq); } -void -roster_send_name_change(const char * const barejid, const char * const new_name, GSList *groups) +static void +_roster_send_name_change(const char * const barejid, const char * const new_name, GSList *groups) { xmpp_conn_t * const conn = connection_get_conn(); xmpp_ctx_t * const ctx = connection_get_ctx(); @@ -112,8 +112,8 @@ roster_send_name_change(const char * const barejid, const char * const new_name, xmpp_stanza_release(iq); } -void -roster_send_add_to_group(const char * const group, PContact contact) +static void +_roster_send_add_to_group(const char * const group, PContact contact) { GSList *groups = p_contact_groups(contact); GSList *new_groups = NULL; @@ -157,8 +157,8 @@ _group_add_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, return 0; } -void -roster_send_remove_from_group(const char * const group, PContact contact) +static void +_roster_send_remove_from_group(const char * const group, PContact contact) { GSList *groups = p_contact_groups(contact); GSList *new_groups = NULL; @@ -297,7 +297,7 @@ _roster_handle_result(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, item = xmpp_stanza_get_next(item); } - contact_presence_t conn_presence = + resource_presence_t conn_presence = accounts_get_login_presence(jabber_get_account_name()); presence_update(conn_presence, NULL, 0); } @@ -323,3 +323,14 @@ _get_groups_from_item(xmpp_stanza_t *item) return groups; } + +void +roster_init_module(void) +{ + roster_add_new = _roster_add_new; + roster_send_remove = _roster_send_remove; + roster_send_name_change = _roster_send_name_change; + roster_send_add_to_group = _roster_send_add_to_group; + roster_send_remove_from_group = _roster_send_remove_from_group; + +} diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h index 21c25aa4..90b17e59 100644 --- a/src/xmpp/xmpp.h +++ b/src/xmpp/xmpp.h @@ -74,66 +74,74 @@ typedef struct disco_identity_t { char *category; } DiscoIdentity; +void jabber_init_module(void); +void bookmark_init_module(void); +void capabilities_init_module(void); +void iq_init_module(void); +void message_init_module(void); +void presence_init_module(void); +void roster_init_module(void); + // connection functions -void jabber_init(const int disable_tls); -jabber_conn_status_t jabber_connect_with_details(const char * const jid, +void (*jabber_init)(const int disable_tls); +jabber_conn_status_t (*jabber_connect_with_details)(const char * const jid, const char * const passwd, const char * const altdomain); -jabber_conn_status_t jabber_connect_with_account(const ProfAccount * const account); -void jabber_disconnect(void); -void jabber_shutdown(void); -void jabber_process_events(void); -const char * jabber_get_fulljid(void); -const char * jabber_get_domain(void); -jabber_conn_status_t jabber_get_connection_status(void); -char * jabber_get_presence_message(void); -void jabber_set_autoping(int seconds); -char* jabber_get_account_name(void); -GList * jabber_get_available_resources(void); +jabber_conn_status_t (*jabber_connect_with_account)(const ProfAccount * const account); +void (*jabber_disconnect)(void); +void (*jabber_shutdown)(void); +void (*jabber_process_events)(void); +const char * (*jabber_get_fulljid)(void); +const char * (*jabber_get_domain)(void); +jabber_conn_status_t (*jabber_get_connection_status)(void); +char * (*jabber_get_presence_message)(void); +void (*jabber_set_autoping)(int seconds); +char* (*jabber_get_account_name)(void); +GList * (*jabber_get_available_resources)(void); // message functions -void message_send(const char * const msg, const char * const recipient); -void message_send_groupchat(const char * const msg, const char * const recipient); -void message_send_inactive(const char * const recipient); -void message_send_composing(const char * const recipient); -void message_send_paused(const char * const recipient); -void message_send_gone(const char * const recipient); -void message_send_invite(const char * const room, const char * const contact, +void (*message_send)(const char * const msg, const char * const recipient); +void (*message_send_groupchat)(const char * const msg, const char * const recipient); +void (*message_send_inactive)(const char * const recipient); +void (*message_send_composing)(const char * const recipient); +void (*message_send_paused)(const char * const recipient); +void (*message_send_gone)(const char * const recipient); +void (*message_send_invite)(const char * const room, const char * const contact, const char * const reason); -void message_send_duck(const char * const query); +void (*message_send_duck)(const char * const query); // presence functions -void presence_subscription(const char * const jid, const jabber_subscr_t action); -GSList* presence_get_subscription_requests(void); -gint presence_sub_request_count(void); -void presence_reset_sub_request_search(void); -char * presence_sub_request_find(char * search_str); -void presence_join_room(Jid *jid); -void presence_change_room_nick(const char * const room, const char * const nick); -void presence_leave_chat_room(const char * const room_jid); -void presence_update(resource_presence_t status, const char * const msg, +void (*presence_subscription)(const char * const jid, const jabber_subscr_t action); +GSList* (*presence_get_subscription_requests)(void); +gint (*presence_sub_request_count)(void); +void (*presence_reset_sub_request_search)(void); +char * (*presence_sub_request_find)(char * search_str); +void (*presence_join_room)(Jid *jid); +void (*presence_change_room_nick)(const char * const room, const char * const nick); +void (*presence_leave_chat_room)(const char * const room_jid); +void (*presence_update)(resource_presence_t status, const char * const msg, int idle); -gboolean presence_sub_request_exists(const char * const bare_jid); +gboolean (*presence_sub_request_exists)(const char * const bare_jid); // iq functions -void iq_send_software_version(const char * const fulljid); -void iq_room_list_request(gchar *conferencejid); -void iq_disco_info_request(gchar *jid); -void iq_disco_items_request(gchar *jid); +void (*iq_send_software_version)(const char * const fulljid); +void (*iq_room_list_request)(gchar *conferencejid); +void (*iq_disco_info_request)(gchar *jid); +void (*iq_disco_items_request)(gchar *jid); // caps functions -Capabilities* caps_get(const char * const caps_str); -void caps_close(void); - -void bookmark_add(const char *jid, const char *nick, gboolean autojoin); -void bookmark_remove(const char *jid, gboolean autojoin); -const GList *bookmark_get_list(void); -char *bookmark_find(char *search_str); -void bookmark_autocomplete_reset(void); - -void roster_send_name_change(const char * const barejid, const char * const new_name, GSList *groups); -void roster_send_add_to_group(const char * const group, PContact contact); -void roster_send_remove_from_group(const char * const group, PContact contact); -void roster_add_new(const char * const barejid, const char * const name); -void roster_send_remove(const char * const barejid); +Capabilities* (*caps_get)(const char * const caps_str); +void (*caps_close)(void); + +void (*bookmark_add)(const char *jid, const char *nick, gboolean autojoin); +void (*bookmark_remove)(const char *jid, gboolean autojoin); +const GList * (*bookmark_get_list)(void); +char * (*bookmark_find)(char *search_str); +void (*bookmark_autocomplete_reset)(void); + +void (*roster_send_name_change)(const char * const barejid, const char * const new_name, GSList *groups); +void (*roster_send_add_to_group)(const char * const group, PContact contact); +void (*roster_send_remove_from_group)(const char * const group, PContact contact); +void (*roster_add_new)(const char * const barejid, const char * const name); +void (*roster_send_remove)(const char * const barejid); #endif |