/pidgin/main: 4b57eced35d5: oscar: Code cleaning by moving AIM/I...
Youness Alaoui
kakaroto at kakaroto.homelinux.net
Fri Jun 17 19:11:41 EDT 2016
Changeset: 4b57eced35d5bef2919308436b618ad42cc42ae7
Author: Youness Alaoui <kakaroto at kakaroto.homelinux.net>
Date: 2016-05-03 15:00 -0400
Branch: oscar_auth
URL: https://hg.pidgin.im/pidgin/main/rev/4b57eced35d5
Description:
oscar: Code cleaning by moving AIM/ICQ specific options to oscar.c
protocol options were in 3 different places, which caused code duplication
and made it harder to set protocol-specific options in a single function.
The fnuction that adds option now knows if it's for ICQ or AIM and acts
accordingly.
diffstat:
libpurple/protocols/oscar/aim.c | 9 +--------
libpurple/protocols/oscar/icq.c | 7 +------
libpurple/protocols/oscar/oscar.c | 14 +++++++++++++-
libpurple/protocols/oscar/oscar.h | 2 +-
4 files changed, 16 insertions(+), 16 deletions(-)
diffs (87 lines):
diff --git a/libpurple/protocols/oscar/aim.c b/libpurple/protocols/oscar/aim.c
--- a/libpurple/protocols/oscar/aim.c
+++ b/libpurple/protocols/oscar/aim.c
@@ -36,14 +36,7 @@ aim_protocol_init(PurpleProtocol *protoc
protocol->id = "prpl-aim";
protocol->name = "AIM";
- oscar_init_account_options(protocol);
-
- option = purple_account_option_bool_new(_("Allow multiple simultaneous logins"), "allow_multiple_logins",
- OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS);
- protocol->account_options = g_list_append(protocol->account_options, option);
-
- option = purple_account_option_string_new(_("Server"), "server", oscar_get_login_server(FALSE, TRUE));
- protocol->account_options = g_list_prepend(protocol->account_options, option);
+ oscar_init_account_options(protocol, FALSE);
}
static void
diff --git a/libpurple/protocols/oscar/icq.c b/libpurple/protocols/oscar/icq.c
--- a/libpurple/protocols/oscar/icq.c
+++ b/libpurple/protocols/oscar/icq.c
@@ -52,13 +52,8 @@ icq_protocol_init(PurpleProtocol *protoc
protocol->id = "prpl-icq";
protocol->name = "ICQ";
- oscar_init_account_options(protocol);
+ oscar_init_account_options(protocol, TRUE);
- option = purple_account_option_string_new(_("Server"), "server", oscar_get_login_server(TRUE, TRUE));
- protocol->account_options = g_list_prepend(protocol->account_options, option);
-
- option = purple_account_option_string_new(_("Encoding"), "encoding", OSCAR_DEFAULT_CUSTOM_ENCODING);
- protocol->account_options = g_list_append(protocol->account_options, option);
}
static void
diff --git a/libpurple/protocols/oscar/oscar.c b/libpurple/protocols/oscar/oscar.c
--- a/libpurple/protocols/oscar/oscar.c
+++ b/libpurple/protocols/oscar/oscar.c
@@ -5559,7 +5559,7 @@ gboolean oscar_uri_handler(const char *p
return FALSE;
}
-void oscar_init_account_options(PurpleProtocol *protocol)
+void oscar_init_account_options(PurpleProtocol *protocol, gboolean is_icq)
{
PurpleAccountOption *option;
static const gchar *encryption_keys[] = {
@@ -5588,6 +5588,9 @@ void oscar_init_account_options(PurplePr
GList *login_options = NULL;
int i;
+ option = purple_account_option_string_new(_("Server"), "server", oscar_get_login_server(is_icq, TRUE));
+ protocol->account_options = g_list_append(protocol->account_options, option);
+
option = purple_account_option_int_new(_("Port"), "port", OSCAR_DEFAULT_LOGIN_PORT);
protocol->account_options = g_list_append(protocol->account_options, option);
@@ -5613,6 +5616,15 @@ void oscar_init_account_options(PurplePr
_("Always use AIM/ICQ proxy server for\nfile transfers and direct IM (slower,\nbut does not reveal your IP address)"), "always_use_rv_proxy",
OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY);
protocol->account_options = g_list_append(protocol->account_options, option);
+
+ if (is_icq) {
+ option = purple_account_option_string_new(_("Encoding"), "encoding", OSCAR_DEFAULT_CUSTOM_ENCODING);
+ protocol->account_options = g_list_append(protocol->account_options, option);
+ } else {
+ option = purple_account_option_bool_new(_("Allow multiple simultaneous logins"), "allow_multiple_logins",
+ OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS);
+ protocol->account_options = g_list_append(protocol->account_options, option);
+ }
}
static void
diff --git a/libpurple/protocols/oscar/oscar.h b/libpurple/protocols/oscar/oscar.h
--- a/libpurple/protocols/oscar/oscar.h
+++ b/libpurple/protocols/oscar/oscar.h
@@ -1367,7 +1367,7 @@ struct name_data
void oscar_free_name_data(struct name_data *data);
-void oscar_init_account_options(PurpleProtocol *protocol);
+void oscar_init_account_options(PurpleProtocol *protocol, gboolean is_icq);
#ifdef __cplusplus
}
More information about the Commits
mailing list