Mercurial > pidgin
annotate libpurple/protocols/null/nullprpl.c @ 24592:104f6f755c7e
Make our purple_util_fetch_url_request() function able to handle
fetching stuff from https urls. This is needed by yahoo's
webmessenger style login, if we want to try enable it again.
And it will be needed by the new oscar authentication.
I wrote this maybe a year ago and we've been using it at Meebo
with no problems, but it would be great if one person could look
through these changes.
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sat, 06 Dec 2008 01:08:20 +0000 |
| parents | 7e85c6cbf7b0 |
| children | 2cae2b346d72 4d752d07a126 0edd1e140b6e |
| rev | line source |
|---|---|
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1 /** |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
2 * purple |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
3 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
4 * Purple is the legal property of its developers, whose names are too numerous |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
5 * to list here. Please refer to the COPYRIGHT file distributed with this |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
6 * source distribution. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
7 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
8 * Nullprpl is a mock protocol plugin for Pidgin and libpurple. You can create |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
9 * accounts with it, sign on and off, add buddies, and send and receive IMs, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
10 * all without connecting to a server! |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
11 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
12 * Beyond that basic functionality, nullprpl supports presence and |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
13 * away/available messages, offline messages, user info, typing notification, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
14 * privacy allow/block lists, chat rooms, whispering, room lists, and protocol |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
15 * icons and emblems. Notable missing features are file transfer and account |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
16 * registration and authentication. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
17 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
18 * Nullprpl is intended as an example of how to write a libpurple protocol |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
19 * plugin. It doesn't contain networking code or an event loop, but it does |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
20 * demonstrate how to use the libpurple API to do pretty much everything a prpl |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
21 * might need to do. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
22 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
23 * Nullprpl is also a useful tool for hacking on Pidgin, Finch, and other |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
24 * libpurple clients. It's a full-featured protocol plugin, but doesn't depend |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
25 * on an external server, so it's a quick and easy way to exercise test new |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
26 * code. It also allows you to work while you're disconnected. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
27 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
28 * This program is free software; you can redistribute it and/or modify |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
29 * it under the terms of the GNU General Public License as published by |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
30 * the Free Software Foundation; either version 2 of the License, or |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
31 * (at your option) any later version. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
32 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
33 * This program is distributed in the hope that it will be useful, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
34 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
35 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
36 * GNU General Public License for more details. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
37 * |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
38 * You should have received a copy of the GNU General Public License |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
39 * along with this program; if not, write to the Free Software |
|
19681
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19654
diff
changeset
|
40 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
41 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
42 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
43 #include <stdarg.h> |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
44 #include <string.h> |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
45 #include <time.h> |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
46 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
47 #include <glib.h> |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
48 |
|
24169
7e85c6cbf7b0
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@wiktel.com>
parents:
24034
diff
changeset
|
49 /* If you're using this as the basis of a prpl that will be distributed |
|
7e85c6cbf7b0
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@wiktel.com>
parents:
24034
diff
changeset
|
50 * separately from libpurple, remove the internal.h include below and replace |
|
7e85c6cbf7b0
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@wiktel.com>
parents:
24034
diff
changeset
|
51 * it with code to include your own config.h or similar. If you're going to |
|
7e85c6cbf7b0
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@wiktel.com>
parents:
24034
diff
changeset
|
52 * provide for translation, you'll also need to setup the gettext macros. */ |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
53 #include "internal.h" |
|
24169
7e85c6cbf7b0
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@wiktel.com>
parents:
24034
diff
changeset
|
54 |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
55 #include "account.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
56 #include "accountopt.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
57 #include "blist.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
58 #include "cmds.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
59 #include "conversation.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
60 #include "connection.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
61 #include "debug.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
62 #include "notify.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
63 #include "privacy.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
64 #include "prpl.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
65 #include "roomlist.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
66 #include "status.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
67 #include "util.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
68 #include "version.h" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
69 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
70 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
71 #define NULLPRPL_ID "prpl-null" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
72 static PurplePlugin *_null_protocol = NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
73 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
74 #define NULL_STATUS_ONLINE "online" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
75 #define NULL_STATUS_AWAY "away" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
76 #define NULL_STATUS_OFFLINE "offline" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
77 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
78 typedef void (*GcFunc)(PurpleConnection *from, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
79 PurpleConnection *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
80 gpointer userdata); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
81 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
82 typedef struct { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
83 GcFunc fn; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
84 PurpleConnection *from; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
85 gpointer userdata; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
86 } GcFuncData; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
87 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
88 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
89 * stores offline messages that haven't been delivered yet. maps username |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
90 * (char *) to GList * of GOfflineMessages. initialized in nullprpl_init. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
91 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
92 GHashTable* goffline_messages = NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
93 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
94 typedef struct { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
95 char *from; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
96 char *message; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
97 time_t mtime; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
98 PurpleMessageFlags flags; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
99 } GOfflineMessage; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
100 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
101 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
102 * helpers |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
103 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
104 static PurpleConnection *get_nullprpl_gc(const char *username) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
105 PurpleAccount *acct = purple_accounts_find(username, NULLPRPL_ID); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
106 if (acct && purple_account_is_connected(acct)) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
107 return acct->gc; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
108 else |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
109 return NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
110 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
111 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
112 static void call_if_nullprpl(gpointer data, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
113 PurpleConnection *gc = (PurpleConnection *)(data); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
114 GcFuncData *gcfdata = (GcFuncData *)userdata; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
115 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
116 if (!strcmp(gc->account->protocol_id, NULLPRPL_ID)) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
117 gcfdata->fn(gcfdata->from, gc, gcfdata->userdata); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
118 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
119 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
120 static void foreach_nullprpl_gc(GcFunc fn, PurpleConnection *from, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
121 gpointer userdata) { |
| 17374 | 122 GcFuncData gcfdata = { fn, from, userdata }; |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
123 g_list_foreach(purple_connections_get_all(), call_if_nullprpl, |
| 17374 | 124 &gcfdata); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
125 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
126 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
127 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
128 typedef void(*ChatFunc)(PurpleConvChat *from, PurpleConvChat *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
129 int id, const char *room, gpointer userdata); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
130 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
131 typedef struct { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
132 ChatFunc fn; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
133 PurpleConvChat *from_chat; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
134 gpointer userdata; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
135 } ChatFuncData; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
136 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
137 static void call_chat_func(gpointer data, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
138 PurpleConnection *to = (PurpleConnection *)data; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
139 ChatFuncData *cfdata = (ChatFuncData *)userdata; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
140 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
141 int id = cfdata->from_chat->id; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
142 PurpleConversation *conv = purple_find_chat(to, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
143 if (conv) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
144 PurpleConvChat *chat = purple_conversation_get_chat_data(conv); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
145 cfdata->fn(cfdata->from_chat, chat, id, conv->name, cfdata->userdata); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
146 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
147 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
148 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
149 static void foreach_gc_in_chat(ChatFunc fn, PurpleConnection *from, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
150 int id, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
151 PurpleConversation *conv = purple_find_chat(from, id); |
| 17374 | 152 ChatFuncData cfdata = { fn, |
| 153 purple_conversation_get_chat_data(conv), | |
| 154 userdata }; | |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
155 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
156 g_list_foreach(purple_connections_get_all(), call_chat_func, |
| 17374 | 157 &cfdata); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
158 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
159 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
160 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
161 static void discover_status(PurpleConnection *from, PurpleConnection *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
162 gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
163 char *from_username = from->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
164 char *to_username = to->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
165 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
166 if (purple_find_buddy(from->account, to_username)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
167 PurpleStatus *status = purple_account_get_active_status(to->account); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
168 const char *status_id = purple_status_get_id(status); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
169 const char *message = purple_status_get_attr_string(status, "message"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
170 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
171 if (!strcmp(status_id, NULL_STATUS_ONLINE) || |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
172 !strcmp(status_id, NULL_STATUS_AWAY) || |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
173 !strcmp(status_id, NULL_STATUS_OFFLINE)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
174 purple_debug_info("nullprpl", "%s sees that %s is %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
175 from_username, to_username, status_id, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
176 purple_prpl_got_user_status(from->account, to_username, status_id, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
177 (message) ? "message" : NULL, message, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
178 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
179 purple_debug_error("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
180 "%s's buddy %s has an unknown status: %s, %s", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
181 from_username, to_username, status_id, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
182 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
183 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
184 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
185 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
186 static void report_status_change(PurpleConnection *from, PurpleConnection *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
187 gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
188 purple_debug_info("nullprpl", "notifying %s that %s changed status\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
189 to->account->username, from->account->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
190 discover_status(to, from, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
191 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
192 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
193 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
194 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
195 * UI callbacks |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
196 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
197 static void nullprpl_input_user_info(PurplePluginAction *action) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
198 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
199 PurpleConnection *gc = (PurpleConnection *)action->context; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
200 PurpleAccount *acct = purple_connection_get_account(gc); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
201 purple_debug_info("nullprpl", "showing 'Set User Info' dialog for %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
202 acct->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
203 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
204 purple_account_request_change_user_info(acct); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
205 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
206 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
207 /* this is set to the actions member of the PurplePluginInfo struct at the |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
208 * bottom. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
209 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
210 static GList *nullprpl_actions(PurplePlugin *plugin, gpointer context) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
211 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
212 PurplePluginAction *action = purple_plugin_action_new( |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
213 _("Set User Info..."), nullprpl_input_user_info); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
214 return g_list_append(NULL, action); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
215 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
216 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
217 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
218 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
219 * prpl functions |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
220 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
221 static const char *nullprpl_list_icon(PurpleAccount *acct, PurpleBuddy *buddy) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
222 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
223 /* shamelessly steal (er, borrow) the meanwhile protocol icon. it's cute! */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
224 return "meanwhile"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
225 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
226 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
227 static const char *nullprpl_list_emblem(PurpleBuddy *buddy) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
228 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
229 const char* emblem; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
230 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
231 if (get_nullprpl_gc(buddy->name)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
232 PurplePresence *presence = purple_buddy_get_presence(buddy); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
233 PurpleStatus *status = purple_presence_get_active_status(presence); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
234 emblem = purple_status_get_name(status); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
235 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
236 emblem = "offline"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
237 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
238 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
239 purple_debug_info("nullprpl", "using emblem %s for %s's buddy %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
240 emblem, buddy->account->username, buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
241 return emblem; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
242 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
243 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
244 static char *nullprpl_status_text(PurpleBuddy *buddy) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
245 purple_debug_info("nullprpl", "getting %s's status text for %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
246 buddy->name, buddy->account->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
247 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
248 if (purple_find_buddy(buddy->account, buddy->name)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
249 PurplePresence *presence = purple_buddy_get_presence(buddy); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
250 PurpleStatus *status = purple_presence_get_active_status(presence); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
251 const char *name = purple_status_get_name(status); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
252 const char *message = purple_status_get_attr_string(status, "message"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
253 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
254 char *text; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
255 if (message && strlen(message) > 0) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
256 text = g_strdup_printf("%s: %s", name, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
257 else |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
258 text = g_strdup(name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
259 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
260 purple_debug_info("nullprpl", "%s's status text is %s\n", buddy->name, text); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
261 return text; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
262 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
263 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
264 purple_debug_info("nullprpl", "...but %s is not logged in\n", buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
265 return "Not logged in"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
266 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
267 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
268 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
269 static void nullprpl_tooltip_text(PurpleBuddy *buddy, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
270 PurpleNotifyUserInfo *info, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
271 gboolean full) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
272 PurpleConnection *gc = get_nullprpl_gc(buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
273 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
274 if (gc) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
275 /* they're logged in */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
276 PurplePresence *presence = purple_buddy_get_presence(buddy); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
277 PurpleStatus *status = purple_presence_get_active_status(presence); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
278 const char *msg = nullprpl_status_text(buddy); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
279 purple_notify_user_info_add_pair(info, purple_status_get_name(status), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
280 msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
281 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
282 if (full) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
283 const char *user_info = purple_account_get_user_info(gc->account); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
284 if (user_info) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
285 purple_notify_user_info_add_pair(info, _("User info"), user_info); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
286 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
287 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
288 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
289 /* they're not logged in */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
290 purple_notify_user_info_add_pair(info, _("User info"), _("not logged in")); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
291 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
292 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
293 purple_debug_info("nullprpl", "showing %s tooltip for %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
294 (full) ? "full" : "short", buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
295 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
296 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
297 static GList *nullprpl_status_types(PurpleAccount *acct) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
298 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
299 GList *types = NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
300 PurpleStatusType *type; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
301 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
302 purple_debug_info("nullprpl", "returning status types for %s: %s, %s, %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
303 acct->username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
304 NULL_STATUS_ONLINE, NULL_STATUS_AWAY, NULL_STATUS_OFFLINE); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
305 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
306 type = purple_status_type_new(PURPLE_STATUS_AVAILABLE, NULL_STATUS_ONLINE, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
307 NULL_STATUS_ONLINE, TRUE); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
308 purple_status_type_add_attr(type, "message", _("Online"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
309 purple_value_new(PURPLE_TYPE_STRING)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
310 types = g_list_append(types, type); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
311 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
312 type = purple_status_type_new(PURPLE_STATUS_AWAY, NULL_STATUS_AWAY, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
313 NULL_STATUS_AWAY, TRUE); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
314 purple_status_type_add_attr(type, "message", _("Away"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
315 purple_value_new(PURPLE_TYPE_STRING)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
316 types = g_list_append(types, type); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
317 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
318 type = purple_status_type_new(PURPLE_STATUS_OFFLINE, NULL_STATUS_OFFLINE, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
319 NULL_STATUS_OFFLINE, TRUE); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
320 purple_status_type_add_attr(type, "message", _("Offline"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
321 purple_value_new(PURPLE_TYPE_STRING)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
322 types = g_list_append(types, type); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
323 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
324 return types; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
325 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
326 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
327 static void blist_example_menu_item(PurpleBlistNode *node, gpointer userdata) { |
|
22568
c65c96e231b5
Printf warning fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19681
diff
changeset
|
328 purple_debug_info("nullprpl", "example menu item clicked on user %s\n", |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
329 ((PurpleBuddy *)node)->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
330 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
331 purple_notify_info(NULL, /* plugin handle or PurpleConnection */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
332 _("Primary title"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
333 _("Secondary title"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
334 _("This is the callback for the nullprpl menu item.")); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
335 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
336 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
337 static GList *nullprpl_blist_node_menu(PurpleBlistNode *node) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
338 purple_debug_info("nullprpl", "providing buddy list context menu item\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
339 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
340 if (PURPLE_BLIST_NODE_IS_BUDDY(node)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
341 PurpleMenuAction *action = purple_menu_action_new( |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
342 _("Nullprpl example menu item"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
343 PURPLE_CALLBACK(blist_example_menu_item), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
344 NULL, /* userdata passed to the callback */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
345 NULL); /* child menu items */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
346 return g_list_append(NULL, action); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
347 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
348 return NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
349 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
350 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
351 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
352 static GList *nullprpl_chat_info(PurpleConnection *gc) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
353 struct proto_chat_entry *pce; /* defined in prpl.h */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
354 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
355 purple_debug_info("nullprpl", "returning chat setting 'room'\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
356 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
357 pce = g_new0(struct proto_chat_entry, 1); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
358 pce->label = _(_("Chat _room")); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
359 pce->identifier = "room"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
360 pce->required = TRUE; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
361 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
362 return g_list_append(NULL, pce); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
363 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
364 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
365 static GHashTable *nullprpl_chat_info_defaults(PurpleConnection *gc, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
366 const char *room) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
367 GHashTable *defaults; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
368 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
369 purple_debug_info("nullprpl", "returning chat default setting " |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
370 "'room' = 'default'\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
371 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
372 defaults = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
373 g_hash_table_insert(defaults, "room", g_strdup("default")); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
374 return defaults; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
375 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
376 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
377 static void nullprpl_login(PurpleAccount *acct) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
378 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
379 PurpleConnection *gc = purple_account_get_connection(acct); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
380 GList *offline_messages; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
381 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
382 purple_debug_info("nullprpl", "logging in %s\n", acct->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
383 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
384 purple_connection_update_progress(gc, _("Connecting"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
385 0, /* which connection step this is */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
386 2); /* total number of steps */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
387 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
388 purple_connection_update_progress(gc, _("Connected"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
389 1, /* which connection step this is */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
390 2); /* total number of steps */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
391 purple_connection_set_state(gc, PURPLE_CONNECTED); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
392 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
393 /* tell purple about everyone on our buddy list who's connected */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
394 foreach_nullprpl_gc(discover_status, gc, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
395 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
396 /* notify other nullprpl accounts */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
397 foreach_nullprpl_gc(report_status_change, gc, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
398 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
399 /* fetch stored offline messages */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
400 purple_debug_info("nullprpl", "checking for offline messages for %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
401 acct->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
402 offline_messages = g_hash_table_lookup(goffline_messages, acct->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
403 while (offline_messages) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
404 GOfflineMessage *message = (GOfflineMessage *)offline_messages->data; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
405 purple_debug_info("nullprpl", "delivering offline message to %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
406 acct->username, message->message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
407 serv_got_im(gc, message->from, message->message, message->flags, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
408 message->mtime); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
409 offline_messages = g_list_next(offline_messages); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
410 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
411 g_free(message->from); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
412 g_free(message->message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
413 g_free(message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
414 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
415 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
416 g_list_free(offline_messages); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
417 g_hash_table_remove(goffline_messages, &acct->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
418 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
419 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
420 static void nullprpl_close(PurpleConnection *gc) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
421 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
422 /* notify other nullprpl accounts */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
423 foreach_nullprpl_gc(report_status_change, gc, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
424 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
425 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
426 static int nullprpl_send_im(PurpleConnection *gc, const char *who, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
427 const char *message, PurpleMessageFlags flags) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
428 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
429 const char *from_username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
430 PurpleMessageFlags receive_flags = ((flags & ~PURPLE_MESSAGE_SEND) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
431 | PURPLE_MESSAGE_RECV); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
432 PurpleAccount *to_acct = purple_accounts_find(who, NULLPRPL_ID); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
433 PurpleConnection *to; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
434 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
435 purple_debug_info("nullprpl", "sending message from %s to %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
436 from_username, who, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
437 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
438 /* is the sender blocked by the recipient's privacy settings? */ |
|
17440
b65d0cc85419
Fix a crash sending an IM in null protocol to a buddy who you don't have a
Stu Tomlinson <stu@nosnilmot.com>
parents:
17374
diff
changeset
|
439 if (to_acct && !purple_privacy_check(to_acct, gc->account->username)) { |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
440 char *msg = g_strdup_printf( |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
441 _("Your message was blocked by %s's privacy settings."), who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
442 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
443 "discarding; %s is blocked by %s's privacy settings\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
444 from_username, who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
445 purple_conv_present_error(who, gc->account, msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
446 g_free(msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
447 return 0; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
448 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
449 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
450 /* is the recipient online? */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
451 to = get_nullprpl_gc(who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
452 if (to) { /* yes, send */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
453 serv_got_im(to, from_username, message, receive_flags, time(NULL)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
454 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
455 } else { /* nope, store as an offline message */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
456 GOfflineMessage *offline_message; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
457 GList *messages; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
458 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
459 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
460 "%s is offline, sending as offline message\n", who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
461 offline_message = g_new0(GOfflineMessage, 1); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
462 offline_message->from = g_strdup(from_username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
463 offline_message->message = g_strdup(message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
464 offline_message->mtime = time(NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
465 offline_message->flags = receive_flags; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
466 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
467 messages = g_hash_table_lookup(goffline_messages, who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
468 messages = g_list_append(messages, offline_message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
469 g_hash_table_insert(goffline_messages, g_strdup(who), messages); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
470 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
471 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
472 return 1; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
473 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
474 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
475 static void nullprpl_set_info(PurpleConnection *gc, const char *info) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
476 purple_debug_info("nullprpl", "setting %s's user info to %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
477 gc->account->username, info); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
478 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
479 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
480 static char *typing_state_to_string(PurpleTypingState typing) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
481 switch (typing) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
482 case PURPLE_NOT_TYPING: return "is not typing"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
483 case PURPLE_TYPING: return "is typing"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
484 case PURPLE_TYPED: return "stopped typing momentarily"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
485 default: return "unknown typing state"; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
486 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
487 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
488 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
489 static void notify_typing(PurpleConnection *from, PurpleConnection *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
490 gpointer typing) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
491 char *from_username = from->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
492 char *action = typing_state_to_string((PurpleTypingState)typing); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
493 purple_debug_info("nullprpl", "notifying %s that %s %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
494 to->account->username, from_username, action); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
495 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
496 serv_got_typing(to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
497 from_username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
498 0, /* if non-zero, a timeout in seconds after which to |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
499 * reset the typing status to PURPLE_NOT_TYPING */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
500 (PurpleTypingState)typing); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
501 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
502 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
503 static unsigned int nullprpl_send_typing(PurpleConnection *gc, const char *name, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
504 PurpleTypingState typing) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
505 purple_debug_info("nullprpl", "%s %s\n", gc->account->username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
506 typing_state_to_string(typing)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
507 foreach_nullprpl_gc(notify_typing, gc, (gpointer)typing); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
508 return 0; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
509 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
510 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
511 static void nullprpl_get_info(PurpleConnection *gc, const char *username) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
512 const char *body; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
513 PurpleNotifyUserInfo *info = purple_notify_user_info_new(); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
514 PurpleAccount *acct; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
515 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
516 purple_debug_info("nullprpl", "Fetching %s's user info for %s\n", username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
517 gc->account->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
518 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
519 if (!get_nullprpl_gc(username)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
520 char *msg = g_strdup_printf(_("%s is not logged in."), username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
521 purple_notify_error(gc, _("User Info"), _("User info not available. "), msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
522 g_free(msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
523 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
524 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
525 acct = purple_accounts_find(username, NULLPRPL_ID); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
526 if (acct) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
527 body = purple_account_get_user_info(acct); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
528 else |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
529 body = _("No user info."); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
530 purple_notify_user_info_add_pair(info, "Info", body); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
531 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
532 /* show a buddy's user info in a nice dialog box */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
533 purple_notify_userinfo(gc, /* connection the buddy info came through */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
534 username, /* buddy's username */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
535 info, /* body */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
536 NULL, /* callback called when dialog closed */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
537 NULL); /* userdata for callback */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
538 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
539 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
540 static void nullprpl_set_status(PurpleAccount *acct, PurpleStatus *status) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
541 const char *msg = purple_status_get_attr_string(status, "message"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
542 purple_debug_info("nullprpl", "setting %s's status to %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
543 acct->username, purple_status_get_name(status), msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
544 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
545 foreach_nullprpl_gc(report_status_change, get_nullprpl_gc(acct->username), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
546 NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
547 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
548 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
549 static void nullprpl_set_idle(PurpleConnection *gc, int idletime) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
550 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
551 "purple reports that %s has been idle for %d seconds\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
552 gc->account->username, idletime); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
553 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
554 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
555 static void nullprpl_change_passwd(PurpleConnection *gc, const char *old_pass, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
556 const char *new_pass) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
557 purple_debug_info("nullprpl", "%s wants to change their password\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
558 gc->account->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
559 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
560 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
561 static void nullprpl_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
562 PurpleGroup *group) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
563 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
564 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
565 PurpleConnection *buddy_gc = get_nullprpl_gc(buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
566 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
567 purple_debug_info("nullprpl", "adding %s to %s's buddy list\n", buddy->name, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
568 username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
569 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
570 if (buddy_gc) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
571 PurpleAccount *buddy_acct = buddy_gc->account; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
572 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
573 discover_status(gc, buddy_gc, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
574 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
575 if (purple_find_buddy(buddy_acct, username)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
576 purple_debug_info("nullprpl", "%s is already on %s's buddy list\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
577 username, buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
578 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
579 purple_debug_info("nullprpl", "asking %s if they want to add %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
580 buddy->name, username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
581 purple_account_request_add(buddy_acct, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
582 username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
583 NULL, /* local account id (rarely used) */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
584 NULL, /* alias */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
585 NULL); /* message */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
586 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
587 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
588 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
589 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
590 static void nullprpl_add_buddies(PurpleConnection *gc, GList *buddies, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
591 GList *groups) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
592 GList *buddy = buddies; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
593 GList *group = groups; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
594 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
595 purple_debug_info("nullprpl", "adding multiple buddies\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
596 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
597 while (buddy && group) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
598 nullprpl_add_buddy(gc, (PurpleBuddy *)buddy->data, (PurpleGroup *)group->data); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
599 buddy = g_list_next(buddy); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
600 group = g_list_next(group); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
601 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
602 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
603 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
604 static void nullprpl_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
605 PurpleGroup *group) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
606 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
607 purple_debug_info("nullprpl", "removing %s from %s's buddy list\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
608 buddy->name, gc->account->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
609 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
610 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
611 static void nullprpl_remove_buddies(PurpleConnection *gc, GList *buddies, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
612 GList *groups) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
613 GList *buddy = buddies; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
614 GList *group = groups; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
615 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
616 purple_debug_info("nullprpl", "removing multiple buddies\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
617 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
618 while (buddy && group) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
619 nullprpl_remove_buddy(gc, (PurpleBuddy *)buddy->data, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
620 (PurpleGroup *)group->data); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
621 buddy = g_list_next(buddy); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
622 group = g_list_next(group); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
623 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
624 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
625 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
626 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
627 * nullprpl uses purple's local whitelist and blacklist, stored in blist.xml, as |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
628 * its authoritative privacy settings, and uses purple's logic (specifically |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
629 * purple_privacy_check(), from privacy.h), to determine whether messages are |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
630 * allowed or blocked. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
631 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
632 static void nullprpl_add_permit(PurpleConnection *gc, const char *name) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
633 purple_debug_info("nullprpl", "%s adds %s to their allowed list\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
634 gc->account->username, name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
635 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
636 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
637 static void nullprpl_add_deny(PurpleConnection *gc, const char *name) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
638 purple_debug_info("nullprpl", "%s adds %s to their blocked list\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
639 gc->account->username, name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
640 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
641 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
642 static void nullprpl_rem_permit(PurpleConnection *gc, const char *name) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
643 purple_debug_info("nullprpl", "%s removes %s from their allowed list\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
644 gc->account->username, name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
645 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
646 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
647 static void nullprpl_rem_deny(PurpleConnection *gc, const char *name) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
648 purple_debug_info("nullprpl", "%s removes %s from their blocked list\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
649 gc->account->username, name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
650 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
651 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
652 static void nullprpl_set_permit_deny(PurpleConnection *gc) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
653 /* this is for synchronizing the local black/whitelist with the server. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
654 * for nullprpl, it's a noop. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
655 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
656 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
657 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
658 static void joined_chat(PurpleConvChat *from, PurpleConvChat *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
659 int id, const char *room, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
660 /* tell their chat window that we joined */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
661 purple_debug_info("nullprpl", "%s sees that %s joined chat room %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
662 to->nick, from->nick, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
663 purple_conv_chat_add_user(to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
664 from->nick, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
665 NULL, /* user-provided join message, IRC style */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
666 PURPLE_CBFLAGS_NONE, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
667 TRUE); /* show a join message */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
668 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
669 if (from != to) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
670 /* add them to our chat window */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
671 purple_debug_info("nullprpl", "%s sees that %s is in chat room %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
672 from->nick, to->nick, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
673 purple_conv_chat_add_user(from, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
674 to->nick, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
675 NULL, /* user-provided join message, IRC style */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
676 PURPLE_CBFLAGS_NONE, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
677 FALSE); /* show a join message */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
678 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
679 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
680 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
681 static void nullprpl_join_chat(PurpleConnection *gc, GHashTable *components) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
682 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
683 char *room = g_hash_table_lookup(components, "room"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
684 int chat_id = g_str_hash(room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
685 purple_debug_info("nullprpl", "%s is joining chat room %s\n", username, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
686 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
687 if (!purple_find_chat(gc, chat_id)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
688 serv_got_joined_chat(gc, chat_id, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
689 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
690 /* tell everyone that we joined, and add them if they're already there */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
691 foreach_gc_in_chat(joined_chat, gc, chat_id, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
692 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
693 purple_debug_info("nullprpl", "%s is already in chat room %s\n", username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
694 room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
695 purple_notify_info(gc, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
696 _("Join chat"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
697 _("Join chat"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
698 g_strdup_printf("%s is already in chat room %s.", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
699 username, room)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
700 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
701 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
702 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
703 static void nullprpl_reject_chat(PurpleConnection *gc, GHashTable *components) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
704 char *invited_by = g_hash_table_lookup(components, "invited_by"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
705 char *room = g_hash_table_lookup(components, "room"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
706 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
707 PurpleConnection *invited_by_gc = get_nullprpl_gc(invited_by); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
708 char *message = g_strdup_printf( |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
709 "%s %s %s.", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
710 username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
711 _("has rejected your invitation to join the chat room"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
712 room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
713 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
714 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
715 "%s has rejected %s's invitation to join chat room %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
716 username, invited_by, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
717 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
718 purple_notify_info(invited_by_gc, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
719 _("Chat invitation rejected"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
720 _("Chat invitation rejected"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
721 message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
722 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
723 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
724 static char *nullprpl_get_chat_name(GHashTable *components) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
725 char *room = g_hash_table_lookup(components, "room"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
726 purple_debug_info("nullprpl", "reporting chat room name '%s'\n", room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
727 return room; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
728 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
729 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
730 static void nullprpl_chat_invite(PurpleConnection *gc, int id, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
731 const char *message, const char *who) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
732 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
733 PurpleConversation *conv = purple_find_chat(gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
734 char *room = conv->name; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
735 PurpleAccount *to_acct = purple_accounts_find(who, NULLPRPL_ID); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
736 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
737 purple_debug_info("nullprpl", "%s is inviting %s to join chat room %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
738 username, who, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
739 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
740 if (to_acct) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
741 PurpleConversation *to_conv = purple_find_chat(to_acct->gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
742 if (to_conv) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
743 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
744 "%s is already in chat room %s; " |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
745 "ignoring invitation from %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
746 who, room, username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
747 purple_notify_info(gc, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
748 _("Chat invitation"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
749 _("Chat invitation"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
750 g_strdup_printf("%s is already in chat room %s.", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
751 who, room)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
752 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
753 GHashTable *components; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
754 components = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, free); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
755 g_hash_table_replace(components, "room", g_strdup(room)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
756 g_hash_table_replace(components, "invited_by", g_strdup(username)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
757 serv_got_chat_invite(to_acct->gc, room, username, message, components); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
758 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
759 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
760 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
761 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
762 static void left_chat_room(PurpleConvChat *from, PurpleConvChat *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
763 int id, const char *room, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
764 if (from != to) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
765 /* tell their chat window that we left */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
766 purple_debug_info("nullprpl", "%s sees that %s left chat room %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
767 to->nick, from->nick, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
768 purple_conv_chat_remove_user(to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
769 from->nick, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
770 NULL); /* user-provided message, IRC style */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
771 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
772 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
773 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
774 static void nullprpl_chat_leave(PurpleConnection *gc, int id) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
775 PurpleConversation *conv = purple_find_chat(gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
776 purple_debug_info("nullprpl", "%s is leaving chat room %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
777 gc->account->username, conv->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
778 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
779 /* tell everyone that we left */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
780 foreach_gc_in_chat(left_chat_room, gc, id, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
781 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
782 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
783 static PurpleCmdRet send_whisper(PurpleConversation *conv, const gchar *cmd, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
784 gchar **args, gchar **error, void *userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
785 const char *to_username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
786 const char *message; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
787 const char *from_username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
788 PurpleConvChat *chat; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
789 PurpleConvChatBuddy *chat_buddy; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
790 PurpleConnection *to; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
791 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
792 /* parse args */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
793 to_username = args[0]; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
794 message = args[1]; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
795 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
796 if (!to_username || strlen(to_username) == 0) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
797 *error = g_strdup(_("Whisper is missing recipient.")); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
798 return PURPLE_CMD_RET_FAILED; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
799 } else if (!message || strlen(message) == 0) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
800 *error = g_strdup(_("Whisper is missing message.")); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
801 return PURPLE_CMD_RET_FAILED; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
802 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
803 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
804 from_username = conv->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
805 purple_debug_info("nullprpl", "%s whispers to %s in chat room %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
806 from_username, to_username, conv->name, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
807 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
808 chat = purple_conversation_get_chat_data(conv); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
809 chat_buddy = purple_conv_chat_cb_find(chat, to_username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
810 to = get_nullprpl_gc(to_username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
811 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
812 if (!chat_buddy) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
813 /* this will be freed by the caller */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
814 *error = g_strdup_printf(_("%s is not logged in."), to_username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
815 return PURPLE_CMD_RET_FAILED; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
816 } else if (!to) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
817 *error = g_strdup_printf(_("%s is not in this chat room."), to_username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
818 return PURPLE_CMD_RET_FAILED; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
819 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
820 /* write the whisper in the sender's chat window */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
821 char *message_to = g_strdup_printf("%s (to %s)", message, to_username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
822 purple_conv_chat_write(chat, from_username, message_to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
823 PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_WHISPER, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
824 time(NULL)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
825 g_free(message_to); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
826 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
827 /* send the whisper */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
828 serv_chat_whisper(to, chat->id, from_username, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
829 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
830 return PURPLE_CMD_RET_OK; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
831 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
832 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
833 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
834 static void nullprpl_chat_whisper(PurpleConnection *gc, int id, const char *who, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
835 const char *message) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
836 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
837 PurpleConversation *conv = purple_find_chat(gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
838 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
839 "%s receives whisper from %s in chat room %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
840 username, who, conv->name, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
841 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
842 /* receive whisper on recipient's account */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
843 serv_got_chat_in(gc, id, who, PURPLE_MESSAGE_RECV | PURPLE_MESSAGE_WHISPER, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
844 message, time(NULL)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
845 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
846 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
847 static void receive_chat_message(PurpleConvChat *from, PurpleConvChat *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
848 int id, const char *room, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
849 const char *message = (const char *)userdata; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
850 PurpleConnection *to_gc = get_nullprpl_gc(to->nick); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
851 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
852 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
853 "%s receives message from %s in chat room %s: %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
854 to->nick, from->nick, room, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
855 serv_got_chat_in(to_gc, id, from->nick, PURPLE_MESSAGE_RECV, message, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
856 time(NULL)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
857 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
858 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
859 static int nullprpl_chat_send(PurpleConnection *gc, int id, const char *message, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
860 PurpleMessageFlags flags) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
861 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
862 PurpleConversation *conv = purple_find_chat(gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
863 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
864 if (conv) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
865 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
866 "%s is sending message to chat room %s: %s\n", username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
867 conv->name, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
868 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
869 /* send message to everyone in the chat room */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
870 foreach_gc_in_chat(receive_chat_message, gc, id, (gpointer)message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
871 return 0; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
872 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
873 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
874 "tried to send message from %s to chat room #%d: %s\n" |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
875 "but couldn't find chat room", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
876 username, id, message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
877 return -1; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
878 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
879 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
880 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
881 static void nullprpl_register_user(PurpleAccount *acct) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
882 purple_debug_info("nullprpl", "registering account for %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
883 acct->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
884 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
885 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
886 static void nullprpl_get_cb_info(PurpleConnection *gc, int id, const char *who) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
887 PurpleConversation *conv = purple_find_chat(gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
888 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
889 "retrieving %s's info for %s in chat room %s\n", who, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
890 gc->account->username, conv->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
891 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
892 nullprpl_get_info(gc, who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
893 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
894 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
895 static void nullprpl_alias_buddy(PurpleConnection *gc, const char *who, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
896 const char *alias) { |
|
22568
c65c96e231b5
Printf warning fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19681
diff
changeset
|
897 purple_debug_info("nullprpl", "%s sets %s's alias to %s\n", |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
898 gc->account->username, who, alias); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
899 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
900 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
901 static void nullprpl_group_buddy(PurpleConnection *gc, const char *who, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
902 const char *old_group, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
903 const char *new_group) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
904 purple_debug_info("nullprpl", "%s has moved %s from group %s to group %s\n", |
|
22568
c65c96e231b5
Printf warning fixes.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19681
diff
changeset
|
905 gc->account->username, who, old_group, new_group); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
906 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
907 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
908 static void nullprpl_rename_group(PurpleConnection *gc, const char *old_name, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
909 PurpleGroup *group, GList *moved_buddies) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
910 purple_debug_info("nullprpl", "%s has renamed group %s to %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
911 gc->account->username, old_name, group->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
912 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
913 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
914 static void nullprpl_convo_closed(PurpleConnection *gc, const char *who) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
915 purple_debug_info("nullprpl", "%s's conversation with %s was closed\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
916 gc->account->username, who); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
917 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
918 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
919 /* normalize a username (e.g. remove whitespace, add default domain, etc.) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
920 * for nullprpl, this is a noop. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
921 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
922 static const char *nullprpl_normalize(const PurpleAccount *acct, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
923 const char *input) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
924 return NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
925 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
926 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
927 static void nullprpl_set_buddy_icon(PurpleConnection *gc, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
928 PurpleStoredImage *img) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
929 purple_debug_info("nullprpl", "setting %s's buddy icon to %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
930 gc->account->username, purple_imgstore_get_filename(img)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
931 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
932 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
933 static void nullprpl_remove_group(PurpleConnection *gc, PurpleGroup *group) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
934 purple_debug_info("nullprpl", "%s has removed group %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
935 gc->account->username, group->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
936 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
937 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
938 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
939 static void set_chat_topic_fn(PurpleConvChat *from, PurpleConvChat *to, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
940 int id, const char *room, gpointer userdata) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
941 const char *topic = (const char *)userdata; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
942 const char *username = from->conv->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
943 char *msg; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
944 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
945 purple_conv_chat_set_topic(to, username, topic); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
946 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
947 if (topic && strlen(topic) > 0) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
948 msg = g_strdup_printf(_("%s sets topic to: %s"), username, topic); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
949 else |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
950 msg = g_strdup_printf(_("%s clears topic"), username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
951 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
952 purple_conv_chat_write(to, username, msg, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
953 PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
954 time(NULL)); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
955 g_free(msg); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
956 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
957 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
958 static void nullprpl_set_chat_topic(PurpleConnection *gc, int id, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
959 const char *topic) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
960 PurpleConversation *conv = purple_find_chat(gc, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
961 PurpleConvChat *chat = purple_conversation_get_chat_data(conv); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
962 const char *last_topic; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
963 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
964 if (!chat) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
965 return; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
966 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
967 purple_debug_info("nullprpl", "%s sets topic of chat room '%s' to '%s'\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
968 gc->account->username, conv->name, topic); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
969 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
970 last_topic = purple_conv_chat_get_topic(chat); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
971 if ((!topic && !last_topic) || |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
972 (topic && last_topic && !strcmp(topic, last_topic))) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
973 return; /* topic is unchanged, this is a noop */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
974 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
975 foreach_gc_in_chat(set_chat_topic_fn, gc, id, (gpointer)topic); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
976 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
977 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
978 static gboolean nullprpl_finish_get_roomlist(gpointer roomlist) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
979 purple_roomlist_set_in_progress((PurpleRoomlist *)roomlist, FALSE); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
980 return FALSE; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
981 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
982 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
983 static PurpleRoomlist *nullprpl_roomlist_get_list(PurpleConnection *gc) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
984 char *username = gc->account->username; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
985 PurpleRoomlist *roomlist = purple_roomlist_new(gc->account); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
986 GList *fields = NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
987 PurpleRoomlistField *field; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
988 GList *chats; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
989 GList *seen_ids = NULL; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
990 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
991 purple_debug_info("nullprpl", "%s asks for room list; returning:\n", username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
992 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
993 /* set up the room list */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
994 field = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "room", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
995 "room", TRUE /* hidden */); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
996 fields = g_list_append(fields, field); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
997 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
998 field = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_INT, "Id", "Id", FALSE); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
999 fields = g_list_append(fields, field); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1000 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1001 purple_roomlist_set_fields(roomlist, fields); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1002 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1003 /* add each chat room. the chat ids are cached in seen_ids so that each room |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1004 * is only returned once, even if multiple users are in it. */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1005 for (chats = purple_get_chats(); chats; chats = g_list_next(chats)) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1006 PurpleConversation *conv = (PurpleConversation *)chats->data; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1007 PurpleRoomlistRoom *room; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1008 char *name = conv->name; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1009 int id = purple_conversation_get_chat_data(conv)->id; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1010 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1011 /* have we already added this room? */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1012 if (g_list_find_custom(seen_ids, name, (GCompareFunc)strcmp)) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1013 continue; /* yes! try the next one. */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1014 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1015 seen_ids = g_list_append(seen_ids, name); /* no, it's new. */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1016 purple_debug_info("nullprpl", "%s (%d), ", name, id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1017 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1018 room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, name, NULL); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1019 purple_roomlist_room_add_field(roomlist, room, name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1020 purple_roomlist_room_add_field(roomlist, room, &id); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1021 purple_roomlist_room_add(roomlist, room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1022 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1023 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1024 purple_timeout_add(1 /* ms */, nullprpl_finish_get_roomlist, roomlist); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1025 return roomlist; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1026 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1027 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1028 static void nullprpl_roomlist_cancel(PurpleRoomlist *list) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1029 purple_debug_info("nullprpl", "%s asked to cancel room list request\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1030 list->account->username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1031 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1032 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1033 static void nullprpl_roomlist_expand_category(PurpleRoomlist *list, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1034 PurpleRoomlistRoom *category) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1035 purple_debug_info("nullprpl", "%s asked to expand room list category %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1036 list->account->username, category->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1037 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1038 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1039 /* nullprpl doesn't support file transfer...yet... */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1040 static gboolean nullprpl_can_receive_file(PurpleConnection *gc, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1041 const char *who) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1042 return FALSE; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1043 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1044 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1045 static gboolean nullprpl_offline_message(const PurpleBuddy *buddy) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1046 purple_debug_info("nullprpl", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1047 "reporting that offline messages are supported for %s\n", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1048 buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1049 return TRUE; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1050 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1051 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1052 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1053 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1054 * prpl stuff. see prpl.h for more information. |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1055 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1056 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1057 static PurplePluginProtocolInfo prpl_info = |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1058 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1059 OPT_PROTO_NO_PASSWORD | OPT_PROTO_CHAT_TOPIC, /* options */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1060 NULL, /* user_splits, initialized in nullprpl_init() */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1061 NULL, /* protocol_options, initialized in nullprpl_init() */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1062 { /* icon_spec, a PurpleBuddyIconSpec */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1063 "png,jpg,gif", /* format */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1064 0, /* min_width */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1065 0, /* min_height */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1066 128, /* max_width */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1067 128, /* max_height */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1068 10000, /* max_filesize */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1069 PURPLE_ICON_SCALE_DISPLAY, /* scale_rules */ |
| 17374 | 1070 }, |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1071 nullprpl_list_icon, /* list_icon */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1072 nullprpl_list_emblem, /* list_emblem */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1073 nullprpl_status_text, /* status_text */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1074 nullprpl_tooltip_text, /* tooltip_text */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1075 nullprpl_status_types, /* status_types */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1076 nullprpl_blist_node_menu, /* blist_node_menu */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1077 nullprpl_chat_info, /* chat_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1078 nullprpl_chat_info_defaults, /* chat_info_defaults */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1079 nullprpl_login, /* login */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1080 nullprpl_close, /* close */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1081 nullprpl_send_im, /* send_im */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1082 nullprpl_set_info, /* set_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1083 nullprpl_send_typing, /* send_typing */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1084 nullprpl_get_info, /* get_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1085 nullprpl_set_status, /* set_status */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1086 nullprpl_set_idle, /* set_idle */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1087 nullprpl_change_passwd, /* change_passwd */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1088 nullprpl_add_buddy, /* add_buddy */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1089 nullprpl_add_buddies, /* add_buddies */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1090 nullprpl_remove_buddy, /* remove_buddy */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1091 nullprpl_remove_buddies, /* remove_buddies */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1092 nullprpl_add_permit, /* add_permit */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1093 nullprpl_add_deny, /* add_deny */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1094 nullprpl_rem_permit, /* rem_permit */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1095 nullprpl_rem_deny, /* rem_deny */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1096 nullprpl_set_permit_deny, /* set_permit_deny */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1097 nullprpl_join_chat, /* join_chat */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1098 nullprpl_reject_chat, /* reject_chat */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1099 nullprpl_get_chat_name, /* get_chat_name */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1100 nullprpl_chat_invite, /* chat_invite */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1101 nullprpl_chat_leave, /* chat_leave */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1102 nullprpl_chat_whisper, /* chat_whisper */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1103 nullprpl_chat_send, /* chat_send */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1104 NULL, /* keepalive */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1105 nullprpl_register_user, /* register_user */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1106 nullprpl_get_cb_info, /* get_cb_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1107 NULL, /* get_cb_away */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1108 nullprpl_alias_buddy, /* alias_buddy */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1109 nullprpl_group_buddy, /* group_buddy */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1110 nullprpl_rename_group, /* rename_group */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1111 NULL, /* buddy_free */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1112 nullprpl_convo_closed, /* convo_closed */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1113 nullprpl_normalize, /* normalize */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1114 nullprpl_set_buddy_icon, /* set_buddy_icon */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1115 nullprpl_remove_group, /* remove_group */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1116 NULL, /* get_cb_real_name */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1117 nullprpl_set_chat_topic, /* set_chat_topic */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1118 NULL, /* find_blist_chat */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1119 nullprpl_roomlist_get_list, /* roomlist_get_list */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1120 nullprpl_roomlist_cancel, /* roomlist_cancel */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1121 nullprpl_roomlist_expand_category, /* roomlist_expand_category */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1122 nullprpl_can_receive_file, /* can_receive_file */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1123 NULL, /* send_file */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1124 NULL, /* new_xfer */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1125 nullprpl_offline_message, /* offline_message */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1126 NULL, /* whiteboard_prpl_ops */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1127 NULL, /* send_raw */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1128 NULL, /* roomlist_room_serialize */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1129 NULL, /* padding... */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1130 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1131 NULL, |
|
24034
1568dc7a14f8
Warnings cleanup from Lee Roach. Fixes #6242.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
22568
diff
changeset
|
1132 sizeof(PurplePluginProtocolInfo), /* struct_size */ |
|
1568dc7a14f8
Warnings cleanup from Lee Roach. Fixes #6242.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
22568
diff
changeset
|
1133 NULL |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1134 }; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1135 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1136 static void nullprpl_init(PurplePlugin *plugin) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1137 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1138 /* see accountopt.h for information about user splits and protocol options */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1139 PurpleAccountUserSplit *split = purple_account_user_split_new( |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1140 _("Example user split (unused)"), /* text shown to user */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1141 "default", /* default value */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1142 '@'); /* field separator */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1143 PurpleAccountOption *option = purple_account_option_string_new( |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1144 _("Example option (unused)"), /* text shown to user */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1145 "example", /* pref name */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1146 "default"); /* default value */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1147 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1148 purple_debug_info("nullprpl", "starting up\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1149 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1150 prpl_info.user_splits = g_list_append(NULL, split); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1151 prpl_info.protocol_options = g_list_append(NULL, option); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1152 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1153 /* register whisper chat command, /msg */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1154 purple_cmd_register("msg", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1155 "ws", /* args: recipient and message */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1156 PURPLE_CMD_P_DEFAULT, /* priority */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1157 PURPLE_CMD_FLAG_CHAT, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1158 "prpl-null", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1159 send_whisper, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1160 "msg <username> <message>: send a private message, aka a whisper", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1161 NULL); /* userdata */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1162 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1163 /* get ready to store offline messages */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1164 goffline_messages = g_hash_table_new_full(g_str_hash, /* hash fn */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1165 g_str_equal, /* key comparison fn */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1166 g_free, /* key free fn */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1167 NULL); /* value free fn */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1168 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1169 _null_protocol = plugin; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1170 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1171 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1172 static void nullprpl_destroy(PurplePlugin *plugin) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1173 purple_debug_info("nullprpl", "shutting down\n"); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1174 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1175 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1176 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1177 static PurplePluginInfo info = |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1178 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1179 PURPLE_PLUGIN_MAGIC, /* magic */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1180 PURPLE_MAJOR_VERSION, /* major_version */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1181 PURPLE_MINOR_VERSION, /* minor_version */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1182 PURPLE_PLUGIN_PROTOCOL, /* type */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1183 NULL, /* ui_requirement */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1184 0, /* flags */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1185 NULL, /* dependencies */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1186 PURPLE_PRIORITY_DEFAULT, /* priority */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1187 NULLPRPL_ID, /* id */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1188 "Nullprpl", /* name */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1189 "0.3", /* version */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1190 "Null Protocol Plugin", /* summary */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1191 "Null Protocol Plugin", /* description */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1192 "Ryan Barrett <nullprpl@ryanb.org>", /* author */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1193 "http://snarfed.org/space/pidgin+null+protocol+plugin", /* homepage */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1194 NULL, /* load */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1195 NULL, /* unload */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1196 nullprpl_destroy, /* destroy */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1197 NULL, /* ui_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1198 &prpl_info, /* extra_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1199 NULL, /* prefs_info */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1200 nullprpl_actions, /* actions */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1201 NULL, /* padding... */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1202 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1203 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1204 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1205 }; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1206 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1207 PURPLE_INIT_PLUGIN(null, nullprpl_init, info); |
