Mercurial > pidgin
annotate libpurple/protocols/null/nullprpl.c @ 24865:fbfbebc9197e
Fix two related bugs:
1. When renaming a group and only changing capitalization, Pidgin
prompted you "You are about to merge "Some Group" and "some group"
2. When renaming a group and only changing capitalization, libpurple
got into an infinite loop because the dest and source groups were
the same, and it tried to add buddies to itself until itself was
empty. This resulted in increasing memory and 100% CPU utilization
until the process was killed.
Did we recently change purple_find_group() to be case insensitive or something?
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Mon, 22 Dec 2008 22:01:34 +0000 |
| parents | c687fd9c379e |
| children | 68f4edb42f39 9c0337d4b878 65cfc59858cf |
| 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) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
163 const char *from_username = from->account->username; |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
164 const char *to_username = to->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
|
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); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
265 return g_strdup("Not logged in"); |
|
17373
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); |
|
24599
c687fd9c379e
Small leak fix.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24596
diff
changeset
|
278 char *msg = nullprpl_status_text(buddy); |
|
17373
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); |
|
24599
c687fd9c379e
Small leak fix.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
24596
diff
changeset
|
281 g_free(msg); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
282 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
283 if (full) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
284 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
|
285 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
|
286 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
|
287 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
288 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
289 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
290 /* 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
|
291 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
|
292 } |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
293 |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
294 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
|
295 (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
|
296 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
297 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
298 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
|
299 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
300 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
|
301 PurpleStatusType *type; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
302 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
303 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
|
304 acct->username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
305 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
|
306 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
307 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
|
308 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
|
309 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
|
310 purple_value_new(PURPLE_TYPE_STRING)); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
311 types = g_list_prepend(types, type); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
312 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
313 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
|
314 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
|
315 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
|
316 purple_value_new(PURPLE_TYPE_STRING)); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
317 types = g_list_prepend(types, type); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
318 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
319 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
|
320 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
|
321 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
|
322 purple_value_new(PURPLE_TYPE_STRING)); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
323 types = g_list_prepend(types, type); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
324 |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
325 return g_list_reverse(types); |
|
17373
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
328 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
|
329 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
|
330 ((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
|
331 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
332 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
|
333 _("Primary title"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
334 _("Secondary title"), |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
335 _("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
|
336 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
337 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
338 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
|
339 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
|
340 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
341 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
|
342 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
|
343 _("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
|
344 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
|
345 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
|
346 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
|
347 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
|
348 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
349 return NULL; |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
353 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
|
354 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
|
355 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
356 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
|
357 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
358 pce = g_new0(struct proto_chat_entry, 1); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
359 pce->label = _("Chat _room"); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
360 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
|
361 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
|
362 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
363 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
|
364 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
365 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
366 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
|
367 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
|
368 GHashTable *defaults; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
369 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
370 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
|
371 "'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
|
372 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
373 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
|
374 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
|
375 return defaults; |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
378 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
|
379 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
380 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
|
381 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
|
382 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
383 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
|
384 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
385 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
|
386 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
|
387 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
|
388 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
389 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
|
390 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
|
391 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
|
392 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
|
393 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
394 /* 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
|
395 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
|
396 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
397 /* 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
|
398 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
|
399 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
400 /* 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
|
401 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
|
402 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 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
|
404 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
|
405 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
|
406 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
|
407 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
|
408 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
|
409 message->mtime); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
410 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
|
411 |
|
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->from); |
|
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->message); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
414 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
|
415 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
416 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
417 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
|
418 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
|
419 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
420 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
421 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
|
422 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
423 /* 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
|
424 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
|
425 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
426 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
427 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
|
428 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
|
429 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
430 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
|
431 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
|
432 | 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
|
433 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
|
434 PurpleConnection *to; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
435 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
436 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
|
437 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
|
438 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
439 /* 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
|
440 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
|
441 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
|
442 _("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
|
443 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
|
444 "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
|
445 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
|
446 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
|
447 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
|
448 return 0; |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
451 /* 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
|
452 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
|
453 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
|
454 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
|
455 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
456 } 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
|
457 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
|
458 GList *messages; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
459 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
460 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
|
461 "%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
|
462 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
|
463 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
|
464 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
|
465 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
|
466 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
|
467 |
|
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_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
|
469 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
|
470 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
|
471 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
472 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
473 return 1; |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
476 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
|
477 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
|
478 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
|
479 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
480 |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
481 static const char *typing_state_to_string(PurpleTypingState typing) { |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
482 switch (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_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
|
484 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
|
485 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
|
486 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
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
490 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
|
491 gpointer typing) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
492 const char *from_username = from->account->username; |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
493 const char *action = typing_state_to_string((PurpleTypingState)typing); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
494 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
|
495 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
|
496 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
497 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
|
498 from_username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
499 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
|
500 * 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
|
501 (PurpleTypingState)typing); |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
504 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
|
505 PurpleTypingState typing) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
506 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
|
507 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
|
508 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
|
509 return 0; |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
512 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
|
513 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
|
514 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
|
515 PurpleAccount *acct; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
516 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
517 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
|
518 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
|
519 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
520 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
|
521 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
|
522 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
|
523 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
|
524 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
525 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
526 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
|
527 if (acct) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
528 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
|
529 else |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
530 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
|
531 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
|
532 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
533 /* 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
|
534 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
|
535 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
|
536 info, /* body */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
537 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
|
538 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
|
539 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
540 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
541 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
|
542 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
|
543 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
|
544 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
|
545 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
546 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
|
547 NULL); |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
550 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
|
551 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
|
552 "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
|
553 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
|
554 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
555 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
556 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
|
557 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
|
558 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
|
559 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
|
560 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
561 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
562 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
|
563 PurpleGroup *group) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
564 { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
565 const char *username = 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
|
566 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
|
567 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
568 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
|
569 username); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
570 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
571 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
|
572 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
|
573 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
574 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
|
575 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
576 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
|
577 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
|
578 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
|
579 } else { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
580 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
|
581 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
|
582 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
|
583 username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
584 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
|
585 NULL, /* alias */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
586 NULL); /* message */ |
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
591 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
|
592 GList *groups) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
593 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
|
594 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
|
595 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
596 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
|
597 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
598 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
|
599 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
|
600 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
|
601 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
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
605 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
|
606 PurpleGroup *group) |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
607 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
608 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
|
609 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
|
610 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
611 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
612 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
|
613 GList *groups) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
614 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
|
615 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
|
616 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
617 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
|
618 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
619 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
|
620 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
|
621 (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
|
622 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
|
623 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
|
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 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
628 * 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
|
629 * 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
|
630 * 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
|
631 * 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
|
632 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
633 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
|
634 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
|
635 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
|
636 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
637 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
638 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
|
639 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
|
640 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
|
641 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
642 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
643 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
|
644 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
|
645 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
|
646 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
647 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
648 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
|
649 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
|
650 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
|
651 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
652 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
653 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
|
654 /* 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
|
655 * 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
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
659 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
|
660 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
|
661 /* 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
|
662 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
|
663 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
|
664 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
|
665 from->nick, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
666 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
|
667 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
|
668 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
|
669 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
670 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
|
671 /* 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
|
672 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
|
673 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
|
674 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
|
675 to->nick, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
676 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
|
677 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
|
678 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
|
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
682 static void nullprpl_join_chat(PurpleConnection *gc, GHashTable *components) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
683 const char *username = gc->account->username; |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
684 const char *room = g_hash_table_lookup(components, "room"); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
685 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
|
686 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
|
687 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
688 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
|
689 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
|
690 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
691 /* 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
|
692 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
|
693 } else { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
694 char *tmp = g_strdup_printf(_("%s is already in chat room %s."), |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
695 username, |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
696 room); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
697 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
|
698 room); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
699 purple_notify_info(gc, _("Join chat"), _("Join chat"), tmp); |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
700 g_free(tmp); |
|
17373
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 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
704 static void nullprpl_reject_chat(PurpleConnection *gc, GHashTable *components) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
705 const char *invited_by = g_hash_table_lookup(components, "invited_by"); |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
706 const char *room = g_hash_table_lookup(components, "room"); |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
707 const char *username = 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
|
708 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
|
709 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
|
710 "%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
|
711 username, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
712 _("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
|
713 room); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
714 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
715 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
|
716 "%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
|
717 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
|
718 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
719 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
|
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 _("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
|
722 message); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
723 g_free(message); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
724 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
725 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
726 static char *nullprpl_get_chat_name(GHashTable *components) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
727 const char *room = g_hash_table_lookup(components, "room"); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
728 purple_debug_info("nullprpl", "reporting chat room name '%s'\n", room); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
729 return g_strdup(room); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
730 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
731 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
732 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
|
733 const char *message, const char *who) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
734 const char *username = 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
|
735 PurpleConversation *conv = purple_find_chat(gc, id); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
736 const char *room = conv->name; |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
737 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
|
738 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
739 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
|
740 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
|
741 |
|
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_acct) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
743 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
|
744 if (to_conv) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
745 char *tmp = g_strdup_printf("%s is already in chat room %s.", who, room); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
746 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
|
747 "%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
|
748 "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
|
749 who, room, username); |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
750 purple_notify_info(gc, _("Chat invitation"), _("Chat invitation"), tmp); |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
751 g_free(tmp); |
|
17373
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; |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
754 components = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); |
|
17373
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) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
836 const char *username = 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
|
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) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
861 const char *username = 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
|
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) { |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
984 const char *username = 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
|
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; |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
1008 const char *name = conv->name; |
|
17373
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 |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
1015 /* This cast is OK because this list is only staying around for the life |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
1016 * of this function and none of the conversations are being deleted |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
1017 * in that timespan. */ |
|
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
1018 seen_ids = g_list_prepend(seen_ids, (char *)name); /* no, it's new. */ |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1019 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
|
1020 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1021 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
|
1022 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
|
1023 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
|
1024 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
|
1025 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1026 |
|
24596
2cae2b346d72
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <paul@darkrain42.org>
parents:
24169
diff
changeset
|
1027 g_list_free(seen_ids); |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1028 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
|
1029 return roomlist; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1030 } |
|
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 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
|
1033 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
|
1034 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
|
1035 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1036 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1037 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
|
1038 PurpleRoomlistRoom *category) { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1039 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
|
1040 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
|
1041 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1042 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1043 /* 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
|
1044 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
|
1045 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
|
1046 return FALSE; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1047 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1048 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1049 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
|
1050 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
|
1051 "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
|
1052 buddy->name); |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1053 return TRUE; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1054 } |
|
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 /* |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1058 * 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
|
1059 */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1060 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1061 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
|
1062 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1063 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
|
1064 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
|
1065 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
|
1066 { /* 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
|
1067 "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
|
1068 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
|
1069 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
|
1070 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
|
1071 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
|
1072 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
|
1073 PURPLE_ICON_SCALE_DISPLAY, /* scale_rules */ |
| 17374 | 1074 }, |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1075 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
|
1076 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
|
1077 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
|
1078 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
|
1079 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
|
1080 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
|
1081 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
|
1082 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
|
1083 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
|
1084 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
|
1085 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
|
1086 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
|
1087 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
|
1088 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
|
1089 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
|
1090 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
|
1091 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
|
1092 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
|
1093 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
|
1094 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
|
1095 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
|
1096 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
|
1097 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
|
1098 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
|
1099 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
|
1100 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
|
1101 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
|
1102 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
|
1103 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
|
1104 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
|
1105 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
|
1106 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
|
1107 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
|
1108 NULL, /* keepalive */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1109 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
|
1110 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
|
1111 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
|
1112 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
|
1113 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
|
1114 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
|
1115 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
|
1116 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
|
1117 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
|
1118 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
|
1119 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
|
1120 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
|
1121 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
|
1122 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
|
1123 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
|
1124 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
|
1125 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
|
1126 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
|
1127 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
|
1128 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
|
1129 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
|
1130 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
|
1131 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
|
1132 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
|
1133 NULL, /* padding... */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1134 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1135 NULL, |
|
24034
1568dc7a14f8
Warnings cleanup from Lee Roach. Fixes #6242.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
22568
diff
changeset
|
1136 sizeof(PurplePluginProtocolInfo), /* struct_size */ |
|
1568dc7a14f8
Warnings cleanup from Lee Roach. Fixes #6242.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
22568
diff
changeset
|
1137 NULL |
|
17373
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1138 }; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1139 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1140 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
|
1141 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1142 /* 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
|
1143 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
|
1144 _("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
|
1145 "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
|
1146 '@'); /* field separator */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1147 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
|
1148 _("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
|
1149 "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
|
1150 "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
|
1151 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1152 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
|
1153 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1154 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
|
1155 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
|
1156 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1157 /* 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
|
1158 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
|
1159 "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
|
1160 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
|
1161 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
|
1162 "prpl-null", |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1163 send_whisper, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1164 "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
|
1165 NULL); /* userdata */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1166 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1167 /* 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
|
1168 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
|
1169 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
|
1170 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
|
1171 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
|
1172 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1173 _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
|
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 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
|
1177 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
|
1178 } |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1179 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1180 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1181 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
|
1182 { |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1183 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
|
1184 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
|
1185 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
|
1186 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
|
1187 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
|
1188 0, /* flags */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1189 NULL, /* dependencies */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1190 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
|
1191 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
|
1192 "Nullprpl", /* name */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1193 "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
|
1194 "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
|
1195 "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
|
1196 "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
|
1197 "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
|
1198 NULL, /* load */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1199 NULL, /* unload */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1200 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
|
1201 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
|
1202 &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
|
1203 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
|
1204 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
|
1205 NULL, /* padding... */ |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1206 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1207 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1208 NULL, |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1209 }; |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1210 |
|
afee8b840d91
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1211 PURPLE_INIT_PLUGIN(null, nullprpl_init, info); |
