Mercurial > pidgin.yaz
annotate libpurple/protocols/yahoo/libyahoo.c @ 30090:49ffb40f3bcd
merged with im.pidgin.pidgin
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sun, 04 Apr 2010 14:22:45 +0900 |
parents | 34d787feb17c 701eb26db990 |
children | 1f1d58d35746 |
rev | line source |
---|---|
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
1 /* |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
2 * purple |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
3 * |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
4 * Purple is the legal property of its developers, whose names are too numerous |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
5 * to list here. Please refer to the COPYRIGHT file distributed with this |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
6 * source distribution. |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
7 * |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
8 * This program is free software; you can redistribute it and/or modify |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
11 * (at your option) any later version. |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
12 * |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
13 * This program is distributed in the hope that it will be useful, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
16 * GNU General Public License for more details. |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
17 * |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
19 * along with this program; if not, write to the Free Software |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
21 * |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
22 */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
23 |
27399
1f63548d3da5
Add header includes. I still have not yet tested building this.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27397
diff
changeset
|
24 #include "internal.h" |
1f63548d3da5
Add header includes. I still have not yet tested building this.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27397
diff
changeset
|
25 |
1f63548d3da5
Add header includes. I still have not yet tested building this.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27397
diff
changeset
|
26 #include <account.h> |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
27 #include <core.h> |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
28 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
29 #include "libymsg.h" |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
30 #include "yahoochat.h" |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
31 #include "yahoo_aliases.h" |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
32 #include "yahoo_doodle.h" |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
33 #include "yahoo_filexfer.h" |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
34 #include "yahoo_picture.h" |
27964
d3871a303c6c
adapted to jp separation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
27469
diff
changeset
|
35 #include "ycht.h" |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
36 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
37 static PurplePlugin *my_protocol = NULL; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
38 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
39 static void yahoo_register_commands(void) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
40 { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
41 purple_cmd_register("join", "s", PURPLE_CMD_P_PRPL, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
42 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_CHAT | |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
43 PURPLE_CMD_FLAG_PRPL_ONLY, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
44 "prpl-yahoo", yahoopurple_cmd_chat_join, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
45 _("join <room>: Join a chat room on the Yahoo network"), NULL); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
46 purple_cmd_register("list", "", PURPLE_CMD_P_PRPL, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
47 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_CHAT | |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
48 PURPLE_CMD_FLAG_PRPL_ONLY, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
49 "prpl-yahoo", yahoopurple_cmd_chat_list, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
50 _("list: List rooms on the Yahoo network"), NULL); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
51 purple_cmd_register("buzz", "", PURPLE_CMD_P_PRPL, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
52 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
53 "prpl-yahoo", yahoopurple_cmd_buzz, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
54 _("buzz: Buzz a user to get their attention"), NULL); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
55 purple_cmd_register("doodle", "", PURPLE_CMD_P_PRPL, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
56 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
57 "prpl-yahoo", yahoo_doodle_purple_cmd_start, |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
58 _("doodle: Request user to start a Doodle session"), NULL); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
59 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
60 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
61 static PurpleAccount *find_acct(const char *prpl, const char *acct_id) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
62 { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
63 PurpleAccount *acct = NULL; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
64 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
65 /* If we have a specific acct, use it */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
66 if (acct_id) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
67 acct = purple_accounts_find(acct_id, prpl); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
68 if (acct && !purple_account_is_connected(acct)) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
69 acct = NULL; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
70 } else { /* Otherwise find an active account for the protocol */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
71 GList *l = purple_accounts_get_all(); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
72 while (l) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
73 if (!strcmp(prpl, purple_account_get_protocol_id(l->data)) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
74 && purple_account_is_connected(l->data)) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
75 acct = l->data; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
76 break; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
77 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
78 l = l->next; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
79 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
80 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
81 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
82 return acct; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
83 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
84 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
85 /* This may not be the best way to do this, but we find the first key w/o a value |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
86 * and assume it is the buddy name */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
87 static void yahoo_find_uri_novalue_param(gpointer key, gpointer value, gpointer user_data) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
88 { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
89 char **retval = user_data; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
90 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
91 if (value == NULL && *retval == NULL) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
92 *retval = key; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
93 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
94 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
95 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
96 static gboolean yahoo_uri_handler(const char *proto, const char *cmd, GHashTable *params) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
97 { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
98 char *acct_id = g_hash_table_lookup(params, "account"); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
99 PurpleAccount *acct; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
100 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
101 if (g_ascii_strcasecmp(proto, "ymsgr")) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
102 return FALSE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
103 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
104 acct = find_acct(purple_plugin_get_id(my_protocol), acct_id); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
105 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
106 if (!acct) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
107 return FALSE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
108 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
109 /* ymsgr:SendIM?screename&m=The+Message */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
110 if (!g_ascii_strcasecmp(cmd, "SendIM")) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
111 char *sname = NULL; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
112 g_hash_table_foreach(params, yahoo_find_uri_novalue_param, &sname); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
113 if (sname) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
114 char *message = g_hash_table_lookup(params, "m"); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
115 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
116 PurpleConversation *conv = purple_find_conversation_with_account( |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
117 PURPLE_CONV_TYPE_IM, sname, acct); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
118 if (conv == NULL) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
119 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, sname); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
120 purple_conversation_present(conv); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
121 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
122 if (message) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
123 /* Spaces are encoded as '+' */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
124 g_strdelimit(message, "+", ' '); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
125 purple_conv_send_confirm(conv, message); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
126 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
127 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
128 /* else |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
129 **If pidgindialogs_im() was in the core, we could use it here. |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
130 * It is all purple_request_* based, but I'm not sure it really belongs in the core |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
131 pidgindialogs_im(); */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
132 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
133 return TRUE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
134 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
135 /* ymsgr:Chat?roomname */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
136 else if (!g_ascii_strcasecmp(cmd, "Chat")) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
137 char *rname = NULL; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
138 g_hash_table_foreach(params, yahoo_find_uri_novalue_param, &rname); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
139 if (rname) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
140 /* This is somewhat hacky, but the params aren't useful after this command */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
141 g_hash_table_insert(params, g_strdup("room"), g_strdup(rname)); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
142 g_hash_table_insert(params, g_strdup("type"), g_strdup("Chat")); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
143 serv_join_chat(purple_account_get_connection(acct), params); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
144 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
145 /* else |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
146 ** Same as above (except that this would have to be re-written using purple_request_*) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
147 pidgin_blist_joinchat_show(); */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
148 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
149 return TRUE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
150 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
151 /* ymsgr:AddFriend?name */ |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
152 else if (!g_ascii_strcasecmp(cmd, "AddFriend")) { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
153 char *name = NULL; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
154 g_hash_table_foreach(params, yahoo_find_uri_novalue_param, &name); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
155 purple_blist_request_add_buddy(acct, name, NULL, NULL); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
156 return TRUE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
157 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
158 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
159 return FALSE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
160 } |
27399
1f63548d3da5
Add header includes. I still have not yet tested building this.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27397
diff
changeset
|
161 |
27397
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
162 static GHashTable * |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
163 yahoo_get_account_text_table(PurpleAccount *account) |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
164 { |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
165 GHashTable *table; |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
166 table = g_hash_table_new(g_str_hash, g_str_equal); |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
167 g_hash_table_insert(table, "login_label", (gpointer)_("Yahoo ID...")); |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
168 return table; |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
169 } |
1f30c4a47e3d
have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27396
diff
changeset
|
170 |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
171 static gboolean yahoo_unload_plugin(PurplePlugin *plugin) |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
172 { |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
173 yahoo_dest_colorht(); |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
174 |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
175 return TRUE; |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
176 } |
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
177 |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
178 static PurpleWhiteboardPrplOps yahoo_whiteboard_prpl_ops = |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
179 { |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
180 yahoo_doodle_start, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
181 yahoo_doodle_end, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
182 yahoo_doodle_get_dimensions, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
183 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
184 yahoo_doodle_get_brush, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
185 yahoo_doodle_set_brush, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
186 yahoo_doodle_send_draw_list, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
187 yahoo_doodle_clear, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
188 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
189 /* padding */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
190 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
191 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
192 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
193 NULL |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
194 }; |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
195 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
196 static PurplePluginProtocolInfo prpl_info = |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
197 { |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
198 OPT_PROTO_MAIL_CHECK | OPT_PROTO_CHAT_TOPIC, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
199 NULL, /* user_splits */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
200 NULL, /* protocol_options */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
201 {"png,gif,jpeg", 96, 96, 96, 96, 0, PURPLE_ICON_SCALE_SEND}, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
202 yahoo_list_icon, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
203 yahoo_list_emblem, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
204 yahoo_status_text, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
205 yahoo_tooltip_text, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
206 yahoo_status_types, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
207 yahoo_blist_node_menu, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
208 yahoo_c_info, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
209 yahoo_c_info_defaults, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
210 yahoo_login, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
211 yahoo_close, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
212 yahoo_send_im, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
213 NULL, /* set info */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
214 yahoo_send_typing, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
215 yahoo_get_info, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
216 yahoo_set_status, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
217 yahoo_set_idle, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
218 NULL, /* change_passwd*/ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
219 yahoo_add_buddy, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
220 NULL, /* add_buddies */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
221 yahoo_remove_buddy, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
222 NULL, /* remove_buddies */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
223 NULL, /* add_permit */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
224 yahoo_add_deny, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
225 NULL, /* rem_permit */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
226 yahoo_rem_deny, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
227 yahoo_set_permit_deny, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
228 yahoo_c_join, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
229 NULL, /* reject chat invite */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
230 yahoo_get_chat_name, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
231 yahoo_c_invite, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
232 yahoo_c_leave, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
233 NULL, /* chat whisper */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
234 yahoo_c_send, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
235 yahoo_keepalive, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
236 NULL, /* register_user */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
237 NULL, /* get_cb_info */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
238 NULL, /* get_cb_away */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
239 yahoo_update_alias, /* alias_buddy */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
240 yahoo_change_buddys_group, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
241 yahoo_rename_group, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
242 NULL, /* buddy_free */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
243 NULL, /* convo_closed */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
244 purple_normalize_nocase, /* normalize */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
245 yahoo_set_buddy_icon, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
246 NULL, /* void (*remove_group)(PurpleConnection *gc, const char *group);*/ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
247 NULL, /* char *(*get_cb_real_name)(PurpleConnection *gc, int id, const char *who); */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
248 NULL, /* set_chat_topic */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
249 NULL, /* find_blist_chat */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
250 yahoo_roomlist_get_list, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
251 yahoo_roomlist_cancel, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
252 yahoo_roomlist_expand_category, |
28836
7b88cc6c3f7a
Cannot send a file to a federated user on yahoo.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
28394
diff
changeset
|
253 yahoo_can_receive_file, /* can_receive_file */ |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
254 yahoo_send_file, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
255 yahoo_new_xfer, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
256 yahoo_offline_message, /* offline_message */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
257 &yahoo_whiteboard_prpl_ops, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
258 NULL, /* send_raw */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
259 NULL, /* roomlist_room_serialize */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
260 NULL, /* unregister_user */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
261 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
262 yahoo_send_attention, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
263 yahoo_attention_types, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
264 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
265 sizeof(PurplePluginProtocolInfo), /* struct_size */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
266 yahoo_get_account_text_table, /* get_account_text_table */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
267 NULL, /* initiate_media */ |
29874
2cb6ea4420a0
Add a NULL for PurplePluginProtocolInfo::get_moods to all the plugins I build
Paul Aurich <paul@darkrain42.org>
parents:
28836
diff
changeset
|
268 NULL, /* get_media_caps */ |
2cb6ea4420a0
Add a NULL for PurplePluginProtocolInfo::get_moods to all the plugins I build
Paul Aurich <paul@darkrain42.org>
parents:
28836
diff
changeset
|
269 NULL /* get_moods */ |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
270 }; |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
271 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
272 static PurplePluginInfo info = |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
273 { |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
274 PURPLE_PLUGIN_MAGIC, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
275 PURPLE_MAJOR_VERSION, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
276 PURPLE_MINOR_VERSION, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
277 PURPLE_PLUGIN_PROTOCOL, /**< type */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
278 NULL, /**< ui_requirement */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
279 0, /**< flags */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
280 NULL, /**< dependencies */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
281 PURPLE_PRIORITY_DEFAULT, /**< priority */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
282 "prpl-yahoo", /**< id */ |
28267
6d3f3473cb4c
Fix Yahoo emoticon sets and make Yahoo-Japan consistent.
Paul Aurich <paul@darkrain42.org>
parents:
27469
diff
changeset
|
283 "Yahoo", /**< name */ |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
284 DISPLAY_VERSION, /**< version */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
285 /** summary */ |
27469
ca66c299dbbf
This looked wrong to me.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27400
diff
changeset
|
286 N_("Yahoo! Protocol Plugin"), |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
287 /** description */ |
27469
ca66c299dbbf
This looked wrong to me.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27400
diff
changeset
|
288 N_("Yahoo! Protocol Plugin"), |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
289 NULL, /**< author */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
290 PURPLE_WEBSITE, /**< homepage */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
291 NULL, /**< load */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
292 yahoo_unload_plugin, /**< unload */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
293 NULL, /**< destroy */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
294 NULL, /**< ui_info */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
295 &prpl_info, /**< extra_info */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
296 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
297 yahoo_actions, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
298 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
299 /* padding */ |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
300 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
301 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
302 NULL, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
303 NULL |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
304 }; |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
305 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
306 static void |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
307 init_plugin(PurplePlugin *plugin) |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
308 { |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
309 PurpleAccountOption *option; |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
310 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
311 option = purple_account_option_int_new(_("Pager port"), "port", YAHOO_PAGER_PORT); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
312 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
313 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
314 option = purple_account_option_string_new(_("File transfer server"), "xfer_host", YAHOO_XFER_HOST); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
315 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
316 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
317 option = purple_account_option_int_new(_("File transfer port"), "xfer_port", YAHOO_XFER_PORT); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
318 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
319 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
320 option = purple_account_option_string_new(_("Chat room locale"), "room_list_locale", YAHOO_ROOMLIST_LOCALE); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
321 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
322 |
28394
74958cad186d
Add a boolean account option (defaulting to off) to control whether to use
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28267
diff
changeset
|
323 option = purple_account_option_string_new(_("Encoding"), "local_charset", "UTF-8"); |
74958cad186d
Add a boolean account option (defaulting to off) to control whether to use
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28267
diff
changeset
|
324 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
74958cad186d
Add a boolean account option (defaulting to off) to control whether to use
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28267
diff
changeset
|
325 |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
326 option = purple_account_option_bool_new(_("Ignore conference and chatroom invitations"), "ignore_invites", FALSE); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
327 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
328 |
28394
74958cad186d
Add a boolean account option (defaulting to off) to control whether to use
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
28267
diff
changeset
|
329 option = purple_account_option_bool_new(_("Use account proxy for SSL connections"), "proxy_ssl", FALSE); |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
330 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
331 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
332 option = purple_account_option_string_new(_("Chat room list URL"), "room_list", YAHOO_ROOMLIST_URL); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
333 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
334 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
335 my_protocol = plugin; |
27400
31534ae3406a
Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27399
diff
changeset
|
336 yahoo_register_commands(); |
27396
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
337 yahoo_init_colorht(); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
338 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
339 purple_signal_connect(purple_get_core(), "uri-handler", plugin, |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
340 PURPLE_CALLBACK(yahoo_uri_handler), NULL); |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
341 } |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
342 |
4aa78e6524b1
Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff
changeset
|
343 PURPLE_INIT_PLUGIN(yahoo, init_plugin, info); |