annotate libpurple/protocols/yahoo/libyahoo.c @ 27400:31534ae3406a

Moved functions around and made some no longer static. All the functions that are no longer static now have prototypes in libymsg.h. Moved the URI handling stuff to libyahoo.c since I removed the handling capability from libyahoojp.c. I still need to find out if Yahoo! JAPAN has its own URI scheme or not.
author John Bailey <rekkanoryo@rekkanoryo.org>
date Sun, 05 Jul 2009 23:56:07 +0000
parents 1f63548d3da5
children ca66c299dbbf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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"
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
35
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
36 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
37
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
38 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
39 {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
40 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
41 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
42 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
43 "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
44 _("join &lt;room&gt;: 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
45 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
46 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
47 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
48 "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
49 _("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
50 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
51 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
52 "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
53 _("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
54 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
55 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
56 "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
57 _("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
58 }
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 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
61 {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
62 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
63
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
64 /* 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
65 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
66 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
67 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
68 acct = NULL;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
69 } 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
70 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
71 while (l) {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
72 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
73 && 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
74 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
75 break;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
76 }
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
77 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
78 }
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 return acct;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
82 }
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 /* 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
85 * 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
86 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
87 {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
88 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
89
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
90 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
91 *retval = key;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
92 }
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 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
96 {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
97 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
98 PurpleAccount *acct;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
99
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
100 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
101 return FALSE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
102
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
103 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
104
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
105 if (!acct)
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
106 return FALSE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
107
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
108 /* 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
109 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
110 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
111 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
112 if (sname) {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
113 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
114
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
115 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
116 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
117 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
118 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
119 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
120
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
121 if (message) {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
122 /* 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
123 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
124 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
125 }
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 /* else
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
128 **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
129 * 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
130 pidgindialogs_im(); */
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
131
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
132 return TRUE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
133 }
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
134 /* 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
135 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
136 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
137 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
138 if (rname) {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
139 /* 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
140 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
141 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
142 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
143 }
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
144 /* else
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
145 ** 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
146 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
147
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
148 return TRUE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
149 }
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
150 /* 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
151 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
152 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
153 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
154 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
155 return TRUE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
156 }
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 return FALSE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
159 }
27399
1f63548d3da5 Add header includes. I still have not yet tested building this.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27397
diff changeset
160
27397
1f30c4a47e3d have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27396
diff changeset
161 static GHashTable *
1f30c4a47e3d have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27396
diff changeset
162 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
163 {
1f30c4a47e3d have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27396
diff changeset
164 GHashTable *table;
1f30c4a47e3d have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27396
diff changeset
165 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
166 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
167 return table;
1f30c4a47e3d have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27396
diff changeset
168 }
1f30c4a47e3d have a separate hash table function for each prpl.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27396
diff changeset
169
27400
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
170 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
171 {
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
172 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
173
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
174 return TRUE;
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
175 }
31534ae3406a Moved functions around and made some no longer static. All the functions
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27399
diff changeset
176
27396
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
177 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
178 {
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
179 yahoo_doodle_start,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
180 yahoo_doodle_end,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
181 yahoo_doodle_get_dimensions,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
182 NULL,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
183 yahoo_doodle_get_brush,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
184 yahoo_doodle_set_brush,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
185 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
186 yahoo_doodle_clear,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
187
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
188 /* padding */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
189 NULL,
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 };
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 static PurplePluginProtocolInfo prpl_info =
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
196 {
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
197 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
198 NULL, /* user_splits */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
199 NULL, /* protocol_options */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
200 {"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
201 yahoo_list_icon,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
202 yahoo_list_emblem,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
203 yahoo_status_text,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
204 yahoo_tooltip_text,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
205 yahoo_status_types,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
206 yahoo_blist_node_menu,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
207 yahoo_c_info,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
208 yahoo_c_info_defaults,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
209 yahoo_login,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
210 yahoo_close,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
211 yahoo_send_im,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
212 NULL, /* set info */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
213 yahoo_send_typing,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
214 yahoo_get_info,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
215 yahoo_set_status,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
216 yahoo_set_idle,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
217 NULL, /* change_passwd*/
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
218 yahoo_add_buddy,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
219 NULL, /* add_buddies */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
220 yahoo_remove_buddy,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
221 NULL, /* remove_buddies */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
222 NULL, /* add_permit */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
223 yahoo_add_deny,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
224 NULL, /* rem_permit */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
225 yahoo_rem_deny,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
226 yahoo_set_permit_deny,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
227 yahoo_c_join,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
228 NULL, /* reject chat invite */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
229 yahoo_get_chat_name,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
230 yahoo_c_invite,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
231 yahoo_c_leave,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
232 NULL, /* chat whisper */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
233 yahoo_c_send,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
234 yahoo_keepalive,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
235 NULL, /* register_user */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
236 NULL, /* get_cb_info */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
237 NULL, /* get_cb_away */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
238 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
239 yahoo_change_buddys_group,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
240 yahoo_rename_group,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
241 NULL, /* buddy_free */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
242 NULL, /* convo_closed */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
243 purple_normalize_nocase, /* normalize */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
244 yahoo_set_buddy_icon,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
245 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
246 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
247 NULL, /* set_chat_topic */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
248 NULL, /* find_blist_chat */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
249 yahoo_roomlist_get_list,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
250 yahoo_roomlist_cancel,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
251 yahoo_roomlist_expand_category,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
252 NULL, /* can_receive_file */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
253 yahoo_send_file,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
254 yahoo_new_xfer,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
255 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
256 &yahoo_whiteboard_prpl_ops,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
257 NULL, /* send_raw */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
258 NULL, /* roomlist_room_serialize */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
259 NULL, /* unregister_user */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
260
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
261 yahoo_send_attention,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
262 yahoo_attention_types,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
263
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
264 sizeof(PurplePluginProtocolInfo), /* struct_size */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
265 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
266 NULL, /* initiate_media */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
267 NULL /* can_do_media */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
268 };
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
269
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
270 static PurplePluginInfo info =
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 PURPLE_PLUGIN_MAGIC,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
273 PURPLE_MAJOR_VERSION,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
274 PURPLE_MINOR_VERSION,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
275 PURPLE_PLUGIN_PROTOCOL, /**< type */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
276 NULL, /**< ui_requirement */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
277 0, /**< flags */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
278 NULL, /**< dependencies */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
279 PURPLE_PRIORITY_DEFAULT, /**< priority */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
280 "prpl-yahoo", /**< id */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
281 "Yahoo", /**< name */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
282 DISPLAY_VERSION, /**< version */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
283 /** summary */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
284 N_("Yahoo Protocol Plugin"),
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
285 /** description */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
286 N_("Yahoo Protocol Plugin"),
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
287 NULL, /**< author */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
288 PURPLE_WEBSITE, /**< homepage */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
289 NULL, /**< load */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
290 yahoo_unload_plugin, /**< unload */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
291 NULL, /**< destroy */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
292 NULL, /**< ui_info */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
293 &prpl_info, /**< extra_info */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
294 NULL,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
295 yahoo_actions,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
296
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
297 /* padding */
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
298 NULL,
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
299 NULL,
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 };
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
303
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
304 static void
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
305 init_plugin(PurplePlugin *plugin)
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
306 {
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
307 PurpleAccountOption *option;
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 option = purple_account_option_string_new(_("Pager server"), "server", YAHOO_PAGER_HOST);
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
310 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
311
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
312 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
313 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
314
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
315 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
316 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
317
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
318 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
319 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
320
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
321 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
322 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
323
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
324 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
325 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
326
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
327 option = purple_account_option_string_new(_("Encoding"), "local_charset", "UTF-8");
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
328 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
329
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
330
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
331 #if 0
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 option = purple_account_option_string_new(_("Yahoo Chat server"), "ycht-server", YAHOO_YCHT_HOST);
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
336 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
337
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
338 option = purple_account_option_int_new(_("Yahoo Chat port"), "ycht-port", YAHOO_YCHT_PORT);
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
339 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
340 #endif
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 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
343 yahoo_register_commands();
27396
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
344 yahoo_init_colorht();
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
345
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
346 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
347 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
348 }
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
349
4aa78e6524b1 Very rudimentary start to separate prpls. Removed URI handler from the
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
diff changeset
350 PURPLE_INIT_PLUGIN(yahoo, init_plugin, info);