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. */