Mercurial > pidgin.yaz
diff libpurple/protocols/sametime/sametime.c @ 15823:32c366eeeb99
sed -ie 's/gaim/purple/g'
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Mon, 19 Mar 2007 07:01:17 +0000 |
parents | 47ca3cfedb32 |
children | 9fb7f9413174 |
line wrap: on
line diff
--- a/libpurple/protocols/sametime/sametime.c Mon Mar 19 06:11:46 2007 +0000 +++ b/libpurple/protocols/sametime/sametime.c Mon Mar 19 07:01:17 2007 +0000 @@ -1,7 +1,7 @@ /* - Meanwhile Protocol Plugin for Gaim - Adds Lotus Sametime support to Gaim using the Meanwhile library + Meanwhile Protocol Plugin for Purple + Adds Lotus Sametime support to Purple using the Meanwhile library Copyright (C) 2004 Christopher (siege) O'Brien <siege@preoccupied.net> @@ -31,7 +31,7 @@ #include <glib/ghash.h> #include <glib/glist.h> -/* gaim includes */ +/* purple includes */ #include "internal.h" #include "config.h" @@ -138,7 +138,7 @@ #define mwSession_NO_SECRET "meanwhile.no_secret" -/* keys to get/set gaim plugin information */ +/* keys to get/set purple plugin information */ #define MW_KEY_HOST "server" #define MW_KEY_PORT "port" #define MW_KEY_FORCE "force_login" @@ -167,7 +167,7 @@ /* testing for the above */ -#define BLIST_PREF_IS(n) (gaim_prefs_get_int(MW_PRPL_OPT_BLIST_ACTION)==(n)) +#define BLIST_PREF_IS(n) (purple_prefs_get_int(MW_PRPL_OPT_BLIST_ACTION)==(n)) #define BLIST_PREF_IS_LOCAL() BLIST_PREF_IS(blist_choice_LOCAL) #define BLIST_PREF_IS_MERGE() BLIST_PREF_IS(blist_choice_MERGE) #define BLIST_PREF_IS_STORE() BLIST_PREF_IS(blist_choice_STORE) @@ -175,10 +175,10 @@ /* debugging output */ -#define DEBUG_ERROR(a...) gaim_debug_error(G_LOG_DOMAIN, a) -#define DEBUG_INFO(a...) gaim_debug_info(G_LOG_DOMAIN, a) -#define DEBUG_MISC(a...) gaim_debug_misc(G_LOG_DOMAIN, a) -#define DEBUG_WARN(a...) gaim_debug_warning(G_LOG_DOMAIN, a) +#define DEBUG_ERROR(a...) purple_debug_error(G_LOG_DOMAIN, a) +#define DEBUG_INFO(a...) purple_debug_info(G_LOG_DOMAIN, a) +#define DEBUG_MISC(a...) purple_debug_misc(G_LOG_DOMAIN, a) +#define DEBUG_WARN(a...) purple_debug_warning(G_LOG_DOMAIN, a) /** ensure non-null strings */ @@ -200,9 +200,9 @@ static guint log_handler[2] = { 0, 0 }; -/** the gaim plugin data. +/** the purple plugin data. available as gc->proto_data and mwSession_getClientData */ -struct mwGaimPluginData { +struct mwPurplePluginData { struct mwSession *session; struct mwServiceAware *srvc_aware; @@ -213,7 +213,7 @@ struct mwServiceResolve *srvc_resolve; struct mwServiceStorage *srvc_store; - /** map of GaimGroup:mwAwareList and mwAwareList:GaimGroup */ + /** map of PurpleGroup:mwAwareList and mwAwareList:PurpleGroup */ GHashTable *group_list_map; /** event id for the buddy list save callback */ @@ -224,59 +224,59 @@ gint outpa; /* like inpa, but the other way */ /** circular buffer for outgoing data */ - GaimCircBuffer *sock_buf; - - GaimConnection *gc; + PurpleCircBuffer *sock_buf; + + PurpleConnection *gc; }; typedef struct { - GaimBuddy *buddy; - GaimGroup *group; + PurpleBuddy *buddy; + PurpleGroup *group; } BuddyAddData; /* blist and aware functions */ -static void blist_export(GaimConnection *gc, struct mwSametimeList *stlist); - -static void blist_store(struct mwGaimPluginData *pd); - -static void blist_schedule(struct mwGaimPluginData *pd); - -static void blist_merge(GaimConnection *gc, struct mwSametimeList *stlist); - -static void blist_sync(GaimConnection *gc, struct mwSametimeList *stlist); - -static gboolean buddy_is_external(GaimBuddy *b); - -static void buddy_add(struct mwGaimPluginData *pd, GaimBuddy *buddy); - -static GaimBuddy * -buddy_ensure(GaimConnection *gc, GaimGroup *group, +static void blist_export(PurpleConnection *gc, struct mwSametimeList *stlist); + +static void blist_store(struct mwPurplePluginData *pd); + +static void blist_schedule(struct mwPurplePluginData *pd); + +static void blist_merge(PurpleConnection *gc, struct mwSametimeList *stlist); + +static void blist_sync(PurpleConnection *gc, struct mwSametimeList *stlist); + +static gboolean buddy_is_external(PurpleBuddy *b); + +static void buddy_add(struct mwPurplePluginData *pd, PurpleBuddy *buddy); + +static PurpleBuddy * +buddy_ensure(PurpleConnection *gc, PurpleGroup *group, struct mwSametimeUser *stuser); -static void group_add(struct mwGaimPluginData *pd, GaimGroup *group); - -static GaimGroup * -group_ensure(GaimConnection *gc, struct mwSametimeGroup *stgroup); +static void group_add(struct mwPurplePluginData *pd, PurpleGroup *group); + +static PurpleGroup * +group_ensure(PurpleConnection *gc, struct mwSametimeGroup *stgroup); static struct mwAwareList * -list_ensure(struct mwGaimPluginData *pd, GaimGroup *group); +list_ensure(struct mwPurplePluginData *pd, PurpleGroup *group); /* session functions */ static struct mwSession * -gc_to_session(GaimConnection *gc); - -static GaimConnection *session_to_gc(struct mwSession *session); +gc_to_session(PurpleConnection *gc); + +static PurpleConnection *session_to_gc(struct mwSession *session); /* conference functions */ static struct mwConference * -conf_find_by_id(struct mwGaimPluginData *pd, int id); +conf_find_by_id(struct mwPurplePluginData *pd, int id); /* conversation functions */ @@ -299,7 +299,7 @@ static void convo_features(struct mwConversation *conv); -static GaimConversation *convo_get_gconv(struct mwConversation *conv); +static PurpleConversation *convo_get_gconv(struct mwConversation *conv); /* name and id */ @@ -318,9 +318,9 @@ /* ----- session ------ */ -/** resolves a mwSession from a GaimConnection */ -static struct mwSession *gc_to_session(GaimConnection *gc) { - struct mwGaimPluginData *pd; +/** resolves a mwSession from a PurpleConnection */ +static struct mwSession *gc_to_session(PurpleConnection *gc) { + struct mwPurplePluginData *pd; g_return_val_if_fail(gc != NULL, NULL); @@ -331,9 +331,9 @@ } -/** resolves a GaimConnection from a mwSession */ -static GaimConnection *session_to_gc(struct mwSession *session) { - struct mwGaimPluginData *pd; +/** resolves a PurpleConnection from a mwSession */ +static PurpleConnection *session_to_gc(struct mwSession *session) { + struct mwPurplePluginData *pd; g_return_val_if_fail(session != NULL, NULL); @@ -344,9 +344,9 @@ } -static void write_cb(gpointer data, gint source, GaimInputCondition cond) { - struct mwGaimPluginData *pd = data; - GaimCircBuffer *circ = pd->sock_buf; +static void write_cb(gpointer data, gint source, PurpleInputCondition cond) { + struct mwPurplePluginData *pd = data; + PurpleCircBuffer *circ = pd->sock_buf; gsize avail; int ret; @@ -354,7 +354,7 @@ g_return_if_fail(circ != NULL); - avail = gaim_circ_buffer_get_max_read(circ); + avail = purple_circ_buffer_get_max_read(circ); if(BUF_LONG < avail) avail = BUF_LONG; while(avail) { @@ -363,13 +363,13 @@ if(ret <= 0) break; - gaim_circ_buffer_mark_read(circ, ret); - avail = gaim_circ_buffer_get_max_read(circ); + purple_circ_buffer_mark_read(circ, ret); + avail = purple_circ_buffer_get_max_read(circ); if(BUF_LONG < avail) avail = BUF_LONG; } if(! avail) { - gaim_input_remove(pd->outpa); + purple_input_remove(pd->outpa); pd->outpa = 0; } } @@ -377,7 +377,7 @@ static int mw_session_io_write(struct mwSession *session, const guchar *buf, gsize len) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; int ret = 0; int err = 0; @@ -389,7 +389,7 @@ if(pd->outpa) { DEBUG_INFO("already pending INPUT_WRITE, buffering\n"); - gaim_circ_buffer_append(pd->sock_buf, buf, len); + purple_circ_buffer_append(pd->sock_buf, buf, len); return 0; } @@ -409,12 +409,12 @@ if(err == EAGAIN) { /* append remainder to circular buffer */ DEBUG_INFO("EAGAIN\n"); - gaim_circ_buffer_append(pd->sock_buf, buf, len); - pd->outpa = gaim_input_add(pd->socket, GAIM_INPUT_WRITE, write_cb, pd); + purple_circ_buffer_append(pd->sock_buf, buf, len); + pd->outpa = purple_input_add(pd->socket, PURPLE_INPUT_WRITE, write_cb, pd); } else if(len > 0) { DEBUG_ERROR("write returned %i, %i bytes left unwritten\n", ret, len); - gaim_connection_error(pd->gc, _("Connection closed (writing)")); + purple_connection_error(pd->gc, _("Connection closed (writing)")); #if 0 close(pd->socket); @@ -429,8 +429,8 @@ static void mw_session_io_close(struct mwSession *session) { - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; pd = mwSession_getClientData(session); g_return_if_fail(pd != NULL); @@ -438,7 +438,7 @@ gc = pd->gc; if(pd->outpa) { - gaim_input_remove(pd->outpa); + purple_input_remove(pd->outpa); pd->outpa = 0; } @@ -448,7 +448,7 @@ } if(gc->inpa) { - gaim_input_remove(gc->inpa); + purple_input_remove(gc->inpa); gc->inpa = 0; } } @@ -477,25 +477,25 @@ match = result->matches->data; g_return_if_fail(match != NULL); - gaim_blist_server_alias_buddy(data, match->name); - gaim_blist_node_set_string(data, BUDDY_KEY_NAME, match->name); + purple_blist_server_alias_buddy(data, match->name); + purple_blist_node_set_string(data, BUDDY_KEY_NAME, match->name); } static void mw_aware_list_on_aware(struct mwAwareList *list, struct mwAwareSnapshot *aware) { - GaimConnection *gc; - GaimAccount *acct; + PurpleConnection *gc; + PurpleAccount *acct; - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; guint32 idle; guint stat; const char *id; const char *status = MW_STATE_ACTIVE; gc = mwAwareList_getClientData(list); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); pd = gc->proto_data; idle = aware->status.time; @@ -559,22 +559,22 @@ /* NAB group members */ if(aware->group) { - GaimGroup *group; - GaimBuddy *buddy; - GaimBlistNode *bnode; + PurpleGroup *group; + PurpleBuddy *buddy; + PurpleBlistNode *bnode; group = g_hash_table_lookup(pd->group_list_map, list); - buddy = gaim_find_buddy_in_group(acct, id, group); - bnode = (GaimBlistNode *) buddy; + buddy = purple_find_buddy_in_group(acct, id, group); + bnode = (PurpleBlistNode *) buddy; if(! buddy) { struct mwServiceResolve *srvc; GList *query; - buddy = gaim_buddy_new(acct, id, NULL); - gaim_blist_add_buddy(buddy, NULL, group, NULL); - - bnode = (GaimBlistNode *) buddy; + buddy = purple_buddy_new(acct, id, NULL); + purple_blist_add_buddy(buddy, NULL, group, NULL); + + bnode = (PurpleBlistNode *) buddy; srvc = pd->srvc_resolve; query = g_list_append(NULL, (char *) id); @@ -584,15 +584,15 @@ g_list_free(query); } - gaim_blist_node_set_int(bnode, BUDDY_KEY_TYPE, mwSametimeUser_NORMAL); + purple_blist_node_set_int(bnode, BUDDY_KEY_TYPE, mwSametimeUser_NORMAL); } if(aware->online) { - gaim_prpl_got_user_status(acct, id, status, NULL); - gaim_prpl_got_user_idle(acct, id, !!idle, (time_t) idle); + purple_prpl_got_user_status(acct, id, status, NULL); + purple_prpl_got_user_idle(acct, id, !!idle, (time_t) idle); } else { - gaim_prpl_got_user_status(acct, id, MW_STATE_OFFLINE, NULL); + purple_prpl_got_user_status(acct, id, MW_STATE_OFFLINE, NULL); } } @@ -620,7 +620,7 @@ /** Ensures that an Aware List is associated with the given group, and returns that list. */ static struct mwAwareList * -list_ensure(struct mwGaimPluginData *pd, GaimGroup *group) { +list_ensure(struct mwPurplePluginData *pd, PurpleGroup *group) { struct mwAwareList *list; @@ -648,25 +648,25 @@ } -static void blist_export(GaimConnection *gc, struct mwSametimeList *stlist) { +static void blist_export(PurpleConnection *gc, struct mwSametimeList *stlist) { /* - find the account for this connection - iterate through the buddy list - add each buddy matching this account to the stlist */ - GaimAccount *acct; - GaimBuddyList *blist; - GaimBlistNode *gn, *cn, *bn; - GaimGroup *grp; - GaimBuddy *bdy; + PurpleAccount *acct; + PurpleBuddyList *blist; + PurpleBlistNode *gn, *cn, *bn; + PurpleGroup *grp; + PurpleBuddy *bdy; struct mwSametimeGroup *stg = NULL; struct mwIdBlock idb = { NULL, NULL }; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); - blist = gaim_get_blist(); + blist = purple_get_blist(); g_return_if_fail(blist != NULL); for(gn = blist->root; gn; gn = gn->next) { @@ -675,29 +675,29 @@ enum mwSametimeGroupType gtype; gboolean gopen; - if(! GAIM_BLIST_NODE_IS_GROUP(gn)) continue; - grp = (GaimGroup *) gn; + if(! PURPLE_BLIST_NODE_IS_GROUP(gn)) continue; + grp = (PurpleGroup *) gn; /* the group's type (normal or dynamic) */ - gtype = gaim_blist_node_get_int(gn, GROUP_KEY_TYPE); + gtype = purple_blist_node_get_int(gn, GROUP_KEY_TYPE); if(! gtype) gtype = mwSametimeGroup_NORMAL; /* if it's a normal group with none of our people in it, skip it */ - if(gtype == mwSametimeGroup_NORMAL && !gaim_group_on_account(grp, acct)) + if(gtype == mwSametimeGroup_NORMAL && !purple_group_on_account(grp, acct)) continue; /* if the group has an owner and we're not it, skip it */ - owner = gaim_blist_node_get_string(gn, GROUP_KEY_OWNER); - if(owner && strcmp(owner, gaim_account_get_username(acct))) + owner = purple_blist_node_get_string(gn, GROUP_KEY_OWNER); + if(owner && strcmp(owner, purple_account_get_username(acct))) continue; - /* the group's actual name may be different from the gaim group's + /* the group's actual name may be different from the purple group's name. Find whichever is there */ - gname = gaim_blist_node_get_string(gn, GROUP_KEY_NAME); + gname = purple_blist_node_get_string(gn, GROUP_KEY_NAME); if(! gname) gname = grp->name; /* we save this, but never actually honor it */ - gopen = ! gaim_blist_node_get_bool(gn, GROUP_KEY_COLLAPSED); + gopen = ! purple_blist_node_get_bool(gn, GROUP_KEY_COLLAPSED); stg = mwSametimeGroup_new(stlist, gtype, gname); mwSametimeGroup_setAlias(stg, grp->name); @@ -709,13 +709,13 @@ continue; for(cn = gn->child; cn; cn = cn->next) { - if(! GAIM_BLIST_NODE_IS_CONTACT(cn)) continue; + if(! PURPLE_BLIST_NODE_IS_CONTACT(cn)) continue; for(bn = cn->child; bn; bn = bn->next) { - if(! GAIM_BLIST_NODE_IS_BUDDY(bn)) continue; - if(! GAIM_BLIST_NODE_SHOULD_SAVE(bn)) continue; - - bdy = (GaimBuddy *) bn; + if(! PURPLE_BLIST_NODE_IS_BUDDY(bn)) continue; + if(! PURPLE_BLIST_NODE_SHOULD_SAVE(bn)) continue; + + bdy = (PurpleBuddy *) bn; if(bdy->account == acct) { struct mwSametimeUser *stu; @@ -723,7 +723,7 @@ idb.user = bdy->name; - utype = gaim_blist_node_get_int(bn, BUDDY_KEY_TYPE); + utype = purple_blist_node_get_int(bn, BUDDY_KEY_TYPE); if(! utype) utype = mwSametimeUser_NORMAL; stu = mwSametimeUser_new(stg, utype, &idb); @@ -736,13 +736,13 @@ } -static void blist_store(struct mwGaimPluginData *pd) { +static void blist_store(struct mwPurplePluginData *pd) { struct mwSametimeList *stlist; struct mwServiceStorage *srvc; struct mwStorageUnit *unit; - GaimConnection *gc; + PurpleConnection *gc; struct mwPutBuffer *b; struct mwOpaque *o; @@ -789,7 +789,7 @@ static gboolean blist_save_cb(gpointer data) { - struct mwGaimPluginData *pd = data; + struct mwPurplePluginData *pd = data; blist_store(pd); pd->save_event = 0; @@ -798,38 +798,38 @@ /** schedules the buddy list to be saved to the server */ -static void blist_schedule(struct mwGaimPluginData *pd) { +static void blist_schedule(struct mwPurplePluginData *pd) { if(pd->save_event) return; - pd->save_event = gaim_timeout_add(BLIST_SAVE_SECONDS * 1000, + pd->save_event = purple_timeout_add(BLIST_SAVE_SECONDS * 1000, blist_save_cb, pd); } -static gboolean buddy_is_external(GaimBuddy *b) { +static gboolean buddy_is_external(PurpleBuddy *b) { g_return_val_if_fail(b != NULL, FALSE); - return gaim_str_has_prefix(b->name, "@E "); + return purple_str_has_prefix(b->name, "@E "); } /** Actually add a buddy to the aware service, and schedule the buddy list to be saved to the server */ -static void buddy_add(struct mwGaimPluginData *pd, - GaimBuddy *buddy) { +static void buddy_add(struct mwPurplePluginData *pd, + PurpleBuddy *buddy) { struct mwAwareIdBlock idb = { mwAware_USER, (char *) buddy->name, NULL }; struct mwAwareList *list; - GaimGroup *group; + PurpleGroup *group; GList *add; add = g_list_prepend(NULL, &idb); - group = gaim_buddy_get_group(buddy); + group = purple_buddy_get_group(buddy); list = list_ensure(pd, group); if(mwAwareList_addAware(list, add)) { - gaim_blist_remove_buddy(buddy); + purple_blist_remove_buddy(buddy); } blist_schedule(pd); @@ -838,14 +838,14 @@ } -/** ensure that a GaimBuddy exists in the group with data +/** ensure that a PurpleBuddy exists in the group with data appropriately matching the st user entry from the st list */ -static GaimBuddy *buddy_ensure(GaimConnection *gc, GaimGroup *group, +static PurpleBuddy *buddy_ensure(PurpleConnection *gc, PurpleGroup *group, struct mwSametimeUser *stuser) { - struct mwGaimPluginData *pd = gc->proto_data; - GaimBuddy *buddy; - GaimAccount *acct = gaim_connection_get_account(gc); + struct mwPurplePluginData *pd = gc->proto_data; + PurpleBuddy *buddy; + PurpleAccount *acct = purple_connection_get_account(gc); const char *id = mwSametimeUser_getUser(stuser); const char *name = mwSametimeUser_getShortName(stuser); @@ -855,33 +855,33 @@ g_return_val_if_fail(id != NULL, NULL); g_return_val_if_fail(strlen(id) > 0, NULL); - buddy = gaim_find_buddy_in_group(acct, id, group); + buddy = purple_find_buddy_in_group(acct, id, group); if(! buddy) { - buddy = gaim_buddy_new(acct, id, alias); + buddy = purple_buddy_new(acct, id, alias); - gaim_blist_add_buddy(buddy, NULL, group, NULL); + purple_blist_add_buddy(buddy, NULL, group, NULL); buddy_add(pd, buddy); } - gaim_blist_alias_buddy(buddy, alias); - gaim_blist_server_alias_buddy(buddy, name); - gaim_blist_node_set_string((GaimBlistNode *) buddy, BUDDY_KEY_NAME, name); - gaim_blist_node_set_int((GaimBlistNode *) buddy, BUDDY_KEY_TYPE, type); + purple_blist_alias_buddy(buddy, alias); + purple_blist_server_alias_buddy(buddy, name); + purple_blist_node_set_string((PurpleBlistNode *) buddy, BUDDY_KEY_NAME, name); + purple_blist_node_set_int((PurpleBlistNode *) buddy, BUDDY_KEY_TYPE, type); return buddy; } /** add aware watch for a dynamic group */ -static void group_add(struct mwGaimPluginData *pd, - GaimGroup *group) { +static void group_add(struct mwPurplePluginData *pd, + PurpleGroup *group) { struct mwAwareIdBlock idb = { mwAware_GROUP, NULL, NULL }; struct mwAwareList *list; const char *n; GList *add; - n = gaim_blist_node_get_string((GaimBlistNode *) group, GROUP_KEY_NAME); + n = purple_blist_node_get_string((PurpleBlistNode *) group, GROUP_KEY_NAME); if(! n) n = group->name; idb.user = (char *) n; @@ -893,21 +893,21 @@ } -/** ensure that a GaimGroup exists in the blist with data +/** ensure that a PurpleGroup exists in the blist with data appropriately matching the st group entry from the st list */ -static GaimGroup *group_ensure(GaimConnection *gc, +static PurpleGroup *group_ensure(PurpleConnection *gc, struct mwSametimeGroup *stgroup) { - GaimAccount *acct; - GaimGroup *group = NULL; - GaimBuddyList *blist; - GaimBlistNode *gn; + PurpleAccount *acct; + PurpleGroup *group = NULL; + PurpleBuddyList *blist; + PurpleBlistNode *gn; const char *name, *alias, *owner; enum mwSametimeGroupType type; - acct = gaim_connection_get_account(gc); - owner = gaim_account_get_username(acct); - - blist = gaim_get_blist(); + acct = purple_connection_get_account(gc); + owner = purple_account_get_username(acct); + + blist = purple_get_blist(); g_return_val_if_fail(blist != NULL, NULL); name = mwSametimeGroup_getName(stgroup); @@ -920,16 +920,16 @@ /* first attempt at finding the group, by the name key */ for(gn = blist->root; gn; gn = gn->next) { const char *n, *o; - if(! GAIM_BLIST_NODE_IS_GROUP(gn)) continue; - n = gaim_blist_node_get_string(gn, GROUP_KEY_NAME); - o = gaim_blist_node_get_string(gn, GROUP_KEY_OWNER); + if(! PURPLE_BLIST_NODE_IS_GROUP(gn)) continue; + n = purple_blist_node_get_string(gn, GROUP_KEY_NAME); + o = purple_blist_node_get_string(gn, GROUP_KEY_OWNER); DEBUG_INFO("found group named %s, owned by %s\n", NSTR(n), NSTR(o)); if(n && !strcmp(n, name)) { if(!o || !strcmp(o, owner)) { DEBUG_INFO("that'll work\n"); - group = (GaimGroup *) gn; + group = (PurpleGroup *) gn; break; } } @@ -938,22 +938,22 @@ /* try again, by alias */ if(! group) { DEBUG_INFO("searching for group by alias %s\n", NSTR(alias)); - group = gaim_find_group(alias); + group = purple_find_group(alias); } /* oh well, no such group. Let's create it! */ if(! group) { DEBUG_INFO("creating group\n"); - group = gaim_group_new(alias); - gaim_blist_add_group(group, NULL); + group = purple_group_new(alias); + purple_blist_add_group(group, NULL); } - gn = (GaimBlistNode *) group; - gaim_blist_node_set_string(gn, GROUP_KEY_NAME, name); - gaim_blist_node_set_int(gn, GROUP_KEY_TYPE, type); + gn = (PurpleBlistNode *) group; + purple_blist_node_set_string(gn, GROUP_KEY_NAME, name); + purple_blist_node_set_int(gn, GROUP_KEY_TYPE, type); if(type == mwSametimeGroup_DYNAMIC) { - gaim_blist_node_set_string(gn, GROUP_KEY_OWNER, owner); + purple_blist_node_set_string(gn, GROUP_KEY_OWNER, owner); group_add(gc->proto_data, group); } @@ -961,13 +961,13 @@ } -/** merge the entries from a st list into the gaim blist */ -static void blist_merge(GaimConnection *gc, struct mwSametimeList *stlist) { +/** merge the entries from a st list into the purple blist */ +static void blist_merge(PurpleConnection *gc, struct mwSametimeList *stlist) { struct mwSametimeGroup *stgroup; struct mwSametimeUser *stuser; - GaimGroup *group; - GaimBuddy *buddy; + PurpleGroup *group; + PurpleBuddy *buddy; GList *gl, *gtl, *ul, *utl; @@ -991,27 +991,27 @@ /** remove all buddies on account from group. If del is TRUE and group is left empty, remove group as well */ -static void group_clear(GaimGroup *group, GaimAccount *acct, gboolean del) { - GaimConnection *gc; +static void group_clear(PurpleGroup *group, PurpleAccount *acct, gboolean del) { + PurpleConnection *gc; GList *prune = NULL; - GaimBlistNode *gn, *cn, *bn; + PurpleBlistNode *gn, *cn, *bn; g_return_if_fail(group != NULL); DEBUG_INFO("clearing members from pruned group %s\n", NSTR(group->name)); - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); - gn = (GaimBlistNode *) group; + gn = (PurpleBlistNode *) group; for(cn = gn->child; cn; cn = cn->next) { - if(! GAIM_BLIST_NODE_IS_CONTACT(cn)) continue; + if(! PURPLE_BLIST_NODE_IS_CONTACT(cn)) continue; for(bn = cn->child; bn; bn = bn->next) { - GaimBuddy *gb = (GaimBuddy *) bn; - - if(! GAIM_BLIST_NODE_IS_BUDDY(bn)) continue; + PurpleBuddy *gb = (PurpleBuddy *) bn; + + if(! PURPLE_BLIST_NODE_IS_BUDDY(bn)) continue; if(gb->account == acct) { DEBUG_INFO("clearing %s from group\n", NSTR(gb->name)); @@ -1021,29 +1021,29 @@ } /* quickly unsubscribe from presence for the entire group */ - gaim_account_remove_group(acct, group); + purple_account_remove_group(acct, group); /* remove blist entries that need to go */ while(prune) { - gaim_blist_remove_buddy(prune->data); + purple_blist_remove_buddy(prune->data); prune = g_list_delete_link(prune, prune); } DEBUG_INFO("cleared buddies\n"); /* optionally remove group from blist */ - if(del && !gaim_blist_get_group_size(group, TRUE)) { + if(del && !purple_blist_get_group_size(group, TRUE)) { DEBUG_INFO("removing empty group\n"); - gaim_blist_remove_group(group); + purple_blist_remove_group(group); } } /** prune out group members that shouldn't be there */ -static void group_prune(GaimConnection *gc, GaimGroup *group, +static void group_prune(PurpleConnection *gc, PurpleGroup *group, struct mwSametimeGroup *stgroup) { - GaimAccount *acct; - GaimBlistNode *gn, *cn, *bn; + PurpleAccount *acct; + PurpleBlistNode *gn, *cn, *bn; GHashTable *stusers; GList *prune = NULL; @@ -1053,7 +1053,7 @@ DEBUG_INFO("pruning membership of group %s\n", NSTR(group->name)); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); stusers = g_hash_table_new(g_str_hash, g_str_equal); @@ -1068,15 +1068,15 @@ } g_list_free(utl); - gn = (GaimBlistNode *) group; + gn = (PurpleBlistNode *) group; for(cn = gn->child; cn; cn = cn->next) { - if(! GAIM_BLIST_NODE_IS_CONTACT(cn)) continue; + if(! PURPLE_BLIST_NODE_IS_CONTACT(cn)) continue; for(bn = cn->child; bn; bn = bn->next) { - GaimBuddy *gb = (GaimBuddy *) bn; - - if(! GAIM_BLIST_NODE_IS_BUDDY(bn)) continue; + PurpleBuddy *gb = (PurpleBuddy *) bn; + + if(! PURPLE_BLIST_NODE_IS_BUDDY(bn)) continue; /* if the account is correct and they're not in our table, mark them for pruning */ @@ -1091,22 +1091,22 @@ g_hash_table_destroy(stusers); if(prune) { - gaim_account_remove_buddies(acct, prune, NULL); + purple_account_remove_buddies(acct, prune, NULL); while(prune) { - gaim_blist_remove_buddy(prune->data); + purple_blist_remove_buddy(prune->data); prune = g_list_delete_link(prune, prune); } } } -/** synch the entries from a st list into the gaim blist, removing any +/** synch the entries from a st list into the purple blist, removing any existing buddies that aren't in the st list */ -static void blist_sync(GaimConnection *gc, struct mwSametimeList *stlist) { - - GaimAccount *acct; - GaimBuddyList *blist; - GaimBlistNode *gn; +static void blist_sync(PurpleConnection *gc, struct mwSametimeList *stlist) { + + PurpleAccount *acct; + PurpleBuddyList *blist; + PurpleBlistNode *gn; GHashTable *stgroups; GList *g_prune = NULL; @@ -1117,12 +1117,12 @@ DEBUG_INFO("synchronizing local buddy list from server list\n"); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); - acct_n = gaim_account_get_username(acct); - - blist = gaim_get_blist(); + acct_n = purple_account_get_username(acct); + + blist = purple_get_blist(); g_return_if_fail(blist != NULL); /* build a hash table for quick lookup while pruning the local @@ -1138,24 +1138,24 @@ /* find all groups which should be pruned from the local list */ for(gn = blist->root; gn; gn = gn->next) { - GaimGroup *grp = (GaimGroup *) gn; + PurpleGroup *grp = (PurpleGroup *) gn; const char *gname, *owner; struct mwSametimeGroup *stgrp; - if(! GAIM_BLIST_NODE_IS_GROUP(gn)) continue; + if(! PURPLE_BLIST_NODE_IS_GROUP(gn)) continue; /* group not belonging to this account */ - if(! gaim_group_on_account(grp, acct)) + if(! purple_group_on_account(grp, acct)) continue; /* dynamic group belonging to this account. don't prune contents */ - owner = gaim_blist_node_get_string(gn, GROUP_KEY_OWNER); + owner = purple_blist_node_get_string(gn, GROUP_KEY_OWNER); if(owner && !strcmp(owner, acct_n)) continue; /* we actually are synching by this key as opposed to the group title, which can be different things in the st list */ - gname = gaim_blist_node_get_string(gn, GROUP_KEY_NAME); + gname = purple_blist_node_get_string(gn, GROUP_KEY_NAME); if(! gname) gname = grp->name; stgrp = g_hash_table_lookup(stgroups, gname); @@ -1176,12 +1176,12 @@ /* prune all marked groups */ while(g_prune) { - GaimGroup *grp = g_prune->data; - GaimBlistNode *gn = (GaimBlistNode *) grp; + PurpleGroup *grp = g_prune->data; + PurpleBlistNode *gn = (PurpleBlistNode *) grp; const char *owner; gboolean del = TRUE; - owner = gaim_blist_node_get_string(gn, GROUP_KEY_OWNER); + owner = purple_blist_node_get_string(gn, GROUP_KEY_OWNER); if(owner && strcmp(owner, acct_n)) { /* it's a specialty group belonging to another account with some of our members in it, so don't fully delete it */ @@ -1203,7 +1203,7 @@ guint32 result, struct mwStorageUnit *item, gpointer data) { - struct mwGaimPluginData *pd = data; + struct mwPurplePluginData *pd = data; struct mwSametimeList *stlist; struct mwGetBuffer *b; @@ -1233,31 +1233,31 @@ } -/** signal triggered when a conversation is opened in Gaim */ -static void conversation_created_cb(GaimConversation *g_conv, - struct mwGaimPluginData *pd) { +/** signal triggered when a conversation is opened in Purple */ +static void conversation_created_cb(PurpleConversation *g_conv, + struct mwPurplePluginData *pd) { /* we need to tell the IM service to negotiate features for the conversation right away, otherwise it'll wait until the first message is sent before offering NotesBuddy features. Therefore - whenever Gaim creates a conversation, we'll immediately open the + whenever Purple creates a conversation, we'll immediately open the channel to the other side and figure out what the target can handle. Unfortunately, this makes us vulnerable to Psychic Mode, whereas a more lazy negotiation based on the first message would not */ - GaimConnection *gc; + PurpleConnection *gc; struct mwIdBlock who = { 0, 0 }; struct mwConversation *conv; - gc = gaim_conversation_get_gc(g_conv); + gc = purple_conversation_get_gc(g_conv); if(pd->gc != gc) return; /* not ours */ - if(gaim_conversation_get_type(g_conv) != GAIM_CONV_TYPE_IM) + if(purple_conversation_get_type(g_conv) != PURPLE_CONV_TYPE_IM) return; /* wrong type */ - who.user = (char *) gaim_conversation_get_name(g_conv); + who.user = (char *) purple_conversation_get_name(g_conv); conv = mwServiceIm_getConversation(pd->srvc_im, &who); convo_features(conv); @@ -1267,11 +1267,11 @@ } -static void blist_menu_nab(GaimBlistNode *node, gpointer data) { - struct mwGaimPluginData *pd = data; - GaimConnection *gc; - - GaimGroup *group = (GaimGroup *) node; +static void blist_menu_nab(PurpleBlistNode *node, gpointer data) { + struct mwPurplePluginData *pd = data; + PurpleConnection *gc; + + PurpleGroup *group = (PurpleGroup *) node; GString *str; char *tmp; @@ -1281,18 +1281,18 @@ gc = pd->gc; g_return_if_fail(gc != NULL); - g_return_if_fail(GAIM_BLIST_NODE_IS_GROUP(node)); + g_return_if_fail(PURPLE_BLIST_NODE_IS_GROUP(node)); str = g_string_new(NULL); - tmp = (char *) gaim_blist_node_get_string(node, GROUP_KEY_NAME); + tmp = (char *) purple_blist_node_get_string(node, GROUP_KEY_NAME); g_string_append_printf(str, _("<b>Group Title:</b> %s<br>"), group->name); g_string_append_printf(str, _("<b>Notes Group ID:</b> %s<br>"), tmp); tmp = g_strdup_printf(_("Info for Group %s"), group->name); - gaim_notify_formatted(gc, tmp, _("Notes Address Book Information"), + purple_notify_formatted(gc, tmp, _("Notes Address Book Information"), NULL, str->str, NULL, NULL); g_free(tmp); @@ -1303,39 +1303,39 @@ /** The normal blist menu prpl function doesn't get called for groups, so we use the blist-node-extended-menu signal to trigger this handler */ -static void blist_node_menu_cb(GaimBlistNode *node, - GList **menu, struct mwGaimPluginData *pd) { +static void blist_node_menu_cb(PurpleBlistNode *node, + GList **menu, struct mwPurplePluginData *pd) { const char *owner; - GaimGroup *group; - GaimAccount *acct; - GaimMenuAction *act; + PurpleGroup *group; + PurpleAccount *acct; + PurpleMenuAction *act; /* we only want groups */ - if(! GAIM_BLIST_NODE_IS_GROUP(node)) return; - group = (GaimGroup *) node; - - acct = gaim_connection_get_account(pd->gc); + if(! PURPLE_BLIST_NODE_IS_GROUP(node)) return; + group = (PurpleGroup *) node; + + acct = purple_connection_get_account(pd->gc); g_return_if_fail(acct != NULL); /* better make sure we're connected */ - if(! gaim_account_is_connected(acct)) return; + if(! purple_account_is_connected(acct)) return; #if 0 /* if there's anyone in the group for this acct, offer to invite them all to a conference */ - if(gaim_group_on_account(group, acct)) { - act = gaim_menu_action_new(_("Invite Group to Conference..."), - GAIM_CALLBACK(blist_menu_group_invite), + if(purple_group_on_account(group, acct)) { + act = purple_menu_action_new(_("Invite Group to Conference..."), + PURPLE_CALLBACK(blist_menu_group_invite), pd, NULL); *menu = g_list_append(*menu, NULL); } #endif /* check if it's a NAB group for this account */ - owner = gaim_blist_node_get_string(node, GROUP_KEY_OWNER); - if(owner && !strcmp(owner, gaim_account_get_username(acct))) { - act = gaim_menu_action_new(_("Get Notes Address Book Info"), - GAIM_CALLBACK(blist_menu_nab), pd, NULL); + owner = purple_blist_node_get_string(node, GROUP_KEY_OWNER); + if(owner && !strcmp(owner, purple_account_get_username(acct))) { + act = purple_menu_action_new(_("Get Notes Address Book Info"), + PURPLE_CALLBACK(blist_menu_nab), pd, NULL); *menu = g_list_append(*menu, act); } } @@ -1343,22 +1343,22 @@ /* lifted this from oldstatus, since HEAD doesn't do this at login anymore. */ -static void blist_init(GaimAccount *acct) { - GaimBlistNode *gnode, *cnode, *bnode; +static void blist_init(PurpleAccount *acct) { + PurpleBlistNode *gnode, *cnode, *bnode; GList *add_buds = NULL; - for(gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { - if(! GAIM_BLIST_NODE_IS_GROUP(gnode)) continue; + for(gnode = purple_get_blist()->root; gnode; gnode = gnode->next) { + if(! PURPLE_BLIST_NODE_IS_GROUP(gnode)) continue; for(cnode = gnode->child; cnode; cnode = cnode->next) { - if(! GAIM_BLIST_NODE_IS_CONTACT(cnode)) + if(! PURPLE_BLIST_NODE_IS_CONTACT(cnode)) continue; for(bnode = cnode->child; bnode; bnode = bnode->next) { - GaimBuddy *b; - if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) + PurpleBuddy *b; + if(!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) continue; - b = (GaimBuddy *)bnode; + b = (PurpleBuddy *)bnode; if(b->account == acct) { add_buds = g_list_append(add_buds, b); } @@ -1367,44 +1367,44 @@ } if(add_buds) { - gaim_account_add_buddies(acct, add_buds); + purple_account_add_buddies(acct, add_buds); g_list_free(add_buds); } } /** Last thing to happen from a started session */ -static void services_starting(struct mwGaimPluginData *pd) { - - GaimConnection *gc; - GaimAccount *acct; +static void services_starting(struct mwPurplePluginData *pd) { + + PurpleConnection *gc; + PurpleAccount *acct; struct mwStorageUnit *unit; - GaimBuddyList *blist; - GaimBlistNode *l; + PurpleBuddyList *blist; + PurpleBlistNode *l; gc = pd->gc; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); /* grab the buddy list from the server */ unit = mwStorageUnit_new(mwStore_AWARE_LIST); mwServiceStorage_load(pd->srvc_store, unit, fetch_blist_cb, pd, NULL); /* find all the NAB groups and subscribe to them */ - blist = gaim_get_blist(); + blist = purple_get_blist(); for(l = blist->root; l; l = l->next) { - GaimGroup *group = (GaimGroup *) l; + PurpleGroup *group = (PurpleGroup *) l; enum mwSametimeGroupType gt; const char *owner; - if(! GAIM_BLIST_NODE_IS_GROUP(l)) continue; + if(! PURPLE_BLIST_NODE_IS_GROUP(l)) continue; /* if the group is ownerless, or has an owner and we're not it, skip it */ - owner = gaim_blist_node_get_string(l, GROUP_KEY_OWNER); - if(!owner || strcmp(owner, gaim_account_get_username(acct))) + owner = purple_blist_node_get_string(l, GROUP_KEY_OWNER); + if(!owner || strcmp(owner, purple_account_get_username(acct))) continue; - gt = gaim_blist_node_get_int(l, GROUP_KEY_TYPE); + gt = purple_blist_node_get_int(l, GROUP_KEY_TYPE); if(gt == mwSametimeGroup_DYNAMIC) group_add(pd, group); } @@ -1427,22 +1427,22 @@ static void session_loginRedirect(struct mwSession *session, const char *host) { - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimAccount *account; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleAccount *account; guint port; const char *current_host; pd = mwSession_getClientData(session); gc = pd->gc; - account = gaim_connection_get_account(gc); - port = gaim_account_get_int(account, MW_KEY_PORT, MW_PLUGIN_DEFAULT_PORT); - current_host = gaim_account_get_string(account, MW_KEY_HOST, + account = purple_connection_get_account(gc); + port = purple_account_get_int(account, MW_KEY_PORT, MW_PLUGIN_DEFAULT_PORT); + current_host = purple_account_get_string(account, MW_KEY_HOST, MW_PLUGIN_DEFAULT_HOST); - if(gaim_account_get_bool(account, MW_KEY_FORCE, FALSE) || + if(purple_account_get_bool(account, MW_KEY_FORCE, FALSE) || (! strcmp(current_host, host)) || - (gaim_proxy_connect(NULL, account, host, port, connect_cb, pd) == NULL)) { + (purple_proxy_connect(NULL, account, host, port, connect_cb, pd) == NULL)) { /* if we're configured to force logins, or if we're being redirected to the already configured host, or if we couldn't @@ -1453,47 +1453,47 @@ } -static void mw_prpl_set_status(GaimAccount *acct, GaimStatus *status); +static void mw_prpl_set_status(PurpleAccount *acct, PurpleStatus *status); /** called from mw_session_stateChange when the session's state is mwSession_STARTED. Any finalizing of start-up stuff should go here */ -static void session_started(struct mwGaimPluginData *pd) { - GaimStatus *status; - GaimAccount *acct; +static void session_started(struct mwPurplePluginData *pd) { + PurpleStatus *status; + PurpleAccount *acct; /* set out initial status */ - acct = gaim_connection_get_account(pd->gc); - status = gaim_account_get_active_status(acct); + acct = purple_connection_get_account(pd->gc); + status = purple_account_get_active_status(acct); mw_prpl_set_status(acct, status); /* start watching for new conversations */ - gaim_signal_connect(gaim_conversations_get_handle(), + purple_signal_connect(purple_conversations_get_handle(), "conversation-created", pd, - GAIM_CALLBACK(conversation_created_cb), pd); + PURPLE_CALLBACK(conversation_created_cb), pd); /* watch for group extended menu items */ - gaim_signal_connect(gaim_blist_get_handle(), + purple_signal_connect(purple_blist_get_handle(), "blist-node-extended-menu", pd, - GAIM_CALLBACK(blist_node_menu_cb), pd); + PURPLE_CALLBACK(blist_node_menu_cb), pd); /* use our services to do neat things */ services_starting(pd); } -static void session_stopping(struct mwGaimPluginData *pd) { +static void session_stopping(struct mwPurplePluginData *pd) { /* stop watching the signals from session_started */ - gaim_signals_disconnect_by_handle(pd); + purple_signals_disconnect_by_handle(pd); } static void mw_session_stateChange(struct mwSession *session, enum mwSessionState state, gpointer info) { - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; const char *msg = NULL; pd = mwSession_getClientData(session); @@ -1502,48 +1502,48 @@ switch(state) { case mwSession_STARTING: msg = _("Sending Handshake"); - gaim_connection_update_progress(gc, msg, 2, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 2, MW_CONNECT_STEPS); break; case mwSession_HANDSHAKE: msg = _("Waiting for Handshake Acknowledgement"); - gaim_connection_update_progress(gc, msg, 3, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 3, MW_CONNECT_STEPS); break; case mwSession_HANDSHAKE_ACK: msg = _("Handshake Acknowledged, Sending Login"); - gaim_connection_update_progress(gc, msg, 4, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 4, MW_CONNECT_STEPS); break; case mwSession_LOGIN: msg = _("Waiting for Login Acknowledgement"); - gaim_connection_update_progress(gc, msg, 5, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 5, MW_CONNECT_STEPS); break; case mwSession_LOGIN_REDIR: msg = _("Login Redirected"); - gaim_connection_update_progress(gc, msg, 6, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 6, MW_CONNECT_STEPS); session_loginRedirect(session, info); break; case mwSession_LOGIN_CONT: msg = _("Forcing Login"); - gaim_connection_update_progress(gc, msg, 7, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 7, MW_CONNECT_STEPS); case mwSession_LOGIN_ACK: msg = _("Login Acknowledged"); - gaim_connection_update_progress(gc, msg, 8, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 8, MW_CONNECT_STEPS); break; case mwSession_STARTED: msg = _("Starting Services"); - gaim_connection_update_progress(gc, msg, 9, MW_CONNECT_STEPS); + purple_connection_update_progress(gc, msg, 9, MW_CONNECT_STEPS); session_started(pd); msg = _("Connected"); - gaim_connection_update_progress(gc, msg, 10, MW_CONNECT_STEPS); - gaim_connection_set_state(gc, GAIM_CONNECTED); + purple_connection_update_progress(gc, msg, 10, MW_CONNECT_STEPS); + purple_connection_set_state(gc, PURPLE_CONNECTED); break; case mwSession_STOPPING: @@ -1552,7 +1552,7 @@ if(GPOINTER_TO_UINT(info) & ERR_FAILURE) { char *err = mwError(GPOINTER_TO_UINT(info)); - gaim_connection_error(gc, err); + purple_connection_error(gc, err); g_free(err); } break; @@ -1568,9 +1568,9 @@ static void mw_session_setPrivacyInfo(struct mwSession *session) { - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimAccount *acct; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleAccount *acct; struct mwPrivacyInfo *privacy; GSList *l, **ll; guint count; @@ -1585,7 +1585,7 @@ gc = pd->gc; g_return_if_fail(gc != NULL); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); privacy = mwSession_getPrivacyInfo(session); @@ -1605,8 +1605,8 @@ static void mw_session_setUserStatus(struct mwSession *session) { - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; struct mwAwareIdBlock idb = { mwAware_USER, NULL, NULL }; struct mwUserStatus *stat; @@ -1628,8 +1628,8 @@ static void mw_session_admin(struct mwSession *session, const char *text) { - GaimConnection *gc; - GaimAccount *acct; + PurpleConnection *gc; + PurpleAccount *acct; const char *host; const char *msg; char *prim; @@ -1637,16 +1637,16 @@ gc = session_to_gc(session); g_return_if_fail(gc != NULL); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); - host = gaim_account_get_string(acct, MW_KEY_HOST, NULL); + host = purple_account_get_string(acct, MW_KEY_HOST, NULL); msg = _("A Sametime administrator has issued the following announcement" " on server %s"); prim = g_strdup_printf(msg, NSTR(host)); - gaim_notify_message(gc, GAIM_NOTIFY_MSG_INFO, + purple_notify_message(gc, PURPLE_NOTIFY_MSG_INFO, _("Sametime Administrator Announcement"), prim, text, NULL, NULL); @@ -1668,10 +1668,10 @@ } -/** callback triggered from gaim_input_add, watches the socked for +/** callback triggered from purple_input_add, watches the socked for available data to be processed by the session */ -static void read_cb(gpointer data, gint source, GaimInputCondition cond) { - struct mwGaimPluginData *pd = data; +static void read_cb(gpointer data, gint source, PurpleInputCondition cond) { + struct mwPurplePluginData *pd = data; int ret = 0, err = 0; g_return_if_fail(pd != NULL); @@ -1693,13 +1693,13 @@ } if(pd->gc->inpa) { - gaim_input_remove(pd->gc->inpa); + purple_input_remove(pd->gc->inpa); pd->gc->inpa = 0; } if(! ret) { DEBUG_INFO("connection reset\n"); - gaim_connection_error(pd->gc, _("Connection reset")); + purple_connection_error(pd->gc, _("Connection reset")); } else if(ret < 0) { char *msg = strerror(err); @@ -1707,18 +1707,18 @@ DEBUG_INFO("error in read callback: %s\n", msg); msg = g_strdup_printf(_("Error reading from socket: %s"), msg); - gaim_connection_error(pd->gc, msg); + purple_connection_error(pd->gc, msg); g_free(msg); } } -/** Callback passed to gaim_proxy_connect when an account is logged +/** Callback passed to purple_proxy_connect when an account is logged in, and if the session logging in receives a redirect message */ static void connect_cb(gpointer data, gint source, const gchar *error_message) { - struct mwGaimPluginData *pd = data; - GaimConnection *gc = pd->gc; + struct mwPurplePluginData *pd = data; + PurpleConnection *gc = pd->gc; if(source < 0) { /* connection failed */ @@ -1729,7 +1729,7 @@ } else { /* this is a regular connect, error out */ - gaim_connection_error(pd->gc, _("Unable to connect to host")); + purple_connection_error(pd->gc, _("Unable to connect to host")); } return; @@ -1741,7 +1741,7 @@ } pd->socket = source; - gc->inpa = gaim_input_add(source, GAIM_INPUT_READ, + gc->inpa = purple_input_add(source, PURPLE_INPUT_READ, read_cb, pd); mwSession_start(pd->session); @@ -1752,25 +1752,25 @@ struct mwLoginInfo *from, gboolean may_reply, const char *text) { - struct mwGaimPluginData *pd; - GaimAccount *acct; - GaimConversation *conv; - GaimBuddy *buddy; + struct mwPurplePluginData *pd; + PurpleAccount *acct; + PurpleConversation *conv; + PurpleBuddy *buddy; char *who = from->user_id; char *msg; pd = mwSession_getClientData(s); - acct = gaim_connection_get_account(pd->gc); - conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, who, acct); - if(! conv) conv = gaim_conversation_new(GAIM_CONV_TYPE_IM, acct, who); - - buddy = gaim_find_buddy(acct, who); - if(buddy) who = (char *) gaim_buddy_get_contact_alias(buddy); + acct = purple_connection_get_account(pd->gc); + conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, who, acct); + if(! conv) conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, who); + + buddy = purple_find_buddy(acct, who); + if(buddy) who = (char *) purple_buddy_get_contact_alias(buddy); who = g_strdup_printf(_("Announcement from %s"), who); - msg = gaim_markup_linkify(text); - - gaim_conversation_write(conv, who, msg, GAIM_MESSAGE_RECV, time(NULL)); + msg = purple_markup_linkify(text); + + purple_conversation_write(conv, who, msg, PURPLE_MESSAGE_RECV, time(NULL)); g_free(who); g_free(msg); } @@ -1821,8 +1821,8 @@ struct mwServiceConference *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; char *c_inviter, *c_name, *c_topic, *c_invitation; GHashTable *ht; @@ -1856,21 +1856,21 @@ } -/* The following mess helps us relate a mwConference to a GaimConvChat +/* The following mess helps us relate a mwConference to a PurpleConvChat in the various forms by which either may be indicated */ #define CONF_TO_ID(conf) (GPOINTER_TO_INT(conf)) #define ID_TO_CONF(pd, id) (conf_find_by_id((pd), (id))) -#define CHAT_TO_ID(chat) (gaim_conv_chat_get_id(chat)) -#define ID_TO_CHAT(id) (gaim_find_chat(id)) +#define CHAT_TO_ID(chat) (purple_conv_chat_get_id(chat)) +#define ID_TO_CHAT(id) (purple_find_chat(id)) #define CHAT_TO_CONF(pd, chat) (ID_TO_CONF((pd), CHAT_TO_ID(chat))) #define CONF_TO_CHAT(conf) (ID_TO_CHAT(CONF_TO_ID(conf))) static struct mwConference * -conf_find_by_id(struct mwGaimPluginData *pd, int id) { +conf_find_by_id(struct mwPurplePluginData *pd, int id) { struct mwServiceConference *srvc = pd->srvc_conf; struct mwConference *conf = NULL; @@ -1879,7 +1879,7 @@ ll = mwServiceConference_getConferences(srvc); for(l = ll; l; l = l->next) { struct mwConference *c = l->data; - GaimConvChat *h = mwConference_getClientData(c); + PurpleConvChat *h = mwConference_getClientData(c); if(CHAT_TO_ID(h) == id) { conf = c; @@ -1895,9 +1895,9 @@ static void mw_conf_opened(struct mwConference *conf, GList *members) { struct mwServiceConference *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimConversation *g_conf; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleConversation *g_conf; const char *n = mwConference_getName(conf); const char *t = mwConference_getTitle(conf); @@ -1913,12 +1913,12 @@ if(! t) t = "(no title)"; g_conf = serv_got_joined_chat(gc, CONF_TO_ID(conf), t); - mwConference_setClientData(conf, GAIM_CONV_CHAT(g_conf), NULL); + mwConference_setClientData(conf, PURPLE_CONV_CHAT(g_conf), NULL); for(; members; members = members->next) { struct mwLoginInfo *peer = members->data; - gaim_conv_chat_add_user(GAIM_CONV_CHAT(g_conf), peer->user_id, - NULL, GAIM_CBFLAGS_NONE, FALSE); + purple_conv_chat_add_user(PURPLE_CONV_CHAT(g_conf), peer->user_id, + NULL, PURPLE_CBFLAGS_NONE, FALSE); } } @@ -1926,8 +1926,8 @@ static void mw_conf_closed(struct mwConference *conf, guint32 reason) { struct mwServiceConference *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; const char *n = mwConference_getName(conf); char *msg = mwError(reason); @@ -1941,7 +1941,7 @@ serv_got_chat_left(gc, CONF_TO_ID(conf)); - gaim_notify_error(gc, _("Conference Closed"), NULL, msg); + purple_notify_error(gc, _("Conference Closed"), NULL, msg); g_free(msg); } @@ -1951,9 +1951,9 @@ struct mwServiceConference *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimConvChat *g_conf; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleConvChat *g_conf; const char *n = mwConference_getName(conf); @@ -1967,8 +1967,8 @@ g_conf = mwConference_getClientData(conf); g_return_if_fail(g_conf != NULL); - gaim_conv_chat_add_user(g_conf, peer->user_id, - NULL, GAIM_CBFLAGS_NONE, TRUE); + purple_conv_chat_add_user(g_conf, peer->user_id, + NULL, PURPLE_CBFLAGS_NONE, TRUE); } @@ -1977,9 +1977,9 @@ struct mwServiceConference *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimConvChat *g_conf; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleConvChat *g_conf; const char *n = mwConference_getName(conf); @@ -1993,7 +1993,7 @@ g_conf = mwConference_getClientData(conf); g_return_if_fail(g_conf != NULL); - gaim_conv_chat_remove_user(g_conf, peer->user_id, NULL); + purple_conv_chat_remove_user(g_conf, peer->user_id, NULL); } @@ -2002,8 +2002,8 @@ struct mwServiceConference *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; char *esc; if(! text) return; @@ -2022,7 +2022,7 @@ static void mw_conf_typing(struct mwConference *conf, struct mwLoginInfo *who, gboolean typing) { - /* gaim really has no good way to expose this to the user. */ + /* purple really has no good way to expose this to the user. */ const char *n = mwConference_getName(conf); const char *w = who->user_id; @@ -2064,14 +2064,14 @@ #define MW_FT_LEN (BUF_LONG * 2) -static void ft_incoming_cancel(GaimXfer *xfer) { +static void ft_incoming_cancel(PurpleXfer *xfer) { /* incoming transfer rejected or canceled in-progress */ struct mwFileTransfer *ft = xfer->data; if(ft) mwFileTransfer_reject(ft); } -static void ft_incoming_init(GaimXfer *xfer) { +static void ft_incoming_init(PurpleXfer *xfer) { /* incoming transfer accepted */ /* - accept the mwFileTransfer @@ -2097,24 +2097,24 @@ static void mw_ft_offered(struct mwFileTransfer *ft) { /* - - create a gaim ft object + - create a purple ft object - offer it */ struct mwServiceFileTransfer *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimAccount *acct; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleAccount *acct; const char *who; - GaimXfer *xfer; + PurpleXfer *xfer; /* @todo add some safety checks */ srvc = mwFileTransfer_getService(ft); session = mwService_getSession(MW_SERVICE(srvc)); pd = mwSession_getClientData(session); gc = pd->gc; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); who = mwFileTransfer_getUser(ft)->user; @@ -2124,22 +2124,22 @@ DEBUG_INFO(" size: %u\n", mwFileTransfer_getFileSize(ft)); DEBUG_INFO(" text: %s\n", NSTR(mwFileTransfer_getMessage(ft))); - xfer = gaim_xfer_new(acct, GAIM_XFER_RECEIVE, who); + xfer = purple_xfer_new(acct, PURPLE_XFER_RECEIVE, who); if (xfer) { - gaim_xfer_ref(xfer); - mwFileTransfer_setClientData(ft, xfer, (GDestroyNotify) gaim_xfer_unref); + purple_xfer_ref(xfer); + mwFileTransfer_setClientData(ft, xfer, (GDestroyNotify) purple_xfer_unref); xfer->data = ft; - gaim_xfer_set_init_fnc(xfer, ft_incoming_init); - gaim_xfer_set_cancel_recv_fnc(xfer, ft_incoming_cancel); - gaim_xfer_set_request_denied_fnc(xfer, ft_incoming_cancel); - - gaim_xfer_set_filename(xfer, mwFileTransfer_getFileName(ft)); - gaim_xfer_set_size(xfer, mwFileTransfer_getFileSize(ft)); - gaim_xfer_set_message(xfer, mwFileTransfer_getMessage(ft)); - - gaim_xfer_request(xfer); + purple_xfer_set_init_fnc(xfer, ft_incoming_init); + purple_xfer_set_cancel_recv_fnc(xfer, ft_incoming_cancel); + purple_xfer_set_request_denied_fnc(xfer, ft_incoming_cancel); + + purple_xfer_set_filename(xfer, mwFileTransfer_getFileName(ft)); + purple_xfer_set_size(xfer, mwFileTransfer_getFileSize(ft)); + purple_xfer_set_message(xfer, mwFileTransfer_getMessage(ft)); + + purple_xfer_request(xfer); } } @@ -2148,7 +2148,7 @@ guchar buf[MW_FT_LEN]; struct mwOpaque o = { .data = buf, .len = MW_FT_LEN }; guint32 rem; - GaimXfer *xfer; + PurpleXfer *xfer; xfer = mwFileTransfer_getClientData(ft); @@ -2160,7 +2160,7 @@ /* calculate progress and display it */ xfer->bytes_sent += o.len; xfer->bytes_remaining -= o.len; - gaim_xfer_update_progress(xfer); + purple_xfer_update_progress(xfer); mwFileTransfer_send(ft, &o); @@ -2176,11 +2176,11 @@ static void mw_ft_opened(struct mwFileTransfer *ft) { /* - - get gaim ft from client data in ft + - get purple ft from client data in ft - set the state to active */ - GaimXfer *xfer; + PurpleXfer *xfer; xfer = mwFileTransfer_getClientData(ft); @@ -2190,7 +2190,7 @@ g_return_if_reached(); } - if(gaim_xfer_get_type(xfer) == GAIM_XFER_SEND) { + if(purple_xfer_get_type(xfer) == PURPLE_XFER_SEND) { xfer->dest_fp = g_fopen(xfer->local_filename, "rb"); ft_send(ft, xfer->dest_fp); } @@ -2199,33 +2199,33 @@ static void mw_ft_closed(struct mwFileTransfer *ft, guint32 code) { /* - - get gaim ft from client data in ft + - get purple ft from client data in ft - indicate rejection/cancelation/completion - free the file transfer itself */ - GaimXfer *xfer; + PurpleXfer *xfer; xfer = mwFileTransfer_getClientData(ft); if(xfer) { xfer->data = NULL; if(! mwFileTransfer_getRemaining(ft)) { - gaim_xfer_set_completed(xfer, TRUE); - gaim_xfer_end(xfer); + purple_xfer_set_completed(xfer, TRUE); + purple_xfer_end(xfer); } else if(mwFileTransfer_isCancelLocal(ft)) { - /* calling gaim_xfer_cancel_local is redundant, since that's + /* calling purple_xfer_cancel_local is redundant, since that's probably what triggered this function to be called */ ; } else if(mwFileTransfer_isCancelRemote(ft)) { /* steal the reference for the xfer */ mwFileTransfer_setClientData(ft, NULL, NULL); - gaim_xfer_cancel_remote(xfer); + purple_xfer_cancel_remote(xfer); /* drop the stolen reference */ - gaim_xfer_unref(xfer); + purple_xfer_unref(xfer); return; } } @@ -2237,12 +2237,12 @@ static void mw_ft_recv(struct mwFileTransfer *ft, struct mwOpaque *data) { /* - - get gaim ft from client data in ft + - get purple ft from client data in ft - update transfered percentage - - if done, destroy the ft, disassociate from gaim ft + - if done, destroy the ft, disassociate from purple ft */ - GaimXfer *xfer; + PurpleXfer *xfer; FILE *fp; xfer = mwFileTransfer_getClientData(ft); @@ -2257,7 +2257,7 @@ /* update the progress */ xfer->bytes_sent += data->len; xfer->bytes_remaining -= data->len; - gaim_xfer_update_progress(xfer); + purple_xfer_update_progress(xfer); /* let the other side know we got it, and to send some more */ mwFileTransfer_ack(ft); @@ -2265,15 +2265,15 @@ static void mw_ft_ack(struct mwFileTransfer *ft) { - GaimXfer *xfer; + PurpleXfer *xfer; xfer = mwFileTransfer_getClientData(ft); g_return_if_fail(xfer != NULL); g_return_if_fail(xfer->watcher == 0); if(! mwFileTransfer_getRemaining(ft)) { - gaim_xfer_set_completed(xfer, TRUE); - gaim_xfer_end(xfer); + purple_xfer_set_completed(xfer, TRUE); + purple_xfer_end(xfer); } else if(mwFileTransfer_isOpen(ft)) { ft_send(ft, xfer->dest_fp); @@ -2341,12 +2341,12 @@ } -static GaimConversation *convo_get_gconv(struct mwConversation *conv) { +static PurpleConversation *convo_get_gconv(struct mwConversation *conv) { struct mwServiceIm *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimAccount *acct; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleAccount *acct; struct mwIdBlock *idb; @@ -2354,11 +2354,11 @@ session = mwService_getSession(MW_SERVICE(srvc)); pd = mwSession_getClientData(session); gc = pd->gc; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); idb = mwConversation_getTarget(conv); - return gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, + return purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, idb->user, acct); } @@ -2393,7 +2393,7 @@ /* Does what it takes to get an error displayed for a conversation */ static void convo_error(struct mwConversation *conv, guint32 err) { - GaimConversation *gconv; + PurpleConversation *gconv; char *tmp, *text; struct mwIdBlock *idb; @@ -2403,12 +2403,12 @@ text = g_strconcat(_("Unable to send message: "), tmp, NULL); gconv = convo_get_gconv(conv); - if(gconv && !gaim_conv_present_error(idb->user, gconv->account, text)) { + if(gconv && !purple_conv_present_error(idb->user, gconv->account, text)) { g_free(text); text = g_strdup_printf(_("Unable to send message to %s:"), (idb->user)? idb->user: "(unknown)"); - gaim_notify_error(gaim_account_get_connection(gconv->account), + purple_notify_error(purple_account_get_connection(gconv->account), NULL, text, tmp); } @@ -2436,50 +2436,50 @@ } -/** called when a mw conversation leaves a gaim conversation to - inform the gaim conversation that it's unsafe to offer any *cool* +/** called when a mw conversation leaves a purple conversation to + inform the purple conversation that it's unsafe to offer any *cool* features. */ static void convo_nofeatures(struct mwConversation *conv) { - GaimConversation *gconv; - GaimConnection *gc; + PurpleConversation *gconv; + PurpleConnection *gc; gconv = convo_get_gconv(conv); if(! gconv) return; - gc = gaim_conversation_get_gc(gconv); + gc = purple_conversation_get_gc(gconv); if(! gc) return; - gaim_conversation_set_features(gconv, gc->flags); -} - - -/** called when a mw conversation and gaim conversation come together, - to inform the gaim conversation of what features to offer the + purple_conversation_set_features(gconv, gc->flags); +} + + +/** called when a mw conversation and purple conversation come together, + to inform the purple conversation of what features to offer the user */ static void convo_features(struct mwConversation *conv) { - GaimConversation *gconv; - GaimConnectionFlags feat; + PurpleConversation *gconv; + PurpleConnectionFlags feat; gconv = convo_get_gconv(conv); if(! gconv) return; - feat = gaim_conversation_get_features(gconv); + feat = purple_conversation_get_features(gconv); if(mwConversation_isOpen(conv)) { if(mwConversation_supports(conv, mwImSend_HTML)) { - feat |= GAIM_CONNECTION_HTML; + feat |= PURPLE_CONNECTION_HTML; } else { - feat &= ~GAIM_CONNECTION_HTML; + feat &= ~PURPLE_CONNECTION_HTML; } if(mwConversation_supports(conv, mwImSend_MIME)) { - feat &= ~GAIM_CONNECTION_NO_IMAGES; + feat &= ~PURPLE_CONNECTION_NO_IMAGES; } else { - feat |= GAIM_CONNECTION_NO_IMAGES; + feat |= PURPLE_CONNECTION_NO_IMAGES; } DEBUG_INFO("conversation features set to 0x%04x\n", feat); - gaim_conversation_set_features(gconv, feat); + purple_conversation_set_features(gconv, feat); } else { convo_nofeatures(conv); @@ -2490,9 +2490,9 @@ static void mw_conversation_opened(struct mwConversation *conv) { struct mwServiceIm *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimAccount *acct; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleAccount *acct; struct convo_dat *cd; @@ -2500,7 +2500,7 @@ session = mwService_getSession(MW_SERVICE(srvc)); pd = mwSession_getClientData(session); gc = pd->gc; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); /* set up the queue */ cd = mwConversation_getClientData(conv); @@ -2517,13 +2517,13 @@ } { /* record the client key for the buddy */ - GaimBuddy *buddy; + PurpleBuddy *buddy; struct mwLoginInfo *info; info = mwConversation_getTargetInfo(conv); - buddy = gaim_find_buddy(acct, info->user_id); + buddy = purple_find_buddy(acct, info->user_id); if(buddy) { - gaim_blist_node_set_int((GaimBlistNode *) buddy, + purple_blist_node_set_int((PurpleBlistNode *) buddy, BUDDY_KEY_CLIENT, info->type); } } @@ -2565,7 +2565,7 @@ static void im_recv_text(struct mwConversation *conv, - struct mwGaimPluginData *pd, + struct mwPurplePluginData *pd, const char *msg) { struct mwIdBlock *idb; @@ -2574,7 +2574,7 @@ idb = mwConversation_getTarget(conv); - txt = gaim_utf8_try_convert(msg); + txt = purple_utf8_try_convert(msg); t = txt? txt: msg; esc = g_markup_escape_text(t, -1); @@ -2586,19 +2586,19 @@ static void im_recv_typing(struct mwConversation *conv, - struct mwGaimPluginData *pd, + struct mwPurplePluginData *pd, gboolean typing) { struct mwIdBlock *idb; idb = mwConversation_getTarget(conv); serv_got_typing(pd->gc, idb->user, 0, - typing? GAIM_TYPING: GAIM_NOT_TYPING); + typing? PURPLE_TYPING: PURPLE_NOT_TYPING); } static void im_recv_html(struct mwConversation *conv, - struct mwGaimPluginData *pd, + struct mwPurplePluginData *pd, const char *msg) { struct mwIdBlock *idb; char *t1, *t2; @@ -2607,11 +2607,11 @@ idb = mwConversation_getTarget(conv); /* ensure we're receiving UTF8 */ - t1 = gaim_utf8_try_convert(msg); + t1 = purple_utf8_try_convert(msg); t = t1? t1: msg; /* convert entities to UTF8 so they'll log correctly */ - t2 = gaim_utf8_ncr_decode(t); + t2 = purple_utf8_ncr_decode(t); t = t2? t2: t; serv_got_im(pd->gc, idb->user, t, 0, time(NULL)); @@ -2622,7 +2622,7 @@ static void im_recv_subj(struct mwConversation *conv, - struct mwGaimPluginData *pd, + struct mwPurplePluginData *pd, const char *subj) { /** @todo somehow indicate receipt of a conversation subject. It @@ -2651,7 +2651,7 @@ static void im_recv_mime(struct mwConversation *conv, - struct mwGaimPluginData *pd, + struct mwPurplePluginData *pd, const char *data) { GHashTable *img_by_cid; @@ -2659,7 +2659,7 @@ GString *str; - GaimMimeDocument *doc; + PurpleMimeDocument *doc; const GList *parts; img_by_cid = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); @@ -2668,21 +2668,21 @@ /* don't want the contained string to ever be NULL */ str = g_string_new(""); - doc = gaim_mime_document_parse(data); + doc = purple_mime_document_parse(data); /* handle all the MIME parts */ - parts = gaim_mime_document_get_parts(doc); + parts = purple_mime_document_get_parts(doc); for(; parts; parts = parts->next) { - GaimMimePart *part = parts->data; + PurpleMimePart *part = parts->data; const char *type; - type = gaim_mime_part_get_field(part, "content-type"); + type = purple_mime_part_get_field(part, "content-type"); DEBUG_INFO("MIME part Content-Type: %s\n", NSTR(type)); if(! type) { ; /* feh */ - } else if(gaim_str_has_prefix(type, "image")) { + } else if(purple_str_has_prefix(type, "image")) { /* put images into the image store */ guchar *d_dat; @@ -2691,14 +2691,14 @@ int img; /* obtain and unencode the data */ - gaim_mime_part_get_data_decoded(part, &d_dat, &d_len); + purple_mime_part_get_data_decoded(part, &d_dat, &d_len); /* look up the content id */ - cid = (char *) gaim_mime_part_get_field(part, "Content-ID"); + cid = (char *) purple_mime_part_get_field(part, "Content-ID"); cid = make_cid(cid); - /* add image to the gaim image store */ - img = gaim_imgstore_add(d_dat, d_len, cid); + /* add image to the purple image store */ + img = purple_imgstore_add(d_dat, d_len, cid); g_free(d_dat); /* map the cid to the image store identifier */ @@ -2707,19 +2707,19 @@ /* recall the image for dereferencing later */ images = g_list_append(images, GINT_TO_POINTER(img)); - } else if(gaim_str_has_prefix(type, "text")) { + } else if(purple_str_has_prefix(type, "text")) { /* concatenate all the text parts together */ guchar *data; gsize len; - gaim_mime_part_get_data_decoded(part, &data, &len); + purple_mime_part_get_data_decoded(part, &data, &len); g_string_append(str, (const char *)data); g_free(data); } } - gaim_mime_document_free(doc); + purple_mime_document_free(doc); /* @todo should put this in its own function */ { /* replace each IMG tag's SRC attribute with an ID attribute. This @@ -2728,7 +2728,7 @@ char *start, *end; char *tmp = str->str; - while(*tmp && gaim_markup_find_tag("img", tmp, (const char **) &start, + while(*tmp && purple_markup_find_tag("img", tmp, (const char **) &start, (const char **) &end, &attribs)) { char *alt, *align, *border, *src; @@ -2772,7 +2772,7 @@ /* dereference all the imgages */ while(images) { - gaim_imgstore_unref(GPOINTER_TO_INT(images->data)); + purple_imgstore_unref(GPOINTER_TO_INT(images->data)); images = g_list_delete_link(images, images); } } @@ -2783,7 +2783,7 @@ gconstpointer msg) { struct mwServiceIm *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; srvc = mwConversation_getService(conv); session = mwService_getSession(MW_SERVICE(srvc)); @@ -2822,7 +2822,7 @@ const char *title, const char *name) { struct mwServiceIm *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; struct mwIdBlock *idb; GHashTable *ht; @@ -2871,7 +2871,7 @@ } -/* The following helps us relate a mwPlace to a GaimConvChat in the +/* The following helps us relate a mwPlace to a PurpleConvChat in the various forms by which either may be indicated. Uses some of the similar macros from the conference service above */ @@ -2883,7 +2883,7 @@ static struct mwPlace * -place_find_by_id(struct mwGaimPluginData *pd, int id) { +place_find_by_id(struct mwPurplePluginData *pd, int id) { struct mwServicePlace *srvc = pd->srvc_place; struct mwPlace *place = NULL; GList *l; @@ -2891,7 +2891,7 @@ l = (GList *) mwServicePlace_getPlaces(srvc); for(; l; l = l->next) { struct mwPlace *p = l->data; - GaimConvChat *h = GAIM_CONV_CHAT(mwPlace_getClientData(p)); + PurpleConvChat *h = PURPLE_CONV_CHAT(mwPlace_getClientData(p)); if(CHAT_TO_ID(h) == id) { place = p; @@ -2906,9 +2906,9 @@ static void mw_place_opened(struct mwPlace *place) { struct mwServicePlace *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimConversation *gconf; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleConversation *gconf; GList *members, *l; @@ -2932,8 +2932,8 @@ for(l = members; l; l = l->next) { struct mwIdBlock *idb = l->data; - gaim_conv_chat_add_user(GAIM_CONV_CHAT(gconf), idb->user, - NULL, GAIM_CBFLAGS_NONE, FALSE); + purple_conv_chat_add_user(PURPLE_CONV_CHAT(gconf), idb->user, + NULL, PURPLE_CBFLAGS_NONE, FALSE); } g_list_free(members); } @@ -2942,8 +2942,8 @@ static void mw_place_closed(struct mwPlace *place, guint32 code) { struct mwServicePlace *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; const char *n = mwPlace_getName(place); char *msg = mwError(code); @@ -2957,7 +2957,7 @@ serv_got_chat_left(gc, PLACE_TO_ID(place)); - gaim_notify_error(gc, _("Place Closed"), NULL, msg); + purple_notify_error(gc, _("Place Closed"), NULL, msg); g_free(msg); } @@ -2966,9 +2966,9 @@ const struct mwIdBlock *peer) { struct mwServicePlace *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimConversation *gconf; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleConversation *gconf; const char *n = mwPlace_getName(place); @@ -2982,8 +2982,8 @@ gconf = mwPlace_getClientData(place); g_return_if_fail(gconf != NULL); - gaim_conv_chat_add_user(GAIM_CONV_CHAT(gconf), peer->user, - NULL, GAIM_CBFLAGS_NONE, TRUE); + purple_conv_chat_add_user(PURPLE_CONV_CHAT(gconf), peer->user, + NULL, PURPLE_CBFLAGS_NONE, TRUE); } @@ -2991,9 +2991,9 @@ const struct mwIdBlock *peer) { struct mwServicePlace *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; - GaimConversation *gconf; + struct mwPurplePluginData *pd; + PurpleConnection *gc; + PurpleConversation *gconf; const char *n = mwPlace_getName(place); @@ -3007,7 +3007,7 @@ gconf = mwPlace_getClientData(place); g_return_if_fail(gconf != NULL); - gaim_conv_chat_remove_user(GAIM_CONV_CHAT(gconf), peer->user, NULL); + purple_conv_chat_remove_user(PURPLE_CONV_CHAT(gconf), peer->user, NULL); } @@ -3030,8 +3030,8 @@ const char *msg) { struct mwServicePlace *srvc; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; char *esc; if(! msg) return; @@ -3085,13 +3085,13 @@ } -/** allocate and associate a mwGaimPluginData with a GaimConnection */ -static struct mwGaimPluginData *mwGaimPluginData_new(GaimConnection *gc) { - struct mwGaimPluginData *pd; +/** allocate and associate a mwPurplePluginData with a PurpleConnection */ +static struct mwPurplePluginData *mwPurplePluginData_new(PurpleConnection *gc) { + struct mwPurplePluginData *pd; g_return_val_if_fail(gc != NULL, NULL); - pd = g_new0(struct mwGaimPluginData, 1); + pd = g_new0(struct mwPurplePluginData, 1); pd->gc = gc; pd->session = mwSession_new(&mw_session_handler); pd->srvc_aware = mw_srvc_aware_new(pd->session); @@ -3102,7 +3102,7 @@ pd->srvc_resolve = mw_srvc_resolve_new(pd->session); pd->srvc_store = mw_srvc_store_new(pd->session); pd->group_list_map = g_hash_table_new(g_direct_hash, g_direct_equal); - pd->sock_buf = gaim_circ_buffer_new(0); + pd->sock_buf = purple_circ_buffer_new(0); mwSession_addService(pd->session, MW_SERVICE(pd->srvc_aware)); mwSession_addService(pd->session, MW_SERVICE(pd->srvc_conf)); @@ -3122,7 +3122,7 @@ } -static void mwGaimPluginData_free(struct mwGaimPluginData *pd) { +static void mwPurplePluginData_free(struct mwPurplePluginData *pd) { g_return_if_fail(pd != NULL); pd->gc->proto_data = NULL; @@ -3149,13 +3149,13 @@ mwSession_free(pd->session); g_hash_table_destroy(pd->group_list_map); - gaim_circ_buffer_destroy(pd->sock_buf); + purple_circ_buffer_destroy(pd->sock_buf); g_free(pd); } -static const char *mw_prpl_list_icon(GaimAccount *a, GaimBuddy *b) { +static const char *mw_prpl_list_icon(PurpleAccount *a, PurpleBuddy *b) { /* my little green dude is a chopped up version of the aim running guy. First, cut off the head and store someplace safe. Then, take the left-half side of the body and throw it away. Make a @@ -3171,7 +3171,7 @@ } -static const char* mw_prpl_list_emblem(GaimBuddy *b) +static const char* mw_prpl_list_emblem(PurpleBuddy *b) { if(buddy_is_external(b)) return "external"; @@ -3180,9 +3180,9 @@ } -static char *mw_prpl_status_text(GaimBuddy *b) { - GaimConnection *gc; - struct mwGaimPluginData *pd; +static char *mw_prpl_status_text(PurpleBuddy *b) { + PurpleConnection *gc; + struct mwPurplePluginData *pd; struct mwAwareIdBlock t = { mwAware_USER, b->name, NULL }; const char *ret; @@ -3194,14 +3194,14 @@ } -static const char *status_text(GaimBuddy *b) { - GaimPresence *presence; - GaimStatus *status; - - presence = gaim_buddy_get_presence(b); - status = gaim_presence_get_active_status(presence); - - return gaim_status_get_name(status); +static const char *status_text(PurpleBuddy *b) { + PurplePresence *presence; + PurpleStatus *status; + + presence = purple_buddy_get_presence(b); + status = purple_presence_get_active_status(presence); + + return purple_status_get_name(status); } @@ -3240,9 +3240,9 @@ } -static void mw_prpl_tooltip_text(GaimBuddy *b, GaimNotifyUserInfo *user_info, gboolean full) { - GaimConnection *gc; - struct mwGaimPluginData *pd; +static void mw_prpl_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full) { + PurpleConnection *gc; + struct mwPurplePluginData *pd; struct mwAwareIdBlock idb = { mwAware_USER, b->name, NULL }; const char *message; @@ -3255,52 +3255,52 @@ message = mwServiceAware_getText(pd->srvc_aware, &idb); status = status_text(b); - if(message != NULL && gaim_utf8_strcasecmp(status, message)) { + if(message != NULL && purple_utf8_strcasecmp(status, message)) { tmp = g_markup_escape_text(message, -1); - gaim_notify_user_info_add_pair(user_info, status, tmp); + purple_notify_user_info_add_pair(user_info, status, tmp); g_free(tmp); } else { - gaim_notify_user_info_add_pair(user_info, _("Status"), status); + purple_notify_user_info_add_pair(user_info, _("Status"), status); } if(full) { tmp = user_supports_text(pd->srvc_aware, b->name); if(tmp) { - gaim_notify_user_info_add_pair(user_info, _("Supports"), tmp); + purple_notify_user_info_add_pair(user_info, _("Supports"), tmp); g_free(tmp); } if(buddy_is_external(b)) { - gaim_notify_user_info_add_pair(user_info, NULL, _("External User")); + purple_notify_user_info_add_pair(user_info, NULL, _("External User")); } } } -static GList *mw_prpl_status_types(GaimAccount *acct) { +static GList *mw_prpl_status_types(PurpleAccount *acct) { GList *types = NULL; - GaimStatusType *type; - - type = gaim_status_type_new(GAIM_STATUS_AVAILABLE, MW_STATE_ACTIVE, + PurpleStatusType *type; + + type = purple_status_type_new(PURPLE_STATUS_AVAILABLE, MW_STATE_ACTIVE, NULL, TRUE); - gaim_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), - gaim_value_new(GAIM_TYPE_STRING)); + purple_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), + purple_value_new(PURPLE_TYPE_STRING)); types = g_list_append(types, type); - type = gaim_status_type_new(GAIM_STATUS_AWAY, MW_STATE_AWAY, + type = purple_status_type_new(PURPLE_STATUS_AWAY, MW_STATE_AWAY, NULL, TRUE); - gaim_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), - gaim_value_new(GAIM_TYPE_STRING)); + purple_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), + purple_value_new(PURPLE_TYPE_STRING)); types = g_list_append(types, type); - type = gaim_status_type_new(GAIM_STATUS_UNAVAILABLE, MW_STATE_BUSY, + type = purple_status_type_new(PURPLE_STATUS_UNAVAILABLE, MW_STATE_BUSY, _("Do Not Disturb"), TRUE); - gaim_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), - gaim_value_new(GAIM_TYPE_STRING)); + purple_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), + purple_value_new(PURPLE_TYPE_STRING)); types = g_list_append(types, type); - type = gaim_status_type_new(GAIM_STATUS_OFFLINE, MW_STATE_OFFLINE, + type = purple_status_type_new(PURPLE_STATUS_OFFLINE, MW_STATE_OFFLINE, NULL, TRUE); types = g_list_append(types, type); @@ -3308,35 +3308,35 @@ } -static void conf_create_prompt_cancel(GaimBuddy *buddy, - GaimRequestFields *fields) { +static void conf_create_prompt_cancel(PurpleBuddy *buddy, + PurpleRequestFields *fields) { ; /* nothing to do */ } -static void conf_create_prompt_join(GaimBuddy *buddy, - GaimRequestFields *fields) { - GaimAccount *acct; - GaimConnection *gc; - struct mwGaimPluginData *pd; +static void conf_create_prompt_join(PurpleBuddy *buddy, + PurpleRequestFields *fields) { + PurpleAccount *acct; + PurpleConnection *gc; + struct mwPurplePluginData *pd; struct mwServiceConference *srvc; - GaimRequestField *f; + PurpleRequestField *f; const char *topic, *invite; struct mwConference *conf; struct mwIdBlock idb = { NULL, NULL }; acct = buddy->account; - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); pd = gc->proto_data; srvc = pd->srvc_conf; - f = gaim_request_fields_get_field(fields, CHAT_KEY_TOPIC); - topic = gaim_request_field_string_get_value(f); - - f = gaim_request_fields_get_field(fields, CHAT_KEY_INVITE); - invite = gaim_request_field_string_get_value(f); + f = purple_request_fields_get_field(fields, CHAT_KEY_TOPIC); + topic = purple_request_field_string_get_value(f); + + f = purple_request_fields_get_field(fields, CHAT_KEY_INVITE); + invite = purple_request_field_string_get_value(f); conf = mwConference_new(srvc, topic); mwConference_open(conf); @@ -3346,14 +3346,14 @@ } -static void blist_menu_conf_create(GaimBuddy *buddy, const char *msg) { - - GaimRequestFields *fields; - GaimRequestFieldGroup *g; - GaimRequestField *f; - - GaimAccount *acct; - GaimConnection *gc; +static void blist_menu_conf_create(PurpleBuddy *buddy, const char *msg) { + + PurpleRequestFields *fields; + PurpleRequestFieldGroup *g; + PurpleRequestField *f; + + PurpleAccount *acct; + PurpleConnection *gc; const char *msgA; const char *msgB; @@ -3364,26 +3364,26 @@ acct = buddy->account; g_return_if_fail(acct != NULL); - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); - fields = gaim_request_fields_new(); - - g = gaim_request_field_group_new(NULL); - gaim_request_fields_add_group(fields, g); + fields = purple_request_fields_new(); + + g = purple_request_field_group_new(NULL); + purple_request_fields_add_group(fields, g); - f = gaim_request_field_string_new(CHAT_KEY_TOPIC, _("Topic"), NULL, FALSE); - gaim_request_field_group_add_field(g, f); - - f = gaim_request_field_string_new(CHAT_KEY_INVITE, _("Message"), msg, FALSE); - gaim_request_field_group_add_field(g, f); + f = purple_request_field_string_new(CHAT_KEY_TOPIC, _("Topic"), NULL, FALSE); + purple_request_field_group_add_field(g, f); + + f = purple_request_field_string_new(CHAT_KEY_INVITE, _("Message"), msg, FALSE); + purple_request_field_group_add_field(g, f); msgA = _("Create conference with user"); msgB = _("Please enter a topic for the new conference, and an invitation" " message to be sent to %s"); msg1 = g_strdup_printf(msgB, buddy->name); - gaim_request_fields(gc, _("New Conference"), + purple_request_fields(gc, _("New Conference"), msgA, msg1, fields, _("Create"), G_CALLBACK(conf_create_prompt_join), _("Cancel"), G_CALLBACK(conf_create_prompt_cancel), @@ -3392,26 +3392,26 @@ } -static void conf_select_prompt_cancel(GaimBuddy *buddy, - GaimRequestFields *fields) { +static void conf_select_prompt_cancel(PurpleBuddy *buddy, + PurpleRequestFields *fields) { ; } -static void conf_select_prompt_invite(GaimBuddy *buddy, - GaimRequestFields *fields) { - GaimRequestField *f; +static void conf_select_prompt_invite(PurpleBuddy *buddy, + PurpleRequestFields *fields) { + PurpleRequestField *f; const GList *l; const char *msg; - f = gaim_request_fields_get_field(fields, CHAT_KEY_INVITE); - msg = gaim_request_field_string_get_value(f); - - f = gaim_request_fields_get_field(fields, "conf"); - l = gaim_request_field_list_get_selected(f); + f = purple_request_fields_get_field(fields, CHAT_KEY_INVITE); + msg = purple_request_field_string_get_value(f); + + f = purple_request_fields_get_field(fields, "conf"); + l = purple_request_field_list_get_selected(f); if(l) { - gpointer d = gaim_request_field_list_get_data(f, l->data); + gpointer d = purple_request_field_list_get_data(f, l->data); if(GPOINTER_TO_INT(d) == 0x01) { blist_menu_conf_create(buddy, msg); @@ -3424,15 +3424,15 @@ } -static void blist_menu_conf_list(GaimBuddy *buddy, +static void blist_menu_conf_list(PurpleBuddy *buddy, GList *confs) { - GaimRequestFields *fields; - GaimRequestFieldGroup *g; - GaimRequestField *f; - - GaimAccount *acct; - GaimConnection *gc; + PurpleRequestFields *fields; + PurpleRequestFieldGroup *g; + PurpleRequestField *f; + + PurpleAccount *acct; + PurpleConnection *gc; const char *msgA; const char *msgB; @@ -3441,26 +3441,26 @@ acct = buddy->account; g_return_if_fail(acct != NULL); - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); - fields = gaim_request_fields_new(); + fields = purple_request_fields_new(); - g = gaim_request_field_group_new(NULL); - gaim_request_fields_add_group(fields, g); - - f = gaim_request_field_list_new("conf", _("Available Conferences")); - gaim_request_field_list_set_multi_select(f, FALSE); + g = purple_request_field_group_new(NULL); + purple_request_fields_add_group(fields, g); + + f = purple_request_field_list_new("conf", _("Available Conferences")); + purple_request_field_list_set_multi_select(f, FALSE); for(; confs; confs = confs->next) { struct mwConference *c = confs->data; - gaim_request_field_list_add(f, mwConference_getTitle(c), c); + purple_request_field_list_add(f, mwConference_getTitle(c), c); } - gaim_request_field_list_add(f, _("Create New Conference..."), + purple_request_field_list_add(f, _("Create New Conference..."), GINT_TO_POINTER(0x01)); - gaim_request_field_group_add_field(g, f); + purple_request_field_group_add_field(g, f); - f = gaim_request_field_string_new(CHAT_KEY_INVITE, "Message", NULL, FALSE); - gaim_request_field_group_add_field(g, f); + f = purple_request_field_string_new(CHAT_KEY_INVITE, "Message", NULL, FALSE); + purple_request_field_group_add_field(g, f); msgA = _("Invite user to a conference"); msgB = _("Select a conference from the list below to send an invite to" @@ -3468,7 +3468,7 @@ " create a new conference to invite this user to."); msg = g_strdup_printf(msgB, buddy->name); - gaim_request_fields(gc, _("Invite to Conference"), + purple_request_fields(gc, _("Invite to Conference"), msgA, msg, fields, _("Invite"), G_CALLBACK(conf_select_prompt_invite), _("Cancel"), G_CALLBACK(conf_select_prompt_cancel), @@ -3477,20 +3477,20 @@ } -static void blist_menu_conf(GaimBlistNode *node, gpointer data) { - GaimBuddy *buddy = (GaimBuddy *) node; - GaimAccount *acct; - GaimConnection *gc; - struct mwGaimPluginData *pd; +static void blist_menu_conf(PurpleBlistNode *node, gpointer data) { + PurpleBuddy *buddy = (PurpleBuddy *) node; + PurpleAccount *acct; + PurpleConnection *gc; + struct mwPurplePluginData *pd; GList *l; g_return_if_fail(node != NULL); - g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node)); + g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); acct = buddy->account; g_return_if_fail(acct != NULL); - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); pd = gc->proto_data; @@ -3514,22 +3514,22 @@ #if 0 -static void blist_menu_announce(GaimBlistNode *node, gpointer data) { - GaimBuddy *buddy = (GaimBuddy *) node; - GaimAccount *acct; - GaimConnection *gc; - struct mwGaimPluginData *pd; +static void blist_menu_announce(PurpleBlistNode *node, gpointer data) { + PurpleBuddy *buddy = (PurpleBuddy *) node; + PurpleAccount *acct; + PurpleConnection *gc; + struct mwPurplePluginData *pd; struct mwSession *session; char *rcpt_name; GList *rcpt; g_return_if_fail(node != NULL); - g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node)); + g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node)); acct = buddy->account; g_return_if_fail(acct != NULL); - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); g_return_if_fail(gc != NULL); pd = gc->proto_data; @@ -3549,26 +3549,26 @@ #endif -static GList *mw_prpl_blist_node_menu(GaimBlistNode *node) { +static GList *mw_prpl_blist_node_menu(PurpleBlistNode *node) { GList *l = NULL; - GaimMenuAction *act; - - if(! GAIM_BLIST_NODE_IS_BUDDY(node)) + PurpleMenuAction *act; + + if(! PURPLE_BLIST_NODE_IS_BUDDY(node)) return l; l = g_list_append(l, NULL); - act = gaim_menu_action_new(_("Invite to Conference..."), - GAIM_CALLBACK(blist_menu_conf), NULL, NULL); + act = purple_menu_action_new(_("Invite to Conference..."), + PURPLE_CALLBACK(blist_menu_conf), NULL, NULL); l = g_list_append(l, act); #if 0 - act = gaim_menu_action_new(_("Send TEST Announcement"), - GAIM_CALLBACK(blist_menu_announce), NULL, NULL); + act = purple_menu_action_new(_("Send TEST Announcement"), + PURPLE_CALLBACK(blist_menu_announce), NULL, NULL); l = g_list_append(l, act); #endif - /** note: this never gets called for a GaimGroup, have to use the + /** note: this never gets called for a PurpleGroup, have to use the blist-node-extended-menu signal for that. The function blist_node_menu_cb is assigned to this signal in the function services_starting */ @@ -3577,7 +3577,7 @@ } -static GList *mw_prpl_chat_info(GaimConnection *gc) { +static GList *mw_prpl_chat_info(PurpleConnection *gc) { GList *l = NULL; struct proto_chat_entry *pce; @@ -3590,7 +3590,7 @@ } -static GHashTable *mw_prpl_chat_info_defaults(GaimConnection *gc, +static GHashTable *mw_prpl_chat_info_defaults(PurpleConnection *gc, const char *name) { GHashTable *table; @@ -3606,18 +3606,18 @@ } -static void mw_prpl_login(GaimAccount *acct); - - -static void prompt_host_cancel_cb(GaimConnection *gc) { - gaim_connection_error(gc, _("No Sametime Community Server specified")); -} - - -static void prompt_host_ok_cb(GaimConnection *gc, const char *host) { +static void mw_prpl_login(PurpleAccount *acct); + + +static void prompt_host_cancel_cb(PurpleConnection *gc) { + purple_connection_error(gc, _("No Sametime Community Server specified")); +} + + +static void prompt_host_ok_cb(PurpleConnection *gc, const char *host) { if(host && *host) { - GaimAccount *acct = gaim_connection_get_account(gc); - gaim_account_set_string(acct, MW_KEY_HOST, host); + PurpleAccount *acct = purple_connection_get_account(gc); + purple_account_set_string(acct, MW_KEY_HOST, host); mw_prpl_login(acct); } else { @@ -3626,18 +3626,18 @@ } -static void prompt_host(GaimConnection *gc) { - GaimAccount *acct; +static void prompt_host(PurpleConnection *gc) { + PurpleAccount *acct; const char *msgA; char *msg; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); msgA = _("No host or IP address has been configured for the" " Meanwhile account %s. Please enter one below to" " continue logging in."); - msg = g_strdup_printf(msgA, NSTR(gaim_account_get_username(acct))); + msg = g_strdup_printf(msgA, NSTR(purple_account_get_username(acct))); - gaim_request_input(gc, _("Meanwhile Connection Setup"), + purple_request_input(gc, _("Meanwhile Connection Setup"), _("No Sametime Community Server Specified"), msg, MW_PLUGIN_DEFAULT_HOST, FALSE, FALSE, NULL, _("Connect"), G_CALLBACK(prompt_host_ok_cb), @@ -3648,31 +3648,31 @@ } -static void mw_prpl_login(GaimAccount *account) { - GaimConnection *gc; - struct mwGaimPluginData *pd; +static void mw_prpl_login(PurpleAccount *account) { + PurpleConnection *gc; + struct mwPurplePluginData *pd; char *user, *pass, *host; guint port; - gc = gaim_account_get_connection(account); - pd = mwGaimPluginData_new(gc); + gc = purple_account_get_connection(account); + pd = mwPurplePluginData_new(gc); /* while we do support images, the default is to not offer it */ - gc->flags |= GAIM_CONNECTION_NO_IMAGES; - - user = g_strdup(gaim_account_get_username(account)); - pass = g_strdup(gaim_account_get_password(account)); + gc->flags |= PURPLE_CONNECTION_NO_IMAGES; + + user = g_strdup(purple_account_get_username(account)); + pass = g_strdup(purple_account_get_password(account)); host = strrchr(user, ':'); if(host) { /* annoying user split from 1.2.0, need to undo it */ *host++ = '\0'; - gaim_account_set_string(account, MW_KEY_HOST, host); - gaim_account_set_username(account, user); + purple_account_set_string(account, MW_KEY_HOST, host); + purple_account_set_username(account, user); } else { - host = (char *) gaim_account_get_string(account, MW_KEY_HOST, + host = (char *) purple_account_get_string(account, MW_KEY_HOST, MW_PLUGIN_DEFAULT_HOST); } @@ -3683,7 +3683,7 @@ return; } - port = gaim_account_get_int(account, MW_KEY_PORT, MW_PLUGIN_DEFAULT_PORT); + port = purple_account_get_int(account, MW_KEY_PORT, MW_PLUGIN_DEFAULT_PORT); DEBUG_INFO("user: '%s'\n", user); DEBUG_INFO("host: '%s'\n", host); @@ -3694,15 +3694,15 @@ mwSession_setProperty(pd->session, mwSession_AUTH_USER_ID, user, g_free); mwSession_setProperty(pd->session, mwSession_AUTH_PASSWORD, pass, g_free); - if(gaim_account_get_bool(account, MW_KEY_FAKE_IT, FALSE)) { + if(purple_account_get_bool(account, MW_KEY_FAKE_IT, FALSE)) { guint client, major, minor; /* if we're faking the login, let's also fake the version we're reporting. Let's also allow the actual values to be specified */ - client = gaim_account_get_int(account, MW_KEY_CLIENT, mwLogin_BINARY); - major = gaim_account_get_int(account, MW_KEY_MAJOR, 0x001e); - minor = gaim_account_get_int(account, MW_KEY_MINOR, 0x001d); + client = purple_account_get_int(account, MW_KEY_CLIENT, mwLogin_BINARY); + major = purple_account_get_int(account, MW_KEY_MAJOR, 0x001e); + minor = purple_account_get_int(account, MW_KEY_MINOR, 0x001d); DEBUG_INFO("client id: 0x%04x\n", client); DEBUG_INFO("client major: 0x%04x\n", major); @@ -3718,16 +3718,16 @@ GUINT_TO_POINTER(minor), NULL); } - gaim_connection_update_progress(gc, _("Connecting"), 1, MW_CONNECT_STEPS); - - if (gaim_proxy_connect(gc, account, host, port, connect_cb, pd) == NULL) { - gaim_connection_error(gc, _("Unable to connect to host")); + purple_connection_update_progress(gc, _("Connecting"), 1, MW_CONNECT_STEPS); + + if (purple_proxy_connect(gc, account, host, port, connect_cb, pd) == NULL) { + purple_connection_error(gc, _("Unable to connect to host")); } } -static void mw_prpl_close(GaimConnection *gc) { - struct mwGaimPluginData *pd; +static void mw_prpl_close(PurpleConnection *gc) { + struct mwPurplePluginData *pd; g_return_if_fail(gc != NULL); @@ -3736,7 +3736,7 @@ /* get rid of the blist save timeout */ if(pd->save_event) { - gaim_timeout_remove(pd->save_event); + purple_timeout_remove(pd->save_event); pd->save_event = 0; blist_store(pd); } @@ -3749,12 +3749,12 @@ /* stop watching the socket */ if(gc->inpa) { - gaim_input_remove(gc->inpa); + purple_input_remove(gc->inpa); gc->inpa = 0; } /* clean up the rest */ - mwGaimPluginData_free(pd); + mwPurplePluginData_free(pd); } @@ -3786,8 +3786,8 @@ /** determine content type from extension. Not so happy about this, but I don't want to actually write image type detection */ -static char *im_mime_img_content_type(GaimStoredImage *img) { - const char *fn = gaim_imgstore_get_filename(img); +static char *im_mime_img_content_type(PurpleStoredImage *img) { + const char *fn = purple_imgstore_get_filename(img); const char *ct = NULL; ct = strrchr(fn, '.'); @@ -3814,39 +3814,39 @@ } -static char *im_mime_img_content_disp(GaimStoredImage *img) { - const char *fn = gaim_imgstore_get_filename(img); +static char *im_mime_img_content_disp(PurpleStoredImage *img) { + const char *fn = purple_imgstore_get_filename(img); return g_strdup_printf("attachment; filename=\"%s\"", fn); } /** turn an IM with embedded images into a multi-part mime document */ -static char *im_mime_convert(GaimConnection *gc, +static char *im_mime_convert(PurpleConnection *gc, struct mwConversation *conv, const char *message) { GString *str; - GaimMimeDocument *doc; - GaimMimePart *part; + PurpleMimeDocument *doc; + PurpleMimePart *part; GData *attr; char *tmp, *start, *end; str = g_string_new(NULL); - doc = gaim_mime_document_new(); - - gaim_mime_document_set_field(doc, "Mime-Version", "1.0"); - gaim_mime_document_set_field(doc, "Content-Disposition", "inline"); + doc = purple_mime_document_new(); + + purple_mime_document_set_field(doc, "Mime-Version", "1.0"); + purple_mime_document_set_field(doc, "Content-Disposition", "inline"); tmp = im_mime_content_type(); - gaim_mime_document_set_field(doc, "Content-Type", tmp); + purple_mime_document_set_field(doc, "Content-Type", tmp); g_free(tmp); tmp = (char *) message; - while(*tmp && gaim_markup_find_tag("img", tmp, (const char **) &start, + while(*tmp && purple_markup_find_tag("img", tmp, (const char **) &start, (const char **) &end, &attr)) { char *id; - GaimStoredImage *img = NULL; + PurpleStoredImage *img = NULL; gsize len = (start - tmp); @@ -3856,36 +3856,36 @@ /* find the imgstore data by the id tag */ id = g_datalist_get_data(&attr, "id"); if(id && *id) - img = gaim_imgstore_get(atoi(id)); + img = purple_imgstore_get(atoi(id)); if(img) { char *cid; gpointer data; size_t size; - part = gaim_mime_part_new(doc); + part = purple_mime_part_new(doc); data = im_mime_img_content_disp(img); - gaim_mime_part_set_field(part, "Content-Disposition", data); + purple_mime_part_set_field(part, "Content-Disposition", data); g_free(data); data = im_mime_img_content_type(img); - gaim_mime_part_set_field(part, "Content-Type", data); + purple_mime_part_set_field(part, "Content-Type", data); g_free(data); cid = im_mime_content_id(); data = g_strdup_printf("<%s>", cid); - gaim_mime_part_set_field(part, "Content-ID", data); + purple_mime_part_set_field(part, "Content-ID", data); g_free(data); - gaim_mime_part_set_field(part, "Content-transfer-encoding", "base64"); + purple_mime_part_set_field(part, "Content-transfer-encoding", "base64"); /* obtain and base64 encode the image data, and put it in the mime part */ - data = gaim_imgstore_get_data(img); - size = gaim_imgstore_get_size(img); - data = gaim_base64_encode(data, (gsize) size); - gaim_mime_part_set_data(part, data); + data = purple_imgstore_get_data(img); + size = purple_imgstore_get_size(img); + data = purple_base64_encode(data, (gsize) size); + purple_mime_part_set_data(part, data); g_free(data); /* append the modified tag */ @@ -3907,19 +3907,19 @@ g_string_append(str, tmp); /* add the text/html part */ - part = gaim_mime_part_new(doc); - gaim_mime_part_set_field(part, "Content-Disposition", "inline"); - - tmp = gaim_utf8_ncr_encode(str->str); - gaim_mime_part_set_field(part, "Content-Type", "text/html"); - gaim_mime_part_set_field(part, "Content-Transfer-Encoding", "7bit"); - gaim_mime_part_set_data(part, tmp); + part = purple_mime_part_new(doc); + purple_mime_part_set_field(part, "Content-Disposition", "inline"); + + tmp = purple_utf8_ncr_encode(str->str); + purple_mime_part_set_field(part, "Content-Type", "text/html"); + purple_mime_part_set_field(part, "Content-Transfer-Encoding", "7bit"); + purple_mime_part_set_data(part, tmp); g_free(tmp); g_string_free(str, TRUE); str = g_string_new(NULL); - gaim_mime_document_write(doc, str); + purple_mime_document_write(doc, str); tmp = str->str; g_string_free(str, FALSE); @@ -3927,12 +3927,12 @@ } -static int mw_prpl_send_im(GaimConnection *gc, +static int mw_prpl_send_im(PurpleConnection *gc, const char *name, const char *message, - GaimMessageFlags flags) { - - struct mwGaimPluginData *pd; + PurpleMessageFlags flags) { + + struct mwPurplePluginData *pd; struct mwIdBlock who = { (char *) name, NULL }; struct mwConversation *conv; @@ -3952,13 +3952,13 @@ which is bad. I'm not sure how to fix this correctly. */ if(strstr(message, "<img ") || strstr(message, "<IMG ")) - flags |= GAIM_MESSAGE_IMAGES; + flags |= PURPLE_MESSAGE_IMAGES; if(mwConversation_isOpen(conv)) { char *tmp; int ret; - if((flags & GAIM_MESSAGE_IMAGES) && + if((flags & PURPLE_MESSAGE_IMAGES) && mwConversation_supports(conv, mwImSend_MIME)) { /* send a MIME message */ @@ -3970,8 +3970,8 @@ /* send an HTML message */ char *ncr; - ncr = gaim_utf8_ncr_encode(message); - tmp = gaim_strdup_withhtml(ncr); + ncr = purple_utf8_ncr_encode(message); + tmp = purple_strdup_withhtml(ncr); g_free(ncr); ret = mwConversation_send(conv, mwImSend_HTML, tmp); @@ -3979,7 +3979,7 @@ } else { /* default to text */ - tmp = gaim_markup_strip_html(message); + tmp = purple_markup_strip_html(message); ret = mwConversation_send(conv, mwImSend_PLAIN, tmp); g_free(tmp); } @@ -3989,7 +3989,7 @@ } else { /* queue up the message safely as plain text */ - char *tmp = gaim_markup_strip_html(message); + char *tmp = purple_markup_strip_html(message); convo_queue(conv, mwImSend_PLAIN, tmp); g_free(tmp); @@ -4001,11 +4001,11 @@ } -static unsigned int mw_prpl_send_typing(GaimConnection *gc, +static unsigned int mw_prpl_send_typing(PurpleConnection *gc, const char *name, - GaimTypingState state) { + PurpleTypingState state) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; struct mwIdBlock who = { (char *) name, NULL }; struct mwConversation *conv; @@ -4021,7 +4021,7 @@ if(mwConversation_isOpen(conv)) { mwConversation_send(conv, mwImSend_TYPING, t); - } else if((state == GAIM_TYPING) || (state == GAIM_TYPED)) { + } else if((state == PURPLE_TYPING) || (state == PURPLE_TYPED)) { /* only open a channel for sending typing notification, not for when typing has stopped. There's no point in re-opening a channel just to tell someone that this side isn't typing. */ @@ -4094,14 +4094,14 @@ } -static void mw_prpl_get_info(GaimConnection *gc, const char *who) { +static void mw_prpl_get_info(PurpleConnection *gc, const char *who) { struct mwAwareIdBlock idb = { mwAware_USER, (char *) who, NULL }; - struct mwGaimPluginData *pd; - GaimAccount *acct; - GaimBuddy *b; - GaimNotifyUserInfo *user_info; + struct mwPurplePluginData *pd; + PurpleAccount *acct; + PurpleBuddy *b; + PurpleNotifyUserInfo *user_info; char *tmp; const char *tmp2; @@ -4110,30 +4110,30 @@ pd = gc->proto_data; - acct = gaim_connection_get_account(gc); - b = gaim_find_buddy(acct, who); - user_info = gaim_notify_user_info_new(); - - if(gaim_str_has_prefix(who, "@E ")) { - gaim_notify_user_info_add_pair(user_info, _("External User"), NULL); + acct = purple_connection_get_account(gc); + b = purple_find_buddy(acct, who); + user_info = purple_notify_user_info_new(); + + if(purple_str_has_prefix(who, "@E ")) { + purple_notify_user_info_add_pair(user_info, _("External User"), NULL); } - gaim_notify_user_info_add_pair(user_info, _("User ID"), who); + purple_notify_user_info_add_pair(user_info, _("User ID"), who); if(b) { guint32 type; if(b->server_alias) { - gaim_notify_user_info_add_pair(user_info, _("Full Name"), b->server_alias); + purple_notify_user_info_add_pair(user_info, _("Full Name"), b->server_alias); } - type = gaim_blist_node_get_int((GaimBlistNode *) b, BUDDY_KEY_CLIENT); + type = purple_blist_node_get_int((PurpleBlistNode *) b, BUDDY_KEY_CLIENT); if(type) { tmp = g_strdup(mw_client_name(type)); if (!tmp) tmp = g_strdup_printf(_("Unknown (0x%04x)<br>"), type); - gaim_notify_user_info_add_pair(user_info, _("Last Known Client"), tmp); + purple_notify_user_info_add_pair(user_info, _("Last Known Client"), tmp); g_free(tmp); } @@ -4141,19 +4141,19 @@ tmp = user_supports_text(pd->srvc_aware, who); if(tmp) { - gaim_notify_user_info_add_pair(user_info, _("Supports"), tmp); + purple_notify_user_info_add_pair(user_info, _("Supports"), tmp); g_free(tmp); } if(b) { - gaim_notify_user_info_add_pair(user_info, _("Status"), status_text(b)); + purple_notify_user_info_add_pair(user_info, _("Status"), status_text(b)); /* XXX Is this adding a status message in its own section rather than with the "Status" label? */ tmp2 = mwServiceAware_getText(pd->srvc_aware, &idb); if(tmp2) { tmp = g_markup_escape_text(tmp2, -1); - gaim_notify_user_info_add_section_break(user_info); - gaim_notify_user_info_add_pair(user_info, NULL, tmp); + purple_notify_user_info_add_section_break(user_info); + purple_notify_user_info_add_pair(user_info, NULL, tmp); g_free(tmp); } } @@ -4161,24 +4161,24 @@ /* @todo emit a signal to allow a plugin to override the display of this notification, so that it can create its own */ - gaim_notify_userinfo(gc, who, user_info, NULL, NULL); - gaim_notify_user_info_destroy(user_info); + purple_notify_userinfo(gc, who, user_info, NULL, NULL); + purple_notify_user_info_destroy(user_info); } -static void mw_prpl_set_status(GaimAccount *acct, GaimStatus *status) { - GaimConnection *gc; +static void mw_prpl_set_status(PurpleAccount *acct, PurpleStatus *status) { + PurpleConnection *gc; const char *state; char *message = NULL; struct mwSession *session; struct mwUserStatus stat; g_return_if_fail(acct != NULL); - gc = gaim_account_get_connection(acct); + gc = purple_account_get_connection(acct); - state = gaim_status_get_id(status); + state = purple_status_get_id(status); - DEBUG_INFO("Set status to %s\n", gaim_status_get_name(status)); + DEBUG_INFO("Set status to %s\n", purple_status_get_name(status)); g_return_if_fail(gc != NULL); @@ -4200,12 +4200,12 @@ } /* determine the message */ - message = (char *) gaim_status_get_attr_string(status, MW_STATE_MESSAGE); + message = (char *) purple_status_get_attr_string(status, MW_STATE_MESSAGE); if(message) { /* all the possible non-NULL values of message up to this point are const, so we don't need to free them */ - message = gaim_markup_strip_html(message); + message = purple_markup_strip_html(message); } /* out with the old */ @@ -4219,7 +4219,7 @@ } -static void mw_prpl_set_idle(GaimConnection *gc, int t) { +static void mw_prpl_set_idle(PurpleConnection *gc, int t) { struct mwSession *session; struct mwUserStatus stat; @@ -4251,20 +4251,20 @@ } -static void notify_im(GaimConnection *gc, GList *row, void *user_data) { - GaimAccount *acct; - GaimConversation *conv; +static void notify_im(PurpleConnection *gc, GList *row, void *user_data) { + PurpleAccount *acct; + PurpleConversation *conv; char *id; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); id = g_list_nth_data(row, 1); - conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, id, acct); - if(! conv) conv = gaim_conversation_new(GAIM_CONV_TYPE_IM, acct, id); - gaim_conversation_present(conv); -} - - -static void notify_add(GaimConnection *gc, GList *row, void *user_data) { + conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, id, acct); + if(! conv) conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, id); + purple_conversation_present(conv); +} + + +static void notify_add(PurpleConnection *gc, GList *row, void *user_data) { BuddyAddData *data = user_data; char *group_name = NULL; @@ -4272,7 +4272,7 @@ group_name = data->group->name; } - gaim_blist_request_add_buddy(gaim_connection_get_account(gc), + purple_blist_request_add_buddy(purple_connection_get_account(gc), g_list_nth_data(row, 1), group_name, g_list_nth_data(row, 0)); } @@ -4286,27 +4286,27 @@ static void multi_resolved_query(struct mwResolveResult *result, - GaimConnection *gc, gpointer data) { + PurpleConnection *gc, gpointer data) { GList *l; const char *msgA; const char *msgB; char *msg; - GaimNotifySearchResults *sres; - GaimNotifySearchColumn *scol; - - sres = gaim_notify_searchresults_new(); - - scol = gaim_notify_searchresults_column_new(_("User Name")); - gaim_notify_searchresults_column_add(sres, scol); - - scol = gaim_notify_searchresults_column_new(_("Sametime ID")); - gaim_notify_searchresults_column_add(sres, scol); - - gaim_notify_searchresults_button_add(sres, GAIM_NOTIFY_BUTTON_IM, + PurpleNotifySearchResults *sres; + PurpleNotifySearchColumn *scol; + + sres = purple_notify_searchresults_new(); + + scol = purple_notify_searchresults_column_new(_("User Name")); + purple_notify_searchresults_column_add(sres, scol); + + scol = purple_notify_searchresults_column_new(_("Sametime ID")); + purple_notify_searchresults_column_add(sres, scol); + + purple_notify_searchresults_button_add(sres, PURPLE_NOTIFY_BUTTON_IM, notify_im); - gaim_notify_searchresults_button_add(sres, GAIM_NOTIFY_BUTTON_ADD, + purple_notify_searchresults_button_add(sres, PURPLE_NOTIFY_BUTTON_ADD, notify_add); for(l = result->matches; l; l = l->next) { @@ -4321,7 +4321,7 @@ row = g_list_append(row, g_strdup(match->name)); row = g_list_append(row, g_strdup(match->id)); - gaim_notify_searchresults_row_add(sres, row); + purple_notify_searchresults_row_add(sres, row); } msgA = _("An ambiguous user ID was entered"); @@ -4330,7 +4330,7 @@ " add them to your buddy list."); msg = g_strdup_printf(msgB, result->name); - gaim_notify_searchresults(gc, _("Select User"), + purple_notify_searchresults(gc, _("Select User"), msgA, msg, sres, notify_close, data); g_free(msg); @@ -4343,15 +4343,15 @@ struct mwResolveResult *res = NULL; BuddyAddData *data = b; - GaimBuddy *buddy = NULL; - GaimConnection *gc; - struct mwGaimPluginData *pd; + PurpleBuddy *buddy = NULL; + PurpleConnection *gc; + struct mwPurplePluginData *pd; if (data) { buddy = data->buddy; } - gc = gaim_account_get_connection(buddy->account); + gc = purple_account_get_connection(buddy->account); pd = gc->proto_data; if(results) @@ -4366,14 +4366,14 @@ /* uh oh, the single result isn't identical to the search term, better safe then sorry, so let's make sure it's who the user meant to add */ - gaim_blist_remove_buddy(buddy); + purple_blist_remove_buddy(buddy); multi_resolved_query(res, gc, data); } else { /* same person, set the server alias */ - gaim_blist_server_alias_buddy(buddy, match->name); - gaim_blist_node_set_string((GaimBlistNode *) buddy, + purple_blist_server_alias_buddy(buddy, match->name); + purple_blist_node_set_string((PurpleBlistNode *) buddy, BUDDY_KEY_NAME, match->name); /* subscribe to awareness */ @@ -4386,7 +4386,7 @@ } else { /* prompt user if more than one match was returned */ - gaim_blist_remove_buddy(buddy); + purple_blist_remove_buddy(buddy); multi_resolved_query(res, gc, data); } @@ -4405,7 +4405,7 @@ out unless I can think of a very good reason to do this. -siege */ DEBUG_INFO("no such buddy in community\n"); - gaim_blist_remove_buddy(buddy); + purple_blist_remove_buddy(buddy); blist_schedule(pd); if(res && res->name) { @@ -4421,7 +4421,7 @@ " your buddy list."); msg = g_strdup_printf(msgB, NSTR(res->name)); - gaim_notify_error(gc, _("Unable to add user"), msgA, msg); + purple_notify_error(gc, _("Unable to add user"), msgA, msg); g_free(msg); } @@ -4429,11 +4429,11 @@ } -static void mw_prpl_add_buddy(GaimConnection *gc, - GaimBuddy *buddy, - GaimGroup *group) { - - struct mwGaimPluginData *pd; +static void mw_prpl_add_buddy(PurpleConnection *gc, + PurpleBuddy *buddy, + PurpleGroup *group) { + + struct mwPurplePluginData *pd; struct mwServiceResolve *srvc; GList *query; enum mwResolveFlag flags; @@ -4462,14 +4462,14 @@ g_list_free(query); if(req == SEARCH_ERROR) { - gaim_blist_remove_buddy(buddy); + purple_blist_remove_buddy(buddy); blist_schedule(pd); } } -static void foreach_add_buddies(GaimGroup *group, GList *buddies, - struct mwGaimPluginData *pd) { +static void foreach_add_buddies(PurpleGroup *group, GList *buddies, + struct mwPurplePluginData *pd) { struct mwAwareList *list; list = list_ensure(pd, group); @@ -4478,17 +4478,17 @@ } -static void mw_prpl_add_buddies(GaimConnection *gc, +static void mw_prpl_add_buddies(PurpleConnection *gc, GList *buddies, GList *groups) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; GHashTable *group_sets; struct mwAwareIdBlock *idbs, *idb; pd = gc->proto_data; - /* map GaimGroup:GList of mwAwareIdBlock */ + /* map PurpleGroup:GList of mwAwareIdBlock */ group_sets = g_hash_table_new(g_direct_hash, g_direct_equal); /* bunch of mwAwareIdBlock allocated at once, free'd at once */ @@ -4496,22 +4496,22 @@ /* first pass collects mwAwareIdBlock lists for each group */ for(; buddies; buddies = buddies->next) { - GaimBuddy *b = buddies->data; - GaimGroup *g; + PurpleBuddy *b = buddies->data; + PurpleGroup *g; const char *fn; GList *l; /* nab the saved server alias and stick it on the buddy */ - fn = gaim_blist_node_get_string((GaimBlistNode *) b, BUDDY_KEY_NAME); - gaim_blist_server_alias_buddy(b, fn); - - /* convert GaimBuddy into a mwAwareIdBlock */ + fn = purple_blist_node_get_string((PurpleBlistNode *) b, BUDDY_KEY_NAME); + purple_blist_server_alias_buddy(b, fn); + + /* convert PurpleBuddy into a mwAwareIdBlock */ idb->type = mwAware_USER; idb->user = (char *) b->name; idb->community = NULL; /* put idb into the list associated with the buddy's group */ - g = gaim_buddy_get_group(b); + g = purple_buddy_get_group(b); l = g_hash_table_lookup(group_sets, g); l = g_list_prepend(l, idb++); g_hash_table_insert(group_sets, g, l); @@ -4528,17 +4528,17 @@ } -static void mw_prpl_remove_buddy(GaimConnection *gc, - GaimBuddy *buddy, GaimGroup *group) { - - struct mwGaimPluginData *pd; +static void mw_prpl_remove_buddy(PurpleConnection *gc, + PurpleBuddy *buddy, PurpleGroup *group) { + + struct mwPurplePluginData *pd; struct mwAwareIdBlock idb = { mwAware_USER, buddy->name, NULL }; struct mwAwareList *list; GList *rem = g_list_prepend(NULL, &idb); pd = gc->proto_data; - group = gaim_buddy_get_group(buddy); + group = purple_buddy_get_group(buddy); list = list_ensure(pd, group); mwAwareList_removeAware(list, rem); @@ -4568,9 +4568,9 @@ } -static void mw_prpl_set_permit_deny(GaimConnection *gc) { - GaimAccount *acct; - struct mwGaimPluginData *pd; +static void mw_prpl_set_permit_deny(PurpleConnection *gc) { + PurpleAccount *acct; + struct mwPurplePluginData *pd; struct mwSession *session; struct mwPrivacyInfo privacy = { @@ -4581,7 +4581,7 @@ g_return_if_fail(gc != NULL); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_if_fail(acct != NULL); pd = gc->proto_data; @@ -4591,25 +4591,25 @@ g_return_if_fail(session != NULL); switch(acct->perm_deny) { - case GAIM_PRIVACY_DENY_USERS: - DEBUG_INFO("GAIM_PRIVACY_DENY_USERS\n"); + case PURPLE_PRIVACY_DENY_USERS: + DEBUG_INFO("PURPLE_PRIVACY_DENY_USERS\n"); privacy_fill(&privacy, acct->deny); privacy.deny = TRUE; break; - case GAIM_PRIVACY_ALLOW_ALL: - DEBUG_INFO("GAIM_PRIVACY_ALLOW_ALL\n"); + case PURPLE_PRIVACY_ALLOW_ALL: + DEBUG_INFO("PURPLE_PRIVACY_ALLOW_ALL\n"); privacy.deny = TRUE; break; - case GAIM_PRIVACY_ALLOW_USERS: - DEBUG_INFO("GAIM_PRIVACY_ALLOW_USERS\n"); + case PURPLE_PRIVACY_ALLOW_USERS: + DEBUG_INFO("PURPLE_PRIVACY_ALLOW_USERS\n"); privacy_fill(&privacy, acct->permit); privacy.deny = FALSE; break; - case GAIM_PRIVACY_DENY_ALL: - DEBUG_INFO("GAIM_PRIVACY_DENY_ALL\n"); + case PURPLE_PRIVACY_DENY_ALL: + DEBUG_INFO("PURPLE_PRIVACY_DENY_ALL\n"); privacy.deny = FALSE; break; @@ -4623,22 +4623,22 @@ } -static void mw_prpl_add_permit(GaimConnection *gc, const char *name) { +static void mw_prpl_add_permit(PurpleConnection *gc, const char *name) { mw_prpl_set_permit_deny(gc); } -static void mw_prpl_add_deny(GaimConnection *gc, const char *name) { +static void mw_prpl_add_deny(PurpleConnection *gc, const char *name) { mw_prpl_set_permit_deny(gc); } -static void mw_prpl_rem_permit(GaimConnection *gc, const char *name) { +static void mw_prpl_rem_permit(PurpleConnection *gc, const char *name) { mw_prpl_set_permit_deny(gc); } -static void mw_prpl_rem_deny(GaimConnection *gc, const char *name) { +static void mw_prpl_rem_deny(PurpleConnection *gc, const char *name) { mw_prpl_set_permit_deny(gc); } @@ -4662,10 +4662,10 @@ } -static void mw_prpl_join_chat(GaimConnection *gc, +static void mw_prpl_join_chat(PurpleConnection *gc, GHashTable *components) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; char *c, *t; pd = gc->proto_data; @@ -4703,10 +4703,10 @@ } -static void mw_prpl_reject_chat(GaimConnection *gc, +static void mw_prpl_reject_chat(PurpleConnection *gc, GHashTable *components) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; struct mwServiceConference *srvc; char *c; @@ -4732,12 +4732,12 @@ } -static void mw_prpl_chat_invite(GaimConnection *gc, +static void mw_prpl_chat_invite(PurpleConnection *gc, int id, const char *invitation, const char *who) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; struct mwConference *conf; struct mwPlace *place; struct mwIdBlock idb = { (char *) who, NULL }; @@ -4760,10 +4760,10 @@ } -static void mw_prpl_chat_leave(GaimConnection *gc, +static void mw_prpl_chat_leave(PurpleConnection *gc, int id) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; struct mwConference *conf; pd = gc->proto_data; @@ -4783,7 +4783,7 @@ } -static void mw_prpl_chat_whisper(GaimConnection *gc, +static void mw_prpl_chat_whisper(PurpleConnection *gc, int id, const char *who, const char *message) { @@ -4792,12 +4792,12 @@ } -static int mw_prpl_chat_send(GaimConnection *gc, +static int mw_prpl_chat_send(PurpleConnection *gc, int id, const char *message, - GaimMessageFlags flags) { - - struct mwGaimPluginData *pd; + PurpleMessageFlags flags) { + + struct mwPurplePluginData *pd; struct mwConference *conf; char *msg; int ret; @@ -4807,7 +4807,7 @@ g_return_val_if_fail(pd != NULL, 0); conf = ID_TO_CONF(pd, id); - msg = gaim_markup_strip_html(message); + msg = purple_markup_strip_html(message); if(conf) { ret = ! mwConference_sendText(conf, msg); @@ -4824,7 +4824,7 @@ } -static void mw_prpl_keepalive(GaimConnection *gc) { +static void mw_prpl_keepalive(PurpleConnection *gc) { struct mwSession *session; g_return_if_fail(gc != NULL); @@ -4836,11 +4836,11 @@ } -static void mw_prpl_alias_buddy(GaimConnection *gc, +static void mw_prpl_alias_buddy(PurpleConnection *gc, const char *who, const char *alias) { - struct mwGaimPluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = gc->proto_data; g_return_if_fail(pd != NULL); /* it's a change to the buddy list, so we've gotta reflect that in @@ -4850,7 +4850,7 @@ } -static void mw_prpl_group_buddy(GaimConnection *gc, +static void mw_prpl_group_buddy(PurpleConnection *gc, const char *who, const char *old_group, const char *new_group) { @@ -4858,17 +4858,17 @@ struct mwAwareIdBlock idb = { mwAware_USER, (char *) who, NULL }; GList *gl = g_list_prepend(NULL, &idb); - struct mwGaimPluginData *pd = gc->proto_data; - GaimGroup *group; + struct mwPurplePluginData *pd = gc->proto_data; + PurpleGroup *group; struct mwAwareList *list; /* add who to new_group's aware list */ - group = gaim_find_group(new_group); + group = purple_find_group(new_group); list = list_ensure(pd, group); mwAwareList_addAware(list, gl); /* remove who from old_group's aware list */ - group = gaim_find_group(old_group); + group = purple_find_group(old_group); list = list_ensure(pd, group); mwAwareList_removeAware(list, gl); @@ -4879,32 +4879,32 @@ } -static void mw_prpl_rename_group(GaimConnection *gc, +static void mw_prpl_rename_group(PurpleConnection *gc, const char *old, - GaimGroup *group, + PurpleGroup *group, GList *buddies) { - struct mwGaimPluginData *pd = gc->proto_data; + struct mwPurplePluginData *pd = gc->proto_data; g_return_if_fail(pd != NULL); /* it's a change in the buddy list, so we've gotta reflect that in the server copy. Also, having this function should prevent all those buddies from being removed and re-added. We don't really - give a crap what the group is named in Gaim other than to record + give a crap what the group is named in Purple other than to record that as the group name/alias */ blist_schedule(pd); } -static void mw_prpl_buddy_free(GaimBuddy *buddy) { +static void mw_prpl_buddy_free(PurpleBuddy *buddy) { /* I don't think we have any cleanup for buddies yet */ ; } -static void mw_prpl_convo_closed(GaimConnection *gc, const char *who) { - struct mwGaimPluginData *pd = gc->proto_data; +static void mw_prpl_convo_closed(PurpleConnection *gc, const char *who) { + struct mwPurplePluginData *pd = gc->proto_data; struct mwServiceIm *srvc; struct mwConversation *conv; struct mwIdBlock idb = { (char *) who, NULL }; @@ -4922,7 +4922,7 @@ } -static const char *mw_prpl_normalize(const GaimAccount *account, +static const char *mw_prpl_normalize(const PurpleAccount *account, const char *id) { /* code elsewhere assumes that the return value points to different @@ -4935,8 +4935,8 @@ } -static void mw_prpl_remove_group(GaimConnection *gc, GaimGroup *group) { - struct mwGaimPluginData *pd; +static void mw_prpl_remove_group(PurpleConnection *gc, PurpleGroup *group) { + struct mwPurplePluginData *pd; struct mwAwareList *list; pd = gc->proto_data; @@ -4955,11 +4955,11 @@ } -static gboolean mw_prpl_can_receive_file(GaimConnection *gc, +static gboolean mw_prpl_can_receive_file(PurpleConnection *gc, const char *who) { - struct mwGaimPluginData *pd; + struct mwPurplePluginData *pd; struct mwServiceAware *srvc; - GaimAccount *acct; + PurpleAccount *acct; g_return_val_if_fail(gc != NULL, FALSE); @@ -4969,19 +4969,19 @@ srvc = pd->srvc_aware; g_return_val_if_fail(srvc != NULL, FALSE); - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); g_return_val_if_fail(acct != NULL, FALSE); - return gaim_find_buddy(acct, who) && + return purple_find_buddy(acct, who) && user_supports(srvc, who, mwAttribute_FILE_TRANSFER); } -static void ft_outgoing_init(GaimXfer *xfer) { - GaimAccount *acct; - GaimConnection *gc; - - struct mwGaimPluginData *pd; +static void ft_outgoing_init(PurpleXfer *xfer) { + PurpleAccount *acct; + PurpleConnection *gc; + + struct mwPurplePluginData *pd; struct mwServiceFileTransfer *srvc; struct mwFileTransfer *ft; @@ -4993,23 +4993,23 @@ DEBUG_INFO("ft_outgoing_init\n"); - acct = gaim_xfer_get_account(xfer); - gc = gaim_account_get_connection(acct); + acct = purple_xfer_get_account(xfer); + gc = purple_account_get_connection(acct); pd = gc->proto_data; srvc = pd->srvc_ft; - filename = gaim_xfer_get_local_filename(xfer); - filesize = gaim_xfer_get_size(xfer); + filename = purple_xfer_get_local_filename(xfer); + filesize = purple_xfer_get_size(xfer); idb.user = xfer->who; - gaim_xfer_update_progress(xfer); + purple_xfer_update_progress(xfer); /* test that we can actually send the file */ fp = g_fopen(filename, "rb"); if(! fp) { char *msg = g_strdup_printf(_("Error reading file %s: \n%s\n"), filename, strerror(errno)); - gaim_xfer_error(gaim_xfer_get_type(xfer), acct, xfer->who, msg); + purple_xfer_error(purple_xfer_get_type(xfer), acct, xfer->who, msg); g_free(msg); return; } @@ -5022,15 +5022,15 @@ ft = mwFileTransfer_new(srvc, &idb, NULL, filename, filesize); - gaim_xfer_ref(xfer); - mwFileTransfer_setClientData(ft, xfer, (GDestroyNotify) gaim_xfer_unref); + purple_xfer_ref(xfer); + mwFileTransfer_setClientData(ft, xfer, (GDestroyNotify) purple_xfer_unref); xfer->data = ft; mwFileTransfer_offer(ft); } -static void ft_outgoing_cancel(GaimXfer *xfer) { +static void ft_outgoing_cancel(PurpleXfer *xfer) { struct mwFileTransfer *ft = xfer->data; DEBUG_INFO("ft_outgoing_cancel called\n"); @@ -5039,39 +5039,39 @@ } -static GaimXfer *mw_prpl_new_xfer(GaimConnection *gc, const char *who) { - GaimAccount *acct; - GaimXfer *xfer; - - acct = gaim_connection_get_account(gc); - - xfer = gaim_xfer_new(acct, GAIM_XFER_SEND, who); +static PurpleXfer *mw_prpl_new_xfer(PurpleConnection *gc, const char *who) { + PurpleAccount *acct; + PurpleXfer *xfer; + + acct = purple_connection_get_account(gc); + + xfer = purple_xfer_new(acct, PURPLE_XFER_SEND, who); if (xfer) { - gaim_xfer_set_init_fnc(xfer, ft_outgoing_init); - gaim_xfer_set_cancel_send_fnc(xfer, ft_outgoing_cancel); + purple_xfer_set_init_fnc(xfer, ft_outgoing_init); + purple_xfer_set_cancel_send_fnc(xfer, ft_outgoing_cancel); } return xfer; } -static void mw_prpl_send_file(GaimConnection *gc, +static void mw_prpl_send_file(PurpleConnection *gc, const char *who, const char *file) { - GaimXfer *xfer = mw_prpl_new_xfer(gc, who); + PurpleXfer *xfer = mw_prpl_new_xfer(gc, who); if(file) { DEBUG_INFO("file != NULL\n"); - gaim_xfer_request_accepted(xfer, file); + purple_xfer_request_accepted(xfer, file); } else { DEBUG_INFO("file == NULL\n"); - gaim_xfer_request(xfer); + purple_xfer_request(xfer); } } -static GaimPluginProtocolInfo mw_prpl_info = { +static PurplePluginProtocolInfo mw_prpl_info = { .options = OPT_PROTO_IM_IMAGE, .user_splits = NULL, /*< set in mw_plugin_init */ .protocol_options = NULL, /*< set in mw_plugin_init */ @@ -5135,42 +5135,42 @@ }; -static GaimPluginPrefFrame * -mw_plugin_get_plugin_pref_frame(GaimPlugin *plugin) { - GaimPluginPrefFrame *frame; - GaimPluginPref *pref; - - frame = gaim_plugin_pref_frame_new(); +static PurplePluginPrefFrame * +mw_plugin_get_plugin_pref_frame(PurplePlugin *plugin) { + PurplePluginPrefFrame *frame; + PurplePluginPref *pref; + + frame = purple_plugin_pref_frame_new(); - pref = gaim_plugin_pref_new_with_label(_("Remotely Stored Buddy List")); - gaim_plugin_pref_frame_add(frame, pref); + pref = purple_plugin_pref_new_with_label(_("Remotely Stored Buddy List")); + purple_plugin_pref_frame_add(frame, pref); - pref = gaim_plugin_pref_new_with_name(MW_PRPL_OPT_BLIST_ACTION); - gaim_plugin_pref_set_label(pref, _("Buddy List Storage Mode")); - - gaim_plugin_pref_set_type(pref, GAIM_PLUGIN_PREF_CHOICE); - gaim_plugin_pref_add_choice(pref, _("Local Buddy List Only"), + pref = purple_plugin_pref_new_with_name(MW_PRPL_OPT_BLIST_ACTION); + purple_plugin_pref_set_label(pref, _("Buddy List Storage Mode")); + + purple_plugin_pref_set_type(pref, PURPLE_PLUGIN_PREF_CHOICE); + purple_plugin_pref_add_choice(pref, _("Local Buddy List Only"), GINT_TO_POINTER(blist_choice_LOCAL)); - gaim_plugin_pref_add_choice(pref, _("Merge List from Server"), + purple_plugin_pref_add_choice(pref, _("Merge List from Server"), GINT_TO_POINTER(blist_choice_MERGE)); - gaim_plugin_pref_add_choice(pref, _("Merge and Save List to Server"), + purple_plugin_pref_add_choice(pref, _("Merge and Save List to Server"), GINT_TO_POINTER(blist_choice_STORE)); - gaim_plugin_pref_add_choice(pref, _("Synchronize List with Server"), + purple_plugin_pref_add_choice(pref, _("Synchronize List with Server"), GINT_TO_POINTER(blist_choice_SYNCH)); - gaim_plugin_pref_frame_add(frame, pref); + purple_plugin_pref_frame_add(frame, pref); return frame; } -static GaimPluginUiInfo mw_plugin_ui_info = { +static PurplePluginUiInfo mw_plugin_ui_info = { .get_plugin_pref_frame = mw_plugin_get_plugin_pref_frame, }; -static void st_import_action_cb(GaimConnection *gc, char *filename) { +static void st_import_action_cb(PurpleConnection *gc, char *filename) { struct mwSametimeList *l; FILE *file; @@ -5198,17 +5198,17 @@ /** prompts for a file to import blist from */ -static void st_import_action(GaimPluginAction *act) { - GaimConnection *gc; - GaimAccount *account; +static void st_import_action(PurplePluginAction *act) { + PurpleConnection *gc; + PurpleAccount *account; char *title; gc = act->context; - account = gaim_connection_get_account(gc); + account = purple_connection_get_account(gc); title = g_strdup_printf(_("Import Sametime List for Account %s"), - gaim_account_get_username(account)); - - gaim_request_file(gc, title, NULL, FALSE, + purple_account_get_username(account)); + + purple_request_file(gc, title, NULL, FALSE, G_CALLBACK(st_import_action_cb), NULL, gc); @@ -5216,7 +5216,7 @@ } -static void st_export_action_cb(GaimConnection *gc, char *filename) { +static void st_export_action_cb(PurpleConnection *gc, char *filename) { struct mwSametimeList *l; char *str; FILE *file; @@ -5237,17 +5237,17 @@ /** prompts for a file to export blist to */ -static void st_export_action(GaimPluginAction *act) { - GaimConnection *gc; - GaimAccount *account; +static void st_export_action(PurplePluginAction *act) { + PurpleConnection *gc; + PurpleAccount *account; char *title; gc = act->context; - account = gaim_connection_get_account(gc); + account = purple_connection_get_account(gc); title = g_strdup_printf(_("Export Sametime List for Account %s"), - gaim_account_get_username(account)); - - gaim_request_file(gc, title, NULL, TRUE, + purple_account_get_username(account)); + + purple_request_file(gc, title, NULL, TRUE, G_CALLBACK(st_export_action_cb), NULL, gc); @@ -5256,19 +5256,19 @@ static void remote_group_multi_cleanup(gpointer ignore, - GaimRequestFields *fields) { + PurpleRequestFields *fields) { - GaimRequestField *f; + PurpleRequestField *f; const GList *l; - f = gaim_request_fields_get_field(fields, "group"); - l = gaim_request_field_list_get_items(f); + f = purple_request_fields_get_field(fields, "group"); + l = purple_request_field_list_get_items(f); for(; l; l = l->next) { const char *i = l->data; struct named_id *res; - res = gaim_request_field_list_get_data(f, i); + res = purple_request_field_list_get_data(f, i); g_free(res->id); g_free(res->name); @@ -5277,21 +5277,21 @@ } -static void remote_group_done(struct mwGaimPluginData *pd, +static void remote_group_done(struct mwPurplePluginData *pd, const char *id, const char *name) { - GaimConnection *gc; - GaimAccount *acct; - GaimGroup *group; - GaimBlistNode *gn; + PurpleConnection *gc; + PurpleAccount *acct; + PurpleGroup *group; + PurpleBlistNode *gn; const char *owner; g_return_if_fail(pd != NULL); gc = pd->gc; - acct = gaim_connection_get_account(gc); + acct = purple_connection_get_account(gc); /* collision checking */ - group = gaim_find_group(name); + group = purple_find_group(name); if(group) { const char *msgA; const char *msgB; @@ -5301,40 +5301,40 @@ msgB = _("A group named '%s' already exists in your buddy list."); msg = g_strdup_printf(msgB, name); - gaim_notify_error(gc, _("Unable to add group"), msgA, msg); + purple_notify_error(gc, _("Unable to add group"), msgA, msg); g_free(msg); return; } - group = gaim_group_new(name); - gn = (GaimBlistNode *) group; - - owner = gaim_account_get_username(acct); - - gaim_blist_node_set_string(gn, GROUP_KEY_NAME, id); - gaim_blist_node_set_int(gn, GROUP_KEY_TYPE, mwSametimeGroup_DYNAMIC); - gaim_blist_node_set_string(gn, GROUP_KEY_OWNER, owner); - gaim_blist_add_group(group, NULL); + group = purple_group_new(name); + gn = (PurpleBlistNode *) group; + + owner = purple_account_get_username(acct); + + purple_blist_node_set_string(gn, GROUP_KEY_NAME, id); + purple_blist_node_set_int(gn, GROUP_KEY_TYPE, mwSametimeGroup_DYNAMIC); + purple_blist_node_set_string(gn, GROUP_KEY_OWNER, owner); + purple_blist_add_group(group, NULL); group_add(pd, group); blist_schedule(pd); } -static void remote_group_multi_cb(struct mwGaimPluginData *pd, - GaimRequestFields *fields) { - GaimRequestField *f; +static void remote_group_multi_cb(struct mwPurplePluginData *pd, + PurpleRequestFields *fields) { + PurpleRequestField *f; const GList *l; - f = gaim_request_fields_get_field(fields, "group"); - l = gaim_request_field_list_get_selected(f); + f = purple_request_fields_get_field(fields, "group"); + l = purple_request_field_list_get_selected(f); if(l) { const char *i = l->data; struct named_id *res; - res = gaim_request_field_list_get_data(f, i); + res = purple_request_field_list_get_data(f, i); remote_group_done(pd, res->id, res->name); } @@ -5343,26 +5343,26 @@ static void remote_group_multi(struct mwResolveResult *result, - struct mwGaimPluginData *pd) { - - GaimRequestFields *fields; - GaimRequestFieldGroup *g; - GaimRequestField *f; + struct mwPurplePluginData *pd) { + + PurpleRequestFields *fields; + PurpleRequestFieldGroup *g; + PurpleRequestField *f; GList *l; const char *msgA; const char *msgB; char *msg; - GaimConnection *gc = pd->gc; - - fields = gaim_request_fields_new(); - - g = gaim_request_field_group_new(NULL); - gaim_request_fields_add_group(fields, g); - - f = gaim_request_field_list_new("group", _("Possible Matches")); - gaim_request_field_list_set_multi_select(f, FALSE); - gaim_request_field_set_required(f, TRUE); + PurpleConnection *gc = pd->gc; + + fields = purple_request_fields_new(); + + g = purple_request_field_group_new(NULL); + purple_request_fields_add_group(fields, g); + + f = purple_request_field_list_new("group", _("Possible Matches")); + purple_request_field_list_set_multi_select(f, FALSE); + purple_request_field_set_required(f, TRUE); for(l = result->matches; l; l = l->next) { struct mwResolveMatch *match = l->data; @@ -5371,10 +5371,10 @@ res->id = g_strdup(match->id); res->name = g_strdup(match->name); - gaim_request_field_list_add(f, res->name, res); + purple_request_field_list_add(f, res->name, res); } - gaim_request_field_group_add_field(g, f); + purple_request_field_group_add_field(g, f); msgA = _("Notes Address Book group results"); msgB = _("The identifier '%s' may possibly refer to any of the following" @@ -5382,7 +5382,7 @@ " the list below to add it to your buddy list."); msg = g_strdup_printf(msgB, result->name); - gaim_request_fields(gc, _("Select Notes Address Book"), + purple_request_fields(gc, _("Select Notes Address Book"), msgA, msg, fields, _("Add Group"), G_CALLBACK(remote_group_multi_cb), _("Cancel"), G_CALLBACK(remote_group_multi_cleanup), @@ -5398,8 +5398,8 @@ struct mwResolveResult *res = NULL; struct mwSession *session; - struct mwGaimPluginData *pd; - GaimConnection *gc; + struct mwPurplePluginData *pd; + PurpleConnection *gc; session = mwService_getSession(MW_SERVICE(srvc)); g_return_if_fail(session != NULL); @@ -5430,15 +5430,15 @@ " groups in your Sametime community."); msg = g_strdup_printf(msgB, res->name); - gaim_notify_error(gc, _("Unable to add group"), msgA, msg); + purple_notify_error(gc, _("Unable to add group"), msgA, msg); g_free(msg); } } -static void remote_group_action_cb(GaimConnection *gc, const char *name) { - struct mwGaimPluginData *pd; +static void remote_group_action_cb(PurpleConnection *gc, const char *name) { + struct mwPurplePluginData *pd; struct mwServiceResolve *srvc; GList *query; enum mwResolveFlag flags; @@ -5460,8 +5460,8 @@ } -static void remote_group_action(GaimPluginAction *act) { - GaimConnection *gc; +static void remote_group_action(PurplePluginAction *act) { + PurpleConnection *gc; const char *msgA; const char *msgB; @@ -5471,7 +5471,7 @@ msgB = _("Enter the name of a Notes Address Book group in the field below" " to add the group and its members to your buddy list."); - gaim_request_input(gc, _("Add Group"), msgA, msgB, NULL, + purple_request_input(gc, _("Add Group"), msgA, msgB, NULL, FALSE, FALSE, NULL, _("Add"), G_CALLBACK(remote_group_action_cb), _("Cancel"), NULL, @@ -5480,28 +5480,28 @@ static void search_notify(struct mwResolveResult *result, - GaimConnection *gc) { + PurpleConnection *gc) { GList *l; const char *msgA; const char *msgB; char *msg1; char *msg2; - GaimNotifySearchResults *sres; - GaimNotifySearchColumn *scol; - - sres = gaim_notify_searchresults_new(); - - scol = gaim_notify_searchresults_column_new(_("User Name")); - gaim_notify_searchresults_column_add(sres, scol); - - scol = gaim_notify_searchresults_column_new(_("Sametime ID")); - gaim_notify_searchresults_column_add(sres, scol); - - gaim_notify_searchresults_button_add(sres, GAIM_NOTIFY_BUTTON_IM, + PurpleNotifySearchResults *sres; + PurpleNotifySearchColumn *scol; + + sres = purple_notify_searchresults_new(); + + scol = purple_notify_searchresults_column_new(_("User Name")); + purple_notify_searchresults_column_add(sres, scol); + + scol = purple_notify_searchresults_column_new(_("Sametime ID")); + purple_notify_searchresults_column_add(sres, scol); + + purple_notify_searchresults_button_add(sres, PURPLE_NOTIFY_BUTTON_IM, notify_im); - gaim_notify_searchresults_button_add(sres, GAIM_NOTIFY_BUTTON_ADD, + purple_notify_searchresults_button_add(sres, PURPLE_NOTIFY_BUTTON_ADD, notify_add); for(l = result->matches; l; l = l->next) { @@ -5513,7 +5513,7 @@ row = g_list_append(row, g_strdup(match->name)); row = g_list_append(row, g_strdup(match->id)); - gaim_notify_searchresults_row_add(sres, row); + purple_notify_searchresults_row_add(sres, row); } msgA = _("Search results for '%s'"); @@ -5524,7 +5524,7 @@ msg1 = g_strdup_printf(msgA, result->name); msg2 = g_strdup_printf(msgB, result->name); - gaim_notify_searchresults(gc, _("Search Results"), + purple_notify_searchresults(gc, _("Search Results"), msg1, msg2, sres, notify_close, NULL); g_free(msg1); @@ -5536,7 +5536,7 @@ guint32 id, guint32 code, GList *results, gpointer b) { - GaimConnection *gc = b; + PurpleConnection *gc = b; struct mwResolveResult *res = NULL; if(results) res = results->data; @@ -5554,15 +5554,15 @@ " Sametime community."); msg = g_strdup_printf(msgB, NSTR(res->name)); - gaim_notify_error(gc, _("No Matches"), msgA, msg); + purple_notify_error(gc, _("No Matches"), msgA, msg); g_free(msg); } } -static void search_action_cb(GaimConnection *gc, const char *name) { - struct mwGaimPluginData *pd; +static void search_action_cb(PurpleConnection *gc, const char *name) { + struct mwPurplePluginData *pd; struct mwServiceResolve *srvc; GList *query; enum mwResolveFlag flags; @@ -5584,8 +5584,8 @@ } -static void search_action(GaimPluginAction *act) { - GaimConnection *gc; +static void search_action(PurplePluginAction *act) { + PurpleConnection *gc; const char *msgA; const char *msgB; @@ -5595,7 +5595,7 @@ msgB = _("Enter a name or partial ID in the field below to search" " for matching users in your Sametime community."); - gaim_request_input(gc, _("User Search"), msgA, msgB, NULL, + purple_request_input(gc, _("User Search"), msgA, msgB, NULL, FALSE, FALSE, NULL, _("Search"), G_CALLBACK(search_action_cb), _("Cancel"), NULL, @@ -5603,23 +5603,23 @@ } -static GList *mw_plugin_actions(GaimPlugin *plugin, gpointer context) { - GaimPluginAction *act; +static GList *mw_plugin_actions(PurplePlugin *plugin, gpointer context) { + PurplePluginAction *act; GList *l = NULL; - act = gaim_plugin_action_new(_("Import Sametime List..."), + act = purple_plugin_action_new(_("Import Sametime List..."), st_import_action); l = g_list_append(l, act); - act = gaim_plugin_action_new(_("Export Sametime List..."), + act = purple_plugin_action_new(_("Export Sametime List..."), st_export_action); l = g_list_append(l, act); - act = gaim_plugin_action_new(_("Add Notes Address Book Group..."), + act = purple_plugin_action_new(_("Add Notes Address Book Group..."), remote_group_action); l = g_list_append(l, act); - act = gaim_plugin_action_new(_("User Search..."), + act = purple_plugin_action_new(_("User Search..."), search_action); l = g_list_append(l, act); @@ -5627,31 +5627,31 @@ } -static gboolean mw_plugin_load(GaimPlugin *plugin) { +static gboolean mw_plugin_load(PurplePlugin *plugin) { return TRUE; } -static gboolean mw_plugin_unload(GaimPlugin *plugin) { +static gboolean mw_plugin_unload(PurplePlugin *plugin) { return TRUE; } -static void mw_plugin_destroy(GaimPlugin *plugin) { +static void mw_plugin_destroy(PurplePlugin *plugin) { g_log_remove_handler(G_LOG_DOMAIN, log_handler[0]); g_log_remove_handler("meanwhile", log_handler[1]); } -static GaimPluginInfo mw_plugin_info = { - .magic = GAIM_PLUGIN_MAGIC, - .major_version = GAIM_MAJOR_VERSION, - .minor_version = GAIM_MINOR_VERSION, - .type = GAIM_PLUGIN_PROTOCOL, +static PurplePluginInfo mw_plugin_info = { + .magic = PURPLE_PLUGIN_MAGIC, + .major_version = PURPLE_MAJOR_VERSION, + .minor_version = PURPLE_MINOR_VERSION, + .type = PURPLE_PLUGIN_PROTOCOL, .ui_requirement = NULL, .flags = 0, .dependencies = NULL, - .priority = GAIM_PRIORITY_DEFAULT, + .priority = PURPLE_PRIORITY_DEFAULT, .id = PLUGIN_ID, .name = PLUGIN_NAME, .version = VERSION, @@ -5674,41 +5674,41 @@ if(! (msg && *msg)) return; - /* handle g_log requests via gaim's built-in debug logging */ + /* handle g_log requests via purple's built-in debug logging */ if(flags & G_LOG_LEVEL_ERROR) { - gaim_debug_error(domain, "%s\n", msg); + purple_debug_error(domain, "%s\n", msg); } else if(flags & G_LOG_LEVEL_WARNING) { - gaim_debug_warning(domain, "%s\n", msg); + purple_debug_warning(domain, "%s\n", msg); } else { - gaim_debug_info(domain, "%s\n", msg); + purple_debug_info(domain, "%s\n", msg); } } -static void mw_plugin_init(GaimPlugin *plugin) { - GaimAccountOption *opt; +static void mw_plugin_init(PurplePlugin *plugin) { + PurpleAccountOption *opt; GList *l = NULL; GLogLevelFlags logflags = G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION; /* set up the preferences */ - gaim_prefs_add_none(MW_PRPL_OPT_BASE); - gaim_prefs_add_int(MW_PRPL_OPT_BLIST_ACTION, BLIST_CHOICE_DEFAULT); + purple_prefs_add_none(MW_PRPL_OPT_BASE); + purple_prefs_add_int(MW_PRPL_OPT_BLIST_ACTION, BLIST_CHOICE_DEFAULT); /* remove dead preferences */ - gaim_prefs_remove(MW_PRPL_OPT_PSYCHIC); - gaim_prefs_remove(MW_PRPL_OPT_SAVE_DYNAMIC); + purple_prefs_remove(MW_PRPL_OPT_PSYCHIC); + purple_prefs_remove(MW_PRPL_OPT_SAVE_DYNAMIC); /* host to connect to */ - opt = gaim_account_option_string_new(_("Server"), MW_KEY_HOST, + opt = purple_account_option_string_new(_("Server"), MW_KEY_HOST, MW_PLUGIN_DEFAULT_HOST); l = g_list_append(l, opt); /* port to connect to */ - opt = gaim_account_option_int_new(_("Port"), MW_KEY_PORT, + opt = purple_account_option_int_new(_("Port"), MW_KEY_PORT, MW_PLUGIN_DEFAULT_PORT); l = g_list_append(l, opt); @@ -5718,33 +5718,33 @@ gboolean b = FALSE; const char *label = _("Force login (ignore server redirects)"); - if(gaim_prefs_exists(MW_PRPL_OPT_FORCE_LOGIN)) - b = gaim_prefs_get_bool(MW_PRPL_OPT_FORCE_LOGIN); - - opt = gaim_account_option_bool_new(label, MW_KEY_FORCE, b); + if(purple_prefs_exists(MW_PRPL_OPT_FORCE_LOGIN)) + b = purple_prefs_get_bool(MW_PRPL_OPT_FORCE_LOGIN); + + opt = purple_account_option_bool_new(label, MW_KEY_FORCE, b); l = g_list_append(l, opt); } /* pretend to be Sametime Connect */ - opt = gaim_account_option_bool_new(_("Hide client identity"), + opt = purple_account_option_bool_new(_("Hide client identity"), MW_KEY_FAKE_IT, FALSE); l = g_list_append(l, opt); mw_prpl_info.protocol_options = l; l = NULL; - /* forward all our g_log messages to gaim. Generally all the logging - calls are using gaim_log directly, but the g_return macros will + /* forward all our g_log messages to purple. Generally all the logging + calls are using purple_log directly, but the g_return macros will get caught here */ log_handler[0] = g_log_set_handler(G_LOG_DOMAIN, logflags, mw_log_handler, NULL); - /* redirect meanwhile's logging to gaim's */ + /* redirect meanwhile's logging to purple's */ log_handler[1] = g_log_set_handler("meanwhile", logflags, mw_log_handler, NULL); } -GAIM_INIT_PLUGIN(sametime, mw_plugin_init, mw_plugin_info); +PURPLE_INIT_PLUGIN(sametime, mw_plugin_init, mw_plugin_info); /* The End. */