summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEoin Coffey <ecoffey@soc.pidgin.im>2008-01-31 02:23:55 +0000
committerEoin Coffey <ecoffey@soc.pidgin.im>2008-01-31 02:23:55 +0000
commit5744bd624d403ac41597bb25cb2dd4ab3745db27 (patch)
tree32031b8872c71e408e13d1e5c781b01e5369cdd1
parentb9aa864c2ffbff0b20904e2167c9925f66df8355 (diff)
downloadpidgin-5744bd624d403ac41597bb25cb2dd4ab3745db27.tar.gz
Made account.c use purple_connection_get_prpl instead of gc->prpl.
For the next minor bump would be useful to add getters for gc->flags and gc->wants_to_die. This was done with the blessing of rekkanoryo.
-rw-r--r--libpurple/account.c66
1 files changed, 47 insertions, 19 deletions
diff --git a/libpurple/account.c b/libpurple/account.c
index 8a3c7da810..a4acbf7067 100644
--- a/libpurple/account.c
+++ b/libpurple/account.c
@@ -2200,9 +2200,13 @@ purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy)
{
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleConnection *gc = purple_account_get_connection(account);
+ PurplePlugin *prpl = NULL;
+
+ if (gc != NULL)
+ prpl = purple_connection_get_prpl(gc);
- if (gc != NULL && gc->prpl != NULL)
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
if (prpl_info != NULL && prpl_info->add_buddy != NULL)
prpl_info->add_buddy(gc, buddy, purple_buddy_get_group(buddy));
@@ -2213,10 +2217,14 @@ purple_account_add_buddies(PurpleAccount *account, GList *buddies)
{
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleConnection *gc = purple_account_get_connection(account);
+ PurplePlugin *prpl = NULL;
+
+ if (gc != NULL)
+ prpl = purple_connection_get_prpl(gc);
- if (gc != NULL && gc->prpl != NULL)
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
-
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
+
if (prpl_info) {
GList *cur, *groups = NULL;
@@ -2248,10 +2256,14 @@ purple_account_remove_buddy(PurpleAccount *account, PurpleBuddy *buddy,
{
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleConnection *gc = purple_account_get_connection(account);
+ PurplePlugin *prpl = NULL;
+
+ if (gc != NULL)
+ prpl = purple_connection_get_prpl(gc);
- if (gc != NULL && gc->prpl != NULL)
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
-
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
+
if (prpl_info && prpl_info->remove_buddy)
prpl_info->remove_buddy(gc, buddy, group);
}
@@ -2261,10 +2273,14 @@ purple_account_remove_buddies(PurpleAccount *account, GList *buddies, GList *gro
{
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleConnection *gc = purple_account_get_connection(account);
+ PurplePlugin *prpl = NULL;
+
+ if (gc != NULL)
+ prpl = purple_connection_get_prpl(gc);
- if (gc != NULL && gc->prpl != NULL)
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
-
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
+
if (prpl_info) {
if (prpl_info->remove_buddies)
prpl_info->remove_buddies(gc, buddies, groups);
@@ -2285,9 +2301,13 @@ purple_account_remove_group(PurpleAccount *account, PurpleGroup *group)
{
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleConnection *gc = purple_account_get_connection(account);
+ PurplePlugin *prpl = NULL;
+
+ if (gc != NULL)
+ prpl = purple_connection_get_prpl(gc);
- if (gc != NULL && gc->prpl != NULL)
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
if (prpl_info && prpl_info->remove_group)
prpl_info->remove_group(gc, group);
@@ -2299,11 +2319,15 @@ purple_account_change_password(PurpleAccount *account, const char *orig_pw,
{
PurplePluginProtocolInfo *prpl_info = NULL;
PurpleConnection *gc = purple_account_get_connection(account);
-
+ PurplePlugin *prpl = NULL;
+
purple_account_set_password(account, new_pw);
+
+ if (gc != NULL)
+ prpl = purple_connection_get_prpl(gc);
- if (gc != NULL && gc->prpl != NULL)
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
if (prpl_info && prpl_info->change_passwd)
prpl_info->change_passwd(gc, orig_pw, new_pw);
@@ -2312,16 +2336,20 @@ purple_account_change_password(PurpleAccount *account, const char *orig_pw,
gboolean purple_account_supports_offline_message(PurpleAccount *account, PurpleBuddy *buddy)
{
PurpleConnection *gc;
- PurplePluginProtocolInfo *prpl_info;
-
+ PurplePluginProtocolInfo *prpl_info = NULL;
+ PurplePlugin *prpl = NULL;
+
g_return_val_if_fail(account, FALSE);
g_return_val_if_fail(buddy, FALSE);
gc = purple_account_get_connection(account);
if (gc == NULL)
return FALSE;
+
+ prpl = purple_connection_get_prpl(gc);
- prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
+ if (prpl != NULL)
+ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
if (!prpl_info || !prpl_info->offline_message)
return FALSE;