Wed, 20 May 2020 11:33:10 +0100
Make PurplePluginProtocolInfo definitions consistent
Since we can't use C99 structure initialisers, we have to manually add
new NULL fields to all protocols whenever we extend the structure.
Make it slightly easier to script that, by making the current last
field (get_cb_alias) consistent in all cases. In particular, there's
no reason *not* to have the trailing comma, as most already do.
Now I can add a new field to the PRPL by doing something like this...
PROTOFILES=`grep -rl '[A-Za-z_][A-Za-z0-9_]*,[[:space:]]*/\* get_cb_alias \*/' libpurple/protocols/ `
sed '/\/\* get_cb_alias \*\//{p;s/[A-Za-z_][A-Za-
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1 | /** |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
2 | * purple |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
3 | * |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
6 | * source distribution. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
7 | * |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
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! |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30138
diff
changeset
|
11 | * |
|
17451
02adeb73ed3b
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 |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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. |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30138
diff
changeset
|
17 | * |
|
17451
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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. |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30138
diff
changeset
|
22 | * |
|
17451
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
27 | * |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
32 | * |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
37 | * |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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 |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19832
diff
changeset
|
40 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
41 | */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
42 | |
|
02adeb73ed3b
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> |
|
02adeb73ed3b
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> |
|
02adeb73ed3b
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> |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
46 | |
|
02adeb73ed3b
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> |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
48 | |
|
24332
9c7586a57e1b
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@pidgin.im>
parents:
24231
diff
changeset
|
49 | /* If you're using this as the basis of a prpl that will be distributed |
|
9c7586a57e1b
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@pidgin.im>
parents:
24231
diff
changeset
|
50 | * separately from libpurple, remove the internal.h include below and replace |
|
9c7586a57e1b
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@pidgin.im>
parents:
24231
diff
changeset
|
51 | * it with code to include your own config.h or similar. If you're going to |
|
9c7586a57e1b
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@pidgin.im>
parents:
24231
diff
changeset
|
52 | * provide for translation, you'll also need to setup the gettext macros. */ |
|
17451
02adeb73ed3b
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" |
|
24332
9c7586a57e1b
Add a comment documenting the internal.h situation for people using nullprpl
Richard Laager <rlaager@pidgin.im>
parents:
24231
diff
changeset
|
54 | |
|
17451
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
69 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
70 | |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
73 | |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
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" |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
77 | |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
79 | PurpleConnection *to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
80 | gpointer userdata); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
81 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
82 | typedef struct { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
83 | GcFunc fn; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
84 | PurpleConnection *from; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
85 | gpointer userdata; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
86 | } GcFuncData; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
87 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
88 | /* |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
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. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
91 | */ |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
93 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
94 | typedef struct { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
95 | char *from; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
96 | char *message; |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
98 | PurpleMessageFlags flags; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
99 | } GOfflineMessage; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
100 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
101 | /* |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
102 | * helpers |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
103 | */ |
|
02adeb73ed3b
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) { |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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)) |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
108 | else |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
109 | return NULL; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
110 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
111 | |
|
02adeb73ed3b
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) { |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
115 | |
|
38258
9a6551eba09c
Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31595
diff
changeset
|
116 | if (purple_strequal(gc->account->protocol_id, NULLPRPL_ID)) |
|
17451
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
118 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
119 | |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
121 | gpointer userdata) { |
| 17452 | 122 | GcFuncData gcfdata = { fn, from, userdata }; |
|
17451
02adeb73ed3b
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, |
| 17452 | 124 | &gcfdata); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
125 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
126 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
127 | |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
130 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
131 | typedef struct { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
132 | ChatFunc fn; |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
134 | gpointer userdata; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
135 | } ChatFuncData; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
136 | |
|
02adeb73ed3b
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) { |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
140 | |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
143 | if (conv) { |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
146 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
147 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
148 | |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
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) { |
|
02adeb73ed3b
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); |
| 17452 | 152 | ChatFuncData cfdata = { fn, |
| 153 | purple_conversation_get_chat_data(conv), | |
| 154 | userdata }; | |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
155 | |
|
02adeb73ed3b
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, |
| 17452 | 157 | &cfdata); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
158 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
159 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
160 | |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
162 | gpointer userdata) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
163 | const char *from_username = from->account->username; |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
164 | const char *to_username = to->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
165 | |
|
02adeb73ed3b
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)) { |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
170 | |
|
38258
9a6551eba09c
Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31595
diff
changeset
|
171 | if (purple_strequal(status_id, NULL_STATUS_ONLINE) || |
|
9a6551eba09c
Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31595
diff
changeset
|
172 | purple_strequal(status_id, NULL_STATUS_AWAY) || |
|
9a6551eba09c
Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
31595
diff
changeset
|
173 | purple_strequal(status_id, NULL_STATUS_OFFLINE)) { |
|
17451
02adeb73ed3b
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", |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
178 | } else { |
|
02adeb73ed3b
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", |
|
02adeb73ed3b
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", |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
182 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
183 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
184 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
185 | |
|
02adeb73ed3b
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, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
187 | gpointer userdata) { |
|
02adeb73ed3b
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", |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
191 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
192 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
193 | |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30138
diff
changeset
|
194 | /* |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
195 | * UI callbacks |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
196 | */ |
|
02adeb73ed3b
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) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
198 | { |
|
02adeb73ed3b
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; |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
202 | acct->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
203 | |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
205 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
206 | |
|
02adeb73ed3b
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 |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
208 | * bottom. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
209 | */ |
|
02adeb73ed3b
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) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
211 | { |
|
02adeb73ed3b
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( |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
215 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
216 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
217 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
218 | /* |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
219 | * prpl functions |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
220 | */ |
|
02adeb73ed3b
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) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
222 | { |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
223 | return "null"; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
224 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
225 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
226 | static char *nullprpl_status_text(PurpleBuddy *buddy) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
227 | purple_debug_info("nullprpl", "getting %s's status text for %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
228 | buddy->name, buddy->account->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
229 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
230 | if (purple_find_buddy(buddy->account, buddy->name)) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
231 | PurplePresence *presence = purple_buddy_get_presence(buddy); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
232 | PurpleStatus *status = purple_presence_get_active_status(presence); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
233 | const char *name = purple_status_get_name(status); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
234 | const char *message = purple_status_get_attr_string(status, "message"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
235 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
236 | char *text; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
237 | if (message && strlen(message) > 0) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
238 | text = g_strdup_printf("%s: %s", name, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
239 | else |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
240 | text = g_strdup(name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
241 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
242 | purple_debug_info("nullprpl", "%s's status text is %s\n", buddy->name, text); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
243 | return text; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
244 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
245 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
246 | purple_debug_info("nullprpl", "...but %s is not logged in\n", buddy->name); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
247 | return g_strdup("Not logged in"); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
248 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
249 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
250 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
251 | static void nullprpl_tooltip_text(PurpleBuddy *buddy, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
252 | PurpleNotifyUserInfo *info, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
253 | gboolean full) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
254 | PurpleConnection *gc = get_nullprpl_gc(buddy->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
255 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
256 | if (gc) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
257 | /* they're logged in */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
258 | PurplePresence *presence = purple_buddy_get_presence(buddy); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
259 | PurpleStatus *status = purple_presence_get_active_status(presence); |
|
24865
053ddd0ba317
Small leak fix.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24862
diff
changeset
|
260 | char *msg = nullprpl_status_text(buddy); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
261 | purple_notify_user_info_add_pair(info, purple_status_get_name(status), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
262 | msg); |
|
24865
053ddd0ba317
Small leak fix.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24862
diff
changeset
|
263 | g_free(msg); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
264 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
265 | if (full) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
266 | const char *user_info = purple_account_get_user_info(gc->account); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
267 | if (user_info) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
268 | purple_notify_user_info_add_pair(info, _("User info"), user_info); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
269 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
270 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
271 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
272 | /* they're not logged in */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
273 | purple_notify_user_info_add_pair(info, _("User info"), _("not logged in")); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
274 | } |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
275 | |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
276 | purple_debug_info("nullprpl", "showing %s tooltip for %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
277 | (full) ? "full" : "short", buddy->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
278 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
279 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
280 | static GList *nullprpl_status_types(PurpleAccount *acct) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
281 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
282 | GList *types = NULL; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
283 | PurpleStatusType *type; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
284 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
285 | purple_debug_info("nullprpl", "returning status types for %s: %s, %s, %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
286 | acct->username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
287 | NULL_STATUS_ONLINE, NULL_STATUS_AWAY, NULL_STATUS_OFFLINE); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
288 | |
|
25890
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
289 | type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE, |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
290 | NULL_STATUS_ONLINE, NULL, TRUE, TRUE, FALSE, |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
291 | "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING), |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
292 | NULL); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
293 | types = g_list_prepend(types, type); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
294 | |
|
25890
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
295 | type = purple_status_type_new_with_attrs(PURPLE_STATUS_AWAY, |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
296 | NULL_STATUS_AWAY, NULL, TRUE, TRUE, FALSE, |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
297 | "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING), |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
298 | NULL); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
299 | types = g_list_prepend(types, type); |
|
25890
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
300 | |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
301 | type = purple_status_type_new_with_attrs(PURPLE_STATUS_OFFLINE, |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
302 | NULL_STATUS_OFFLINE, NULL, TRUE, TRUE, FALSE, |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
303 | "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING), |
|
26bb4211aa76
Deprecate some functions that aren't really needed
Mark Doliner <markdoliner@pidgin.im>
parents:
25119
diff
changeset
|
304 | NULL); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
305 | types = g_list_prepend(types, type); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
306 | |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
307 | return g_list_reverse(types); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
308 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
309 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
310 | static void blist_example_menu_item(PurpleBlistNode *node, gpointer userdata) { |
|
22709
6bd336964410
Printf warning fixes.
Daniel Atallah <datallah@pidgin.im>
parents:
19859
diff
changeset
|
311 | purple_debug_info("nullprpl", "example menu item clicked on user %s\n", |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
312 | ((PurpleBuddy *)node)->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
313 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
314 | purple_notify_info(NULL, /* plugin handle or PurpleConnection */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
315 | _("Primary title"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
316 | _("Secondary title"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
317 | _("This is the callback for the nullprpl menu item.")); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
318 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
319 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
320 | static GList *nullprpl_blist_node_menu(PurpleBlistNode *node) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
321 | purple_debug_info("nullprpl", "providing buddy list context menu item\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
322 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
323 | if (PURPLE_BLIST_NODE_IS_BUDDY(node)) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
324 | PurpleMenuAction *action = purple_menu_action_new( |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
325 | _("Nullprpl example menu item"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
326 | PURPLE_CALLBACK(blist_example_menu_item), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
327 | NULL, /* userdata passed to the callback */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
328 | NULL); /* child menu items */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
329 | return g_list_append(NULL, action); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
330 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
331 | return NULL; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
332 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
333 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
334 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
335 | static GList *nullprpl_chat_info(PurpleConnection *gc) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
336 | struct proto_chat_entry *pce; /* defined in prpl.h */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
337 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
338 | purple_debug_info("nullprpl", "returning chat setting 'room'\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
339 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
340 | pce = g_new0(struct proto_chat_entry, 1); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
341 | pce->label = _("Chat _room"); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
342 | pce->identifier = "room"; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
343 | pce->required = TRUE; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
344 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
345 | return g_list_append(NULL, pce); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
346 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
347 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
348 | static GHashTable *nullprpl_chat_info_defaults(PurpleConnection *gc, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
349 | const char *room) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
350 | GHashTable *defaults; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
351 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
352 | purple_debug_info("nullprpl", "returning chat default setting " |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
353 | "'room' = 'default'\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
354 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
355 | defaults = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
356 | g_hash_table_insert(defaults, "room", g_strdup("default")); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
357 | return defaults; |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30138
diff
changeset
|
358 | } |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
359 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
360 | static void nullprpl_login(PurpleAccount *acct) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
361 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
362 | PurpleConnection *gc = purple_account_get_connection(acct); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
363 | GList *offline_messages; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
364 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
365 | purple_debug_info("nullprpl", "logging in %s\n", acct->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
366 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
367 | purple_connection_update_progress(gc, _("Connecting"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
368 | 0, /* which connection step this is */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
369 | 2); /* total number of steps */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
370 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
371 | purple_connection_update_progress(gc, _("Connected"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
372 | 1, /* which connection step this is */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
373 | 2); /* total number of steps */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
374 | purple_connection_set_state(gc, PURPLE_CONNECTED); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
375 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
376 | /* tell purple about everyone on our buddy list who's connected */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
377 | foreach_nullprpl_gc(discover_status, gc, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
378 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
379 | /* notify other nullprpl accounts */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
380 | foreach_nullprpl_gc(report_status_change, gc, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
381 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
382 | /* fetch stored offline messages */ |
|
02adeb73ed3b
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", "checking for offline messages for %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
384 | acct->username); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30138
diff
changeset
|
385 | offline_messages = g_hash_table_lookup(goffline_messages, acct->username); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
386 | while (offline_messages) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
387 | GOfflineMessage *message = (GOfflineMessage *)offline_messages->data; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
388 | purple_debug_info("nullprpl", "delivering offline message to %s: %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
389 | acct->username, message->message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
390 | serv_got_im(gc, message->from, message->message, message->flags, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
391 | message->mtime); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
392 | offline_messages = g_list_next(offline_messages); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
393 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
394 | g_free(message->from); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
395 | g_free(message->message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
396 | g_free(message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
397 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
398 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
399 | g_list_free(offline_messages); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
400 | g_hash_table_remove(goffline_messages, &acct->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
401 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
402 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
403 | static void nullprpl_close(PurpleConnection *gc) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
404 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
405 | /* notify other nullprpl accounts */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
406 | foreach_nullprpl_gc(report_status_change, gc, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
407 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
408 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
409 | static int nullprpl_send_im(PurpleConnection *gc, const char *who, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
410 | const char *message, PurpleMessageFlags flags) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
411 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
412 | const char *from_username = gc->account->username; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
413 | PurpleMessageFlags receive_flags = ((flags & ~PURPLE_MESSAGE_SEND) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
414 | | PURPLE_MESSAGE_RECV); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
415 | PurpleAccount *to_acct = purple_accounts_find(who, NULLPRPL_ID); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
416 | PurpleConnection *to; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
417 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
418 | purple_debug_info("nullprpl", "sending message from %s to %s: %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
419 | from_username, who, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
420 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
421 | /* is the sender blocked by the recipient's privacy settings? */ |
|
17531
359f0b8ff55a
Fix a crash sending an IM in null protocol to a buddy who you don't have a
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17452
diff
changeset
|
422 | if (to_acct && !purple_privacy_check(to_acct, gc->account->username)) { |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
423 | char *msg = g_strdup_printf( |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
424 | _("Your message was blocked by %s's privacy settings."), who); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
425 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
426 | "discarding; %s is blocked by %s's privacy settings\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
427 | from_username, who); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
428 | purple_conv_present_error(who, gc->account, msg); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
429 | g_free(msg); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
430 | return 0; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
431 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
432 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
433 | /* is the recipient online? */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
434 | to = get_nullprpl_gc(who); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
435 | if (to) { /* yes, send */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
436 | serv_got_im(to, from_username, message, receive_flags, time(NULL)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
437 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
438 | } else { /* nope, store as an offline message */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
439 | GOfflineMessage *offline_message; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
440 | GList *messages; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
441 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
442 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
443 | "%s is offline, sending as offline message\n", who); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
444 | offline_message = g_new0(GOfflineMessage, 1); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
445 | offline_message->from = g_strdup(from_username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
446 | offline_message->message = g_strdup(message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
447 | offline_message->mtime = time(NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
448 | offline_message->flags = receive_flags; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
449 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
450 | messages = g_hash_table_lookup(goffline_messages, who); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
451 | messages = g_list_append(messages, offline_message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
452 | g_hash_table_insert(goffline_messages, g_strdup(who), messages); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
453 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
454 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
455 | return 1; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
456 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
457 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
458 | static void nullprpl_set_info(PurpleConnection *gc, const char *info) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
459 | purple_debug_info("nullprpl", "setting %s's user info to %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
460 | gc->account->username, info); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
461 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
462 | |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
463 | static const char *typing_state_to_string(PurpleTypingState typing) { |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
464 | switch (typing) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
465 | case PURPLE_NOT_TYPING: return "is not typing"; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
466 | case PURPLE_TYPING: return "is typing"; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
467 | case PURPLE_TYPED: return "stopped typing momentarily"; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
468 | default: return "unknown typing state"; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
469 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
470 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
471 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
472 | static void notify_typing(PurpleConnection *from, PurpleConnection *to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
473 | gpointer typing) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
474 | const char *from_username = from->account->username; |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
475 | const char *action = typing_state_to_string((PurpleTypingState)typing); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
476 | purple_debug_info("nullprpl", "notifying %s that %s %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
477 | to->account->username, from_username, action); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
478 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
479 | serv_got_typing(to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
480 | from_username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
481 | 0, /* if non-zero, a timeout in seconds after which to |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
482 | * reset the typing status to PURPLE_NOT_TYPING */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
483 | (PurpleTypingState)typing); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
484 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
485 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
486 | static unsigned int nullprpl_send_typing(PurpleConnection *gc, const char *name, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
487 | PurpleTypingState typing) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
488 | purple_debug_info("nullprpl", "%s %s\n", gc->account->username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
489 | typing_state_to_string(typing)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
490 | foreach_nullprpl_gc(notify_typing, gc, (gpointer)typing); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
491 | return 0; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
492 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
493 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
494 | static void nullprpl_get_info(PurpleConnection *gc, const char *username) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
495 | const char *body; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
496 | PurpleNotifyUserInfo *info = purple_notify_user_info_new(); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
497 | PurpleAccount *acct; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
498 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
499 | purple_debug_info("nullprpl", "Fetching %s's user info for %s\n", username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
500 | gc->account->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
501 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
502 | if (!get_nullprpl_gc(username)) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
503 | char *msg = g_strdup_printf(_("%s is not logged in."), username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
504 | purple_notify_error(gc, _("User Info"), _("User info not available. "), msg); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
505 | g_free(msg); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
506 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
507 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
508 | acct = purple_accounts_find(username, NULLPRPL_ID); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
509 | if (acct) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
510 | body = purple_account_get_user_info(acct); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
511 | else |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
512 | body = _("No user info."); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
513 | purple_notify_user_info_add_pair(info, "Info", body); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
514 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
515 | /* show a buddy's user info in a nice dialog box */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
516 | purple_notify_userinfo(gc, /* connection the buddy info came through */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
517 | username, /* buddy's username */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
518 | info, /* body */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
519 | NULL, /* callback called when dialog closed */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
520 | NULL); /* userdata for callback */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
521 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
522 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
523 | static void nullprpl_set_status(PurpleAccount *acct, PurpleStatus *status) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
524 | const char *msg = purple_status_get_attr_string(status, "message"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
525 | purple_debug_info("nullprpl", "setting %s's status to %s: %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
526 | acct->username, purple_status_get_name(status), msg); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
527 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
528 | foreach_nullprpl_gc(report_status_change, get_nullprpl_gc(acct->username), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
529 | NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
530 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
531 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
532 | static void nullprpl_set_idle(PurpleConnection *gc, int idletime) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
533 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
534 | "purple reports that %s has been idle for %d seconds\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
535 | gc->account->username, idletime); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
536 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
537 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
538 | static void nullprpl_change_passwd(PurpleConnection *gc, const char *old_pass, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
539 | const char *new_pass) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
540 | purple_debug_info("nullprpl", "%s wants to change their password\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
541 | gc->account->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
542 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
543 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
544 | static void nullprpl_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
545 | PurpleGroup *group) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
546 | { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
547 | const char *username = gc->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
548 | PurpleConnection *buddy_gc = get_nullprpl_gc(buddy->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
549 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
550 | purple_debug_info("nullprpl", "adding %s to %s's buddy list\n", buddy->name, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
551 | username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
552 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
553 | if (buddy_gc) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
554 | PurpleAccount *buddy_acct = buddy_gc->account; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
555 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
556 | discover_status(gc, buddy_gc, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
557 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
558 | if (purple_find_buddy(buddy_acct, username)) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
559 | purple_debug_info("nullprpl", "%s is already on %s's buddy list\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
560 | username, buddy->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
561 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
562 | purple_debug_info("nullprpl", "asking %s if they want to add %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
563 | buddy->name, username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
564 | purple_account_request_add(buddy_acct, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
565 | username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
566 | NULL, /* local account id (rarely used) */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
567 | NULL, /* alias */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
568 | NULL); /* message */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
569 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
570 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
571 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
572 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
573 | static void nullprpl_add_buddies(PurpleConnection *gc, GList *buddies, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
574 | GList *groups) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
575 | GList *buddy = buddies; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
576 | GList *group = groups; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
577 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
578 | purple_debug_info("nullprpl", "adding multiple buddies\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
579 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
580 | while (buddy && group) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
581 | nullprpl_add_buddy(gc, (PurpleBuddy *)buddy->data, (PurpleGroup *)group->data); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
582 | buddy = g_list_next(buddy); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
583 | group = g_list_next(group); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
584 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
585 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
586 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
587 | static void nullprpl_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
588 | PurpleGroup *group) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
589 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
590 | purple_debug_info("nullprpl", "removing %s from %s's buddy list\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
591 | buddy->name, gc->account->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
592 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
593 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
594 | static void nullprpl_remove_buddies(PurpleConnection *gc, GList *buddies, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
595 | GList *groups) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
596 | GList *buddy = buddies; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
597 | GList *group = groups; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
598 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
599 | purple_debug_info("nullprpl", "removing multiple buddies\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
600 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
601 | while (buddy && group) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
602 | nullprpl_remove_buddy(gc, (PurpleBuddy *)buddy->data, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
603 | (PurpleGroup *)group->data); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
604 | buddy = g_list_next(buddy); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
605 | group = g_list_next(group); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
606 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
607 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
608 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
609 | /* |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
610 | * nullprpl uses purple's local whitelist and blacklist, stored in blist.xml, as |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
611 | * its authoritative privacy settings, and uses purple's logic (specifically |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
612 | * purple_privacy_check(), from privacy.h), to determine whether messages are |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
613 | * allowed or blocked. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
614 | */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
615 | static void nullprpl_add_permit(PurpleConnection *gc, const char *name) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
616 | purple_debug_info("nullprpl", "%s adds %s to their allowed list\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
617 | gc->account->username, name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
618 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
619 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
620 | static void nullprpl_add_deny(PurpleConnection *gc, const char *name) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
621 | purple_debug_info("nullprpl", "%s adds %s to their blocked list\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
622 | gc->account->username, name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
623 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
624 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
625 | static void nullprpl_rem_permit(PurpleConnection *gc, const char *name) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
626 | purple_debug_info("nullprpl", "%s removes %s from their allowed list\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
627 | gc->account->username, name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
628 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
629 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
630 | static void nullprpl_rem_deny(PurpleConnection *gc, const char *name) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
631 | purple_debug_info("nullprpl", "%s removes %s from their blocked list\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
632 | gc->account->username, name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
633 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
634 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
635 | static void nullprpl_set_permit_deny(PurpleConnection *gc) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
636 | /* this is for synchronizing the local black/whitelist with the server. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
637 | * for nullprpl, it's a noop. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
638 | */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
639 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
640 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
641 | static void joined_chat(PurpleConvChat *from, PurpleConvChat *to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
642 | int id, const char *room, gpointer userdata) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
643 | /* tell their chat window that we joined */ |
|
02adeb73ed3b
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 sees that %s joined chat room %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
645 | to->nick, from->nick, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
646 | purple_conv_chat_add_user(to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
647 | from->nick, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
648 | NULL, /* user-provided join message, IRC style */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
649 | PURPLE_CBFLAGS_NONE, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
650 | TRUE); /* show a join message */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
651 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
652 | if (from != to) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
653 | /* add them to our chat window */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
654 | purple_debug_info("nullprpl", "%s sees that %s is in chat room %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
655 | from->nick, to->nick, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
656 | purple_conv_chat_add_user(from, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
657 | to->nick, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
658 | NULL, /* user-provided join message, IRC style */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
659 | PURPLE_CBFLAGS_NONE, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
660 | FALSE); /* show a join message */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
661 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
662 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
663 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
664 | static void nullprpl_join_chat(PurpleConnection *gc, GHashTable *components) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
665 | const char *username = gc->account->username; |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
666 | const char *room = g_hash_table_lookup(components, "room"); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
667 | int chat_id = g_str_hash(room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
668 | purple_debug_info("nullprpl", "%s is joining chat room %s\n", username, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
669 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
670 | if (!purple_find_chat(gc, chat_id)) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
671 | serv_got_joined_chat(gc, chat_id, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
672 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
673 | /* tell everyone that we joined, and add them if they're already there */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
674 | foreach_gc_in_chat(joined_chat, gc, chat_id, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
675 | } else { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
676 | char *tmp = g_strdup_printf(_("%s is already in chat room %s."), |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
677 | username, |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
678 | room); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
679 | purple_debug_info("nullprpl", "%s is already in chat room %s\n", username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
680 | room); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
681 | purple_notify_info(gc, _("Join chat"), _("Join chat"), tmp); |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
682 | g_free(tmp); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
683 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
684 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
685 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
686 | static void nullprpl_reject_chat(PurpleConnection *gc, GHashTable *components) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
687 | const char *invited_by = g_hash_table_lookup(components, "invited_by"); |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
688 | const char *room = g_hash_table_lookup(components, "room"); |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
689 | const char *username = gc->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
690 | PurpleConnection *invited_by_gc = get_nullprpl_gc(invited_by); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
691 | char *message = g_strdup_printf( |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
692 | "%s %s %s.", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
693 | username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
694 | _("has rejected your invitation to join the chat room"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
695 | room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
696 | |
|
02adeb73ed3b
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", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
698 | "%s has rejected %s's invitation to join chat room %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
699 | username, invited_by, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
700 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
701 | purple_notify_info(invited_by_gc, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
702 | _("Chat invitation rejected"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
703 | _("Chat invitation rejected"), |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
704 | message); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
705 | g_free(message); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
706 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
707 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
708 | static char *nullprpl_get_chat_name(GHashTable *components) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
709 | const char *room = g_hash_table_lookup(components, "room"); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
710 | purple_debug_info("nullprpl", "reporting chat room name '%s'\n", room); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
711 | return g_strdup(room); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
712 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
713 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
714 | static void nullprpl_chat_invite(PurpleConnection *gc, int id, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
715 | const char *message, const char *who) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
716 | const char *username = gc->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
717 | PurpleConversation *conv = purple_find_chat(gc, id); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
718 | const char *room = conv->name; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
719 | PurpleAccount *to_acct = purple_accounts_find(who, NULLPRPL_ID); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
720 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
721 | purple_debug_info("nullprpl", "%s is inviting %s to join chat room %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
722 | username, who, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
723 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
724 | if (to_acct) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
725 | PurpleConversation *to_conv = purple_find_chat(to_acct->gc, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
726 | if (to_conv) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
727 | char *tmp = g_strdup_printf("%s is already in chat room %s.", who, room); |
|
17451
02adeb73ed3b
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", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
729 | "%s is already in chat room %s; " |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
730 | "ignoring invitation from %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
731 | who, room, username); |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
732 | purple_notify_info(gc, _("Chat invitation"), _("Chat invitation"), tmp); |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
733 | g_free(tmp); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
734 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
735 | GHashTable *components; |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
736 | components = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
737 | g_hash_table_replace(components, "room", g_strdup(room)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
738 | g_hash_table_replace(components, "invited_by", g_strdup(username)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
739 | serv_got_chat_invite(to_acct->gc, room, username, message, components); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
740 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
741 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
742 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
743 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
744 | static void left_chat_room(PurpleConvChat *from, PurpleConvChat *to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
745 | int id, const char *room, gpointer userdata) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
746 | if (from != to) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
747 | /* tell their chat window that we left */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
748 | purple_debug_info("nullprpl", "%s sees that %s left chat room %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
749 | to->nick, from->nick, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
750 | purple_conv_chat_remove_user(to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
751 | from->nick, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
752 | NULL); /* user-provided message, IRC style */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
753 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
754 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
755 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
756 | static void nullprpl_chat_leave(PurpleConnection *gc, int id) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
757 | PurpleConversation *conv = purple_find_chat(gc, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
758 | purple_debug_info("nullprpl", "%s is leaving chat room %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
759 | gc->account->username, conv->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
760 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
761 | /* tell everyone that we left */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
762 | foreach_gc_in_chat(left_chat_room, gc, id, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
763 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
764 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
765 | static PurpleCmdRet send_whisper(PurpleConversation *conv, const gchar *cmd, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
766 | gchar **args, gchar **error, void *userdata) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
767 | const char *to_username; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
768 | const char *message; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
769 | const char *from_username; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
770 | PurpleConvChat *chat; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
771 | PurpleConvChatBuddy *chat_buddy; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
772 | PurpleConnection *to; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
773 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
774 | /* parse args */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
775 | to_username = args[0]; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
776 | message = args[1]; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
777 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
778 | if (!to_username || strlen(to_username) == 0) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
779 | *error = g_strdup(_("Whisper is missing recipient.")); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
780 | return PURPLE_CMD_RET_FAILED; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
781 | } else if (!message || strlen(message) == 0) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
782 | *error = g_strdup(_("Whisper is missing message.")); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
783 | return PURPLE_CMD_RET_FAILED; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
784 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
785 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
786 | from_username = conv->account->username; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
787 | purple_debug_info("nullprpl", "%s whispers to %s in chat room %s: %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
788 | from_username, to_username, conv->name, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
789 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
790 | chat = purple_conversation_get_chat_data(conv); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
791 | chat_buddy = purple_conv_chat_cb_find(chat, to_username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
792 | to = get_nullprpl_gc(to_username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
793 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
794 | if (!chat_buddy) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
795 | /* this will be freed by the caller */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
796 | *error = g_strdup_printf(_("%s is not logged in."), to_username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
797 | return PURPLE_CMD_RET_FAILED; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
798 | } else if (!to) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
799 | *error = g_strdup_printf(_("%s is not in this chat room."), to_username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
800 | return PURPLE_CMD_RET_FAILED; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
801 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
802 | /* write the whisper in the sender's chat window */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
803 | char *message_to = g_strdup_printf("%s (to %s)", message, to_username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
804 | purple_conv_chat_write(chat, from_username, message_to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
805 | PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_WHISPER, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
806 | time(NULL)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
807 | g_free(message_to); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
808 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
809 | /* send the whisper */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
810 | serv_chat_whisper(to, chat->id, from_username, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
811 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
812 | return PURPLE_CMD_RET_OK; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
813 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
814 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
815 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
816 | static void nullprpl_chat_whisper(PurpleConnection *gc, int id, const char *who, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
817 | const char *message) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
818 | const char *username = gc->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
819 | PurpleConversation *conv = purple_find_chat(gc, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
820 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
821 | "%s receives whisper from %s in chat room %s: %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
822 | username, who, conv->name, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
823 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
824 | /* receive whisper on recipient's account */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
825 | serv_got_chat_in(gc, id, who, PURPLE_MESSAGE_RECV | PURPLE_MESSAGE_WHISPER, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
826 | message, time(NULL)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
827 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
828 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
829 | static void receive_chat_message(PurpleConvChat *from, PurpleConvChat *to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
830 | int id, const char *room, gpointer userdata) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
831 | const char *message = (const char *)userdata; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
832 | PurpleConnection *to_gc = get_nullprpl_gc(to->nick); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
833 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
834 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
835 | "%s receives message from %s in chat room %s: %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
836 | to->nick, from->nick, room, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
837 | serv_got_chat_in(to_gc, id, from->nick, PURPLE_MESSAGE_RECV, message, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
838 | time(NULL)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
839 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
840 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
841 | static int nullprpl_chat_send(PurpleConnection *gc, int id, const char *message, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
842 | PurpleMessageFlags flags) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
843 | const char *username = gc->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
844 | PurpleConversation *conv = purple_find_chat(gc, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
845 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
846 | if (conv) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
847 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
848 | "%s is sending message to chat room %s: %s\n", username, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
849 | conv->name, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
850 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
851 | /* send message to everyone in the chat room */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
852 | foreach_gc_in_chat(receive_chat_message, gc, id, (gpointer)message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
853 | return 0; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
854 | } else { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
855 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
856 | "tried to send message from %s to chat room #%d: %s\n" |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
857 | "but couldn't find chat room", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
858 | username, id, message); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
859 | return -1; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
860 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
861 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
862 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
863 | static void nullprpl_register_user(PurpleAccount *acct) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
864 | purple_debug_info("nullprpl", "registering account for %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
865 | acct->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
866 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
867 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
868 | static void nullprpl_get_cb_info(PurpleConnection *gc, int id, const char *who) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
869 | PurpleConversation *conv = purple_find_chat(gc, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
870 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
871 | "retrieving %s's info for %s in chat room %s\n", who, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
872 | gc->account->username, conv->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
873 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
874 | nullprpl_get_info(gc, who); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
875 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
876 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
877 | static void nullprpl_alias_buddy(PurpleConnection *gc, const char *who, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
878 | const char *alias) { |
|
22709
6bd336964410
Printf warning fixes.
Daniel Atallah <datallah@pidgin.im>
parents:
19859
diff
changeset
|
879 | purple_debug_info("nullprpl", "%s sets %s's alias to %s\n", |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
880 | gc->account->username, who, alias); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
881 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
882 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
883 | static void nullprpl_group_buddy(PurpleConnection *gc, const char *who, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
884 | const char *old_group, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
885 | const char *new_group) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
886 | purple_debug_info("nullprpl", "%s has moved %s from group %s to group %s\n", |
|
22709
6bd336964410
Printf warning fixes.
Daniel Atallah <datallah@pidgin.im>
parents:
19859
diff
changeset
|
887 | gc->account->username, who, old_group, new_group); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
888 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
889 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
890 | static void nullprpl_rename_group(PurpleConnection *gc, const char *old_name, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
891 | PurpleGroup *group, GList *moved_buddies) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
892 | purple_debug_info("nullprpl", "%s has renamed group %s to %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
893 | gc->account->username, old_name, group->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
894 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
895 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
896 | static void nullprpl_convo_closed(PurpleConnection *gc, const char *who) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
897 | purple_debug_info("nullprpl", "%s's conversation with %s was closed\n", |
|
02adeb73ed3b
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); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
899 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
900 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
901 | /* normalize a username (e.g. remove whitespace, add default domain, etc.) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
902 | * for nullprpl, this is a noop. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
903 | */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
904 | static const char *nullprpl_normalize(const PurpleAccount *acct, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
905 | const char *input) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
906 | return NULL; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
907 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
908 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
909 | static void nullprpl_set_buddy_icon(PurpleConnection *gc, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
910 | PurpleStoredImage *img) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
911 | purple_debug_info("nullprpl", "setting %s's buddy icon to %s\n", |
|
25745
48b7ebd7fcc7
Fix the crash/leaks in statusbox
Paul Aurich <darkrain42@pidgin.im>
parents:
24865
diff
changeset
|
912 | gc->account->username, |
|
48b7ebd7fcc7
Fix the crash/leaks in statusbox
Paul Aurich <darkrain42@pidgin.im>
parents:
24865
diff
changeset
|
913 | img ? purple_imgstore_get_filename(img) : "(null)"); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
914 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
915 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
916 | static void nullprpl_remove_group(PurpleConnection *gc, PurpleGroup *group) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
917 | purple_debug_info("nullprpl", "%s has removed group %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
918 | gc->account->username, group->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
919 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
920 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
921 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
922 | static void set_chat_topic_fn(PurpleConvChat *from, PurpleConvChat *to, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
923 | int id, const char *room, gpointer userdata) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
924 | const char *topic = (const char *)userdata; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
925 | const char *username = from->conv->account->username; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
926 | char *msg; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
927 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
928 | purple_conv_chat_set_topic(to, username, topic); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
929 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
930 | if (topic && strlen(topic) > 0) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
931 | msg = g_strdup_printf(_("%s sets topic to: %s"), username, topic); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
932 | else |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
933 | msg = g_strdup_printf(_("%s clears topic"), username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
934 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
935 | purple_conv_chat_write(to, username, msg, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
936 | PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
937 | time(NULL)); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
938 | g_free(msg); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
939 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
940 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
941 | static void nullprpl_set_chat_topic(PurpleConnection *gc, int id, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
942 | const char *topic) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
943 | PurpleConversation *conv = purple_find_chat(gc, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
944 | PurpleConvChat *chat = purple_conversation_get_chat_data(conv); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
945 | const char *last_topic; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
946 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
947 | if (!chat) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
948 | return; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
949 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
950 | purple_debug_info("nullprpl", "%s sets topic of chat room '%s' to '%s'\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
951 | gc->account->username, conv->name, topic); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
952 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
953 | last_topic = purple_conv_chat_get_topic(chat); |
|
38266
7c1706b2bd11
Remove found redundant NULL checks
qarkai <qarkai@gmail.com>
parents:
38258
diff
changeset
|
954 | if (purple_strequal(topic, last_topic)) |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
955 | return; /* topic is unchanged, this is a noop */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
956 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
957 | foreach_gc_in_chat(set_chat_topic_fn, gc, id, (gpointer)topic); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
958 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
959 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
960 | static gboolean nullprpl_finish_get_roomlist(gpointer roomlist) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
961 | purple_roomlist_set_in_progress((PurpleRoomlist *)roomlist, FALSE); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
962 | return FALSE; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
963 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
964 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
965 | static PurpleRoomlist *nullprpl_roomlist_get_list(PurpleConnection *gc) { |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
966 | const char *username = gc->account->username; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
967 | PurpleRoomlist *roomlist = purple_roomlist_new(gc->account); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
968 | GList *fields = NULL; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
969 | PurpleRoomlistField *field; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
970 | GList *chats; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
971 | GList *seen_ids = NULL; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
972 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
973 | purple_debug_info("nullprpl", "%s asks for room list; returning:\n", username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
974 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
975 | /* set up the room list */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
976 | field = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "room", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
977 | "room", TRUE /* hidden */); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
978 | fields = g_list_append(fields, field); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
979 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
980 | field = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_INT, "Id", "Id", FALSE); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
981 | fields = g_list_append(fields, field); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
982 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
983 | purple_roomlist_set_fields(roomlist, fields); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
984 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
985 | /* add each chat room. the chat ids are cached in seen_ids so that each room |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
986 | * is only returned once, even if multiple users are in it. */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
987 | for (chats = purple_get_chats(); chats; chats = g_list_next(chats)) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
988 | PurpleConversation *conv = (PurpleConversation *)chats->data; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
989 | PurpleRoomlistRoom *room; |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
990 | const char *name = conv->name; |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
991 | int id = purple_conversation_get_chat_data(conv)->id; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
992 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
993 | /* have we already added this room? */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
994 | if (g_list_find_custom(seen_ids, name, (GCompareFunc)strcmp)) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
995 | continue; /* yes! try the next one. */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
996 | |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
997 | /* This cast is OK because this list is only staying around for the life |
|
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
998 | * of this function and none of the conversations are being deleted |
| 29977 | 999 | * in that timespan. */ |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
1000 | seen_ids = g_list_prepend(seen_ids, (char *)name); /* no, it's new. */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1001 | purple_debug_info("nullprpl", "%s (%d), ", name, id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1002 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1003 | room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, name, NULL); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1004 | purple_roomlist_room_add_field(roomlist, room, name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1005 | purple_roomlist_room_add_field(roomlist, room, &id); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1006 | purple_roomlist_room_add(roomlist, room); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1007 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1008 | |
|
24862
852378e0c5b5
Various nullprpl fixes. This stemmed from a complaint from a user in
Paul Aurich <darkrain42@pidgin.im>
parents:
24332
diff
changeset
|
1009 | g_list_free(seen_ids); |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1010 | purple_timeout_add(1 /* ms */, nullprpl_finish_get_roomlist, roomlist); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1011 | return roomlist; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1012 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1013 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1014 | static void nullprpl_roomlist_cancel(PurpleRoomlist *list) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1015 | purple_debug_info("nullprpl", "%s asked to cancel room list request\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1016 | list->account->username); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1017 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1018 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1019 | static void nullprpl_roomlist_expand_category(PurpleRoomlist *list, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1020 | PurpleRoomlistRoom *category) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1021 | purple_debug_info("nullprpl", "%s asked to expand room list category %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1022 | list->account->username, category->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1023 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1024 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1025 | /* nullprpl doesn't support file transfer...yet... */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1026 | static gboolean nullprpl_can_receive_file(PurpleConnection *gc, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1027 | const char *who) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1028 | return FALSE; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1029 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1030 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1031 | static gboolean nullprpl_offline_message(const PurpleBuddy *buddy) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1032 | purple_debug_info("nullprpl", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1033 | "reporting that offline messages are supported for %s\n", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1034 | buddy->name); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1035 | return TRUE; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1036 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1037 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1038 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1039 | /* |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1040 | * prpl stuff. see prpl.h for more information. |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1041 | */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1042 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1043 | static PurplePluginProtocolInfo prpl_info = |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1044 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1045 | OPT_PROTO_NO_PASSWORD | OPT_PROTO_CHAT_TOPIC, /* options */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1046 | NULL, /* user_splits, initialized in nullprpl_init() */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1047 | NULL, /* protocol_options, initialized in nullprpl_init() */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1048 | { /* icon_spec, a PurpleBuddyIconSpec */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1049 | "png,jpg,gif", /* format */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1050 | 0, /* min_width */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1051 | 0, /* min_height */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1052 | 128, /* max_width */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1053 | 128, /* max_height */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1054 | 10000, /* max_filesize */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1055 | PURPLE_ICON_SCALE_DISPLAY, /* scale_rules */ |
| 17452 | 1056 | }, |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1057 | nullprpl_list_icon, /* list_icon */ |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1058 | NULL, /* list_emblem */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1059 | nullprpl_status_text, /* status_text */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1060 | nullprpl_tooltip_text, /* tooltip_text */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1061 | nullprpl_status_types, /* status_types */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1062 | nullprpl_blist_node_menu, /* blist_node_menu */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1063 | nullprpl_chat_info, /* chat_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1064 | nullprpl_chat_info_defaults, /* chat_info_defaults */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1065 | nullprpl_login, /* login */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1066 | nullprpl_close, /* close */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1067 | nullprpl_send_im, /* send_im */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1068 | nullprpl_set_info, /* set_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1069 | nullprpl_send_typing, /* send_typing */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1070 | nullprpl_get_info, /* get_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1071 | nullprpl_set_status, /* set_status */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1072 | nullprpl_set_idle, /* set_idle */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1073 | nullprpl_change_passwd, /* change_passwd */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1074 | nullprpl_add_buddy, /* add_buddy */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1075 | nullprpl_add_buddies, /* add_buddies */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1076 | nullprpl_remove_buddy, /* remove_buddy */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1077 | nullprpl_remove_buddies, /* remove_buddies */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1078 | nullprpl_add_permit, /* add_permit */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1079 | nullprpl_add_deny, /* add_deny */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1080 | nullprpl_rem_permit, /* rem_permit */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1081 | nullprpl_rem_deny, /* rem_deny */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1082 | nullprpl_set_permit_deny, /* set_permit_deny */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1083 | nullprpl_join_chat, /* join_chat */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1084 | nullprpl_reject_chat, /* reject_chat */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1085 | nullprpl_get_chat_name, /* get_chat_name */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1086 | nullprpl_chat_invite, /* chat_invite */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1087 | nullprpl_chat_leave, /* chat_leave */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1088 | nullprpl_chat_whisper, /* chat_whisper */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1089 | nullprpl_chat_send, /* chat_send */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1090 | NULL, /* keepalive */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1091 | nullprpl_register_user, /* register_user */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1092 | nullprpl_get_cb_info, /* get_cb_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1093 | NULL, /* get_cb_away */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1094 | nullprpl_alias_buddy, /* alias_buddy */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1095 | nullprpl_group_buddy, /* group_buddy */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1096 | nullprpl_rename_group, /* rename_group */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1097 | NULL, /* buddy_free */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1098 | nullprpl_convo_closed, /* convo_closed */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1099 | nullprpl_normalize, /* normalize */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1100 | nullprpl_set_buddy_icon, /* set_buddy_icon */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1101 | nullprpl_remove_group, /* remove_group */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1102 | NULL, /* get_cb_real_name */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1103 | nullprpl_set_chat_topic, /* set_chat_topic */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1104 | NULL, /* find_blist_chat */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1105 | nullprpl_roomlist_get_list, /* roomlist_get_list */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1106 | nullprpl_roomlist_cancel, /* roomlist_cancel */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1107 | nullprpl_roomlist_expand_category, /* roomlist_expand_category */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1108 | nullprpl_can_receive_file, /* can_receive_file */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1109 | NULL, /* send_file */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1110 | NULL, /* new_xfer */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1111 | nullprpl_offline_message, /* offline_message */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1112 | NULL, /* whiteboard_prpl_ops */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1113 | NULL, /* send_raw */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1114 | NULL, /* roomlist_room_serialize */ |
|
22071
4c47e360e467
Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22069
diff
changeset
|
1115 | NULL, /* unregister_user */ |
|
4c47e360e467
Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22069
diff
changeset
|
1116 | NULL, /* send_attention */ |
|
4c47e360e467
Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22069
diff
changeset
|
1117 | NULL, /* get_attention_types */ |
|
4c47e360e467
Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22069
diff
changeset
|
1118 | sizeof(PurplePluginProtocolInfo), /* struct_size */ |
| 29977 | 1119 | NULL, /* get_account_text_table */ |
| 29795 | 1120 | NULL, /* initiate_media */ |
| 1121 | NULL, /* get_media_caps */ | |
|
31593
063dfdf8faf9
Fix comment order.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
1122 | NULL, /* get_moods */ |
|
30138
cca9685df785
Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <darkrain42@pidgin.im>
parents:
29977
diff
changeset
|
1123 | NULL, /* set_public_alias */ |
|
31595
ffc150f21bec
Update PRPL structs with new fields.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31593
diff
changeset
|
1124 | NULL, /* get_public_alias */ |
|
ffc150f21bec
Update PRPL structs with new fields.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31593
diff
changeset
|
1125 | NULL, /* add_buddy_with_invite */ |
|
38967
303c75b86d86
Add get_cb_alias() to PRPLs
David Woodhouse <dwmw2@infradead.org>
parents:
38266
diff
changeset
|
1126 | NULL, /* add_buddies_with_invite */ |
|
40426
159344ba2a49
Make PurplePluginProtocolInfo definitions consistent
David Woodhouse <dwmw2@infradead.org>
parents:
38967
diff
changeset
|
1127 | NULL, /* get_cb_alias */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1128 | }; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1129 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1130 | static void nullprpl_init(PurplePlugin *plugin) |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1131 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1132 | /* see accountopt.h for information about user splits and protocol options */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1133 | PurpleAccountUserSplit *split = purple_account_user_split_new( |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1134 | _("Example user split"), /* text shown to user */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1135 | "default", /* default value */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1136 | '@'); /* field separator */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1137 | PurpleAccountOption *option = purple_account_option_string_new( |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1138 | _("Example option"), /* text shown to user */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1139 | "example", /* pref name */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1140 | "default"); /* default value */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1141 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1142 | purple_debug_info("nullprpl", "starting up\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1143 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1144 | prpl_info.user_splits = g_list_append(NULL, split); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1145 | prpl_info.protocol_options = g_list_append(NULL, option); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1146 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1147 | /* register whisper chat command, /msg */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1148 | purple_cmd_register("msg", |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1149 | "ws", /* args: recipient and message */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1150 | PURPLE_CMD_P_DEFAULT, /* priority */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1151 | PURPLE_CMD_FLAG_CHAT, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1152 | "prpl-null", |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1153 | send_whisper, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1154 | "msg <username> <message>: send a private message, aka a whisper", |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1155 | NULL); /* userdata */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1156 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1157 | /* get ready to store offline messages */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1158 | goffline_messages = g_hash_table_new_full(g_str_hash, /* hash fn */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1159 | g_str_equal, /* key comparison fn */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1160 | g_free, /* key free fn */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1161 | NULL); /* value free fn */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1162 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1163 | _null_protocol = plugin; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1164 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1165 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1166 | static void nullprpl_destroy(PurplePlugin *plugin) { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1167 | purple_debug_info("nullprpl", "shutting down\n"); |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1168 | } |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1169 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1170 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1171 | static PurplePluginInfo info = |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1172 | { |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1173 | PURPLE_PLUGIN_MAGIC, /* magic */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1174 | PURPLE_MAJOR_VERSION, /* major_version */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1175 | PURPLE_MINOR_VERSION, /* minor_version */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1176 | PURPLE_PLUGIN_PROTOCOL, /* type */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1177 | NULL, /* ui_requirement */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1178 | 0, /* flags */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1179 | NULL, /* dependencies */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1180 | PURPLE_PRIORITY_DEFAULT, /* priority */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1181 | NULLPRPL_ID, /* id */ |
|
25002
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1182 | "Null - Testing Plugin", /* name */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1183 | DISPLAY_VERSION, /* version */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1184 | N_("Null Protocol Plugin"), /* summary */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1185 | N_("Null Protocol Plugin"), /* description */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1186 | NULL, /* author */ |
|
40a1b3360a50
Various nullprpl fixes.
Richard Laager <rlaager@pidgin.im>
parents:
24332
diff
changeset
|
1187 | PURPLE_WEBSITE, /* homepage */ |
|
17451
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1188 | NULL, /* load */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1189 | NULL, /* unload */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1190 | nullprpl_destroy, /* destroy */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1191 | NULL, /* ui_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1192 | &prpl_info, /* extra_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1193 | NULL, /* prefs_info */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1194 | nullprpl_actions, /* actions */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1195 | NULL, /* padding... */ |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1196 | NULL, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1197 | NULL, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1198 | NULL, |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1199 | }; |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1200 | |
|
02adeb73ed3b
this patch adds nullprpl, a mock protocol plugin, to the libpurple/protocols
Ryan Barrett <ryanbarrett@users.sourceforge.net>
parents:
diff
changeset
|
1201 | PURPLE_INIT_PLUGIN(null, nullprpl_init, info); |