src/prpl.h

Wed, 06 Mar 2002 00:18:02 +0000

author
Luke Schierer <lschiere@pidgin.im>
date
Wed, 06 Mar 2002 00:18:02 +0000
changeset 3012
a5c5a612c253
parent 3001
9fc89391c8fa
child 3033
1f078ab46e76
permissions
-rw-r--r--

[gaim-migrate @ 3025]
Lots of people have a problem with people who were added to their MSN reverse list while they were offline, not being prompted to add them to their allow list. Jason Willis fixed that. Also added a global buddy icon animation preference by Luke Schierer.

committer: Sean Egan <seanegan@pidgin.im>

981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 /*
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 * gaim
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * (at your option) any later version.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 * GNU General Public License for more details.
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 *
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 */
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
22 /* this file should be all that prpls need to include. therefore, by including
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
23 * this file, they should get glib, proxy, gaim_connection, prpl, etc. */
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
25 #ifndef _PRPL_H_
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
26 #define _PRPL_H_
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
27
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
28 #include "core.h"
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
29 #include "proxy.h"
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 #include "multi.h"
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 #define PROTO_TOC 0
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 #define PROTO_OSCAR 1
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 #define PROTO_YAHOO 2
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 #define PROTO_ICQ 3
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 #define PROTO_MSN 4
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 #define PROTO_IRC 5
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 #define PROTO_FTP 6
1003
be33487bc33d [gaim-migrate @ 1013]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
39 #define PROTO_VGATE 7
1083
c2200e101a47 [gaim-migrate @ 1093]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
40 #define PROTO_JABBER 8
1318
bc48e95263da [gaim-migrate @ 1328]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1083
diff changeset
41 #define PROTO_NAPSTER 9
1626
19ae93cf38ce [gaim-migrate @ 1636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1500
diff changeset
42 #define PROTO_ZEPHYR 10
2283
0f2e44c5833c [gaim-migrate @ 2293]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2275
diff changeset
43 #define PROTO_GADUGADU 11
2059
48bbd2b634e6 [gaim-migrate @ 2069]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2050
diff changeset
44 /* DON'T TAKE AN UNASSIGNED NUMBER! Talk to Eric or Rob if you'd like
48bbd2b634e6 [gaim-migrate @ 2069]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2050
diff changeset
45 * to create a new PRPL. */
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46
2162
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
47 #define PRPL_DESC(x) "Allows gaim to use the " x " protocol.\n\n" \
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
48 "Now that you have loaded this protocol, use the " \
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
49 "Account Editor to add an account that uses this " \
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
50 "protocol. You can access the Account Editor from " \
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
51 "the \"Accounts\" button on the login window or " \
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
52 "in the \"Tools\" menu in the buddy list window."
2a9f076b0af9 [gaim-migrate @ 2172]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2154
diff changeset
53
1878
ffbde9f31c65 [gaim-migrate @ 1888]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1815
diff changeset
54 #define DEFAULT_PROTO PROTO_OSCAR
ffbde9f31c65 [gaim-migrate @ 1888]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1815
diff changeset
55
1772
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
56 /* These should all be stuff that some plugins can do and others can't */
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
57 /* TOC/Oscar send HTML-encoded messages; most other protocols don't */
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2681
diff changeset
58 /* #define OPT_PROTO_HTML 0x00000001 this should be per-connection */
1772
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
59 /* TOC/Oscar have signon time, and the server's time needs to be adjusted to match
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
60 * your computer's time. We wouldn't need this if everyone used NTP. */
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
61 #define OPT_PROTO_CORRECT_TIME 0x00000002
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
62 /* Jabber lets you choose what name you want for chat. So it shouldn't be pulling
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
63 * the alias for when you're in chat; it gets annoying. */
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
64 #define OPT_PROTO_UNIQUE_CHATNAME 0x00000004
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
65 /* IRC, Jabber let you have chat room topics */
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
66 #define OPT_PROTO_CHAT_TOPIC 0x00000008
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
67 /* IRC and Zephyr don't require passwords, so there's no need for a password prompt */
c759c01bd66f [gaim-migrate @ 1782]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1769
diff changeset
68 #define OPT_PROTO_NO_PASSWORD 0x00000010
2153
f38e418776a7 [gaim-migrate @ 2163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2123
diff changeset
69 /* MSN and Yahoo notify you when you have new mail */
f38e418776a7 [gaim-migrate @ 2163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2123
diff changeset
70 #define OPT_PROTO_MAIL_CHECK 0x00000020
2411
c7c22b2cce4b [gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2334
diff changeset
71 /* Oscar and Jabber have buddy icons */
c7c22b2cce4b [gaim-migrate @ 2424]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2334
diff changeset
72 #define OPT_PROTO_BUDDY_ICON 0x00000040
1370
de786e8d0146 [gaim-migrate @ 1380]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1355
diff changeset
73
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1370
diff changeset
74 #define GAIM_AWAY_CUSTOM "Custom"
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1370
diff changeset
75
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 981
diff changeset
76 typedef void (*proto_init)(struct prpl *);
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 981
diff changeset
77
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
78 struct prpl {
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79 int protocol;
1370
de786e8d0146 [gaim-migrate @ 1380]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1355
diff changeset
80 int options;
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81 char *(* name)();
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82
2231
9d8593ab093e [gaim-migrate @ 2241]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2205
diff changeset
83 /* for ICQ and Yahoo, who have off/on per-conversation options */
2706
ac9384d37d6c [gaim-migrate @ 2719]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2681
diff changeset
84 /* char *checkbox; this should be per-connection */
2231
9d8593ab093e [gaim-migrate @ 2241]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2205
diff changeset
85
1032
c16107c10195 [gaim-migrate @ 1042]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
86 /* returns the XPM associated with the given user class */
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1003
diff changeset
87 char **(* list_icon)(int);
2501
5e1fa4926c93 [gaim-migrate @ 2514]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
88 GList *(* away_states)(struct gaim_connection *gc);
1499
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1443
diff changeset
89 GList *(* actions)();
0c3286729687 [gaim-migrate @ 1509]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1443
diff changeset
90 void (* do_action)(struct gaim_connection *, char *);
2154
7d4835b44b85 [gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2153
diff changeset
91 /* user_opts returns a GList* of g_malloc'd struct proto_user_opts */
7d4835b44b85 [gaim-migrate @ 2164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2153
diff changeset
92 GList *(* user_opts)();
2170
5c93594ff522 [gaim-migrate @ 2180]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2167
diff changeset
93 GList *(* buddy_menu)(struct gaim_connection *, char *);
2205
68c42ce8eba6 [gaim-migrate @ 2215]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2191
diff changeset
94 GList *(* chat_info)(struct gaim_connection *);
1333
bbd54f86976f [gaim-migrate @ 1343]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1318
diff changeset
95
bbd54f86976f [gaim-migrate @ 1343]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1318
diff changeset
96 /* all the server-related functions */
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
97
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
98 /* a lot of these (like get_dir) are protocol-dependent and should be removed. ones like
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
99 * set_dir (which is also protocol-dependent) can stay though because there's a dialog
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
100 * (i.e. the prpl says you can set your dir info, the ui shows a dialog and needs to call
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
101 * set_dir in order to set it) */
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
102
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
103 void (* login) (struct aim_user *);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
104 void (* close) (struct gaim_connection *);
2123
4cfdde0aa3f1 [gaim-migrate @ 2133]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2100
diff changeset
105 int (* send_im) (struct gaim_connection *, char *who, char *message, int away);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106 void (* set_info) (struct gaim_connection *, char *info);
3001
9fc89391c8fa [gaim-migrate @ 3014]
Sean Egan <seanegan@pidgin.im>
parents: 2993
diff changeset
107 int (* send_typing) (struct gaim_connection *, char *name, int typing);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
108 void (* get_info) (struct gaim_connection *, char *who);
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1370
diff changeset
109 void (* set_away) (struct gaim_connection *, char *state, char *message);
2773
3f711c709792 [gaim-migrate @ 2786]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2706
diff changeset
110 void (* get_away) (struct gaim_connection *, char *who);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
111 void (* set_dir) (struct gaim_connection *, char *first,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
112 char *middle,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
113 char *last,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
114 char *maiden,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
115 char *city,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
116 char *state,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
117 char *country,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
118 int web);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
119 void (* get_dir) (struct gaim_connection *, char *who);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120 void (* dir_search) (struct gaim_connection *, char *first,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
121 char *middle,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
122 char *last,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
123 char *maiden,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
124 char *city,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
125 char *state,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
126 char *country,
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
127 char *email);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
128 void (* set_idle) (struct gaim_connection *, int idletime);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
129 void (* change_passwd) (struct gaim_connection *, char *old, char *new);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
130 void (* add_buddy) (struct gaim_connection *, char *name);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
131 void (* add_buddies) (struct gaim_connection *, GList *buddies);
2681
73cd94b9e78e [gaim-migrate @ 2694]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2607
diff changeset
132 void (* remove_buddy) (struct gaim_connection *, char *name, char *group);
73cd94b9e78e [gaim-migrate @ 2694]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2607
diff changeset
133 void (* remove_buddies) (struct gaim_connection *, GList *buddies, char *group);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
134 void (* add_permit) (struct gaim_connection *, char *name);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
135 void (* add_deny) (struct gaim_connection *, char *name);
1038
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
136 void (* rem_permit) (struct gaim_connection *, char *name);
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
137 void (* rem_deny) (struct gaim_connection *, char *name);
850b893e1ac9 [gaim-migrate @ 1048]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1032
diff changeset
138 void (* set_permit_deny)(struct gaim_connection *);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
139 void (* warn) (struct gaim_connection *, char *who, int anonymous);
2205
68c42ce8eba6 [gaim-migrate @ 2215]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2191
diff changeset
140 void (* join_chat) (struct gaim_connection *, GList *data);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
141 void (* chat_invite) (struct gaim_connection *, int id, char *who, char *message);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
142 void (* chat_leave) (struct gaim_connection *, int id);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
143 void (* chat_whisper) (struct gaim_connection *, int id, char *who, char *message);
2167
cbb558585911 [gaim-migrate @ 2177]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2162
diff changeset
144 int (* chat_send) (struct gaim_connection *, int id, char *message);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
145 void (* keepalive) (struct gaim_connection *);
1713
3e0138242a5b [gaim-migrate @ 1723]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1626
diff changeset
146
2827
e3d10df95e74 [gaim-migrate @ 2840]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2773
diff changeset
147 /* new user registration */
2956
1836bfe768df [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2827
diff changeset
148 void (* register_user) (struct aim_user *);
1836bfe768df [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2827
diff changeset
149
1836bfe768df [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2827
diff changeset
150 /* get "chat buddy" info and away message */
1836bfe768df [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2827
diff changeset
151 void (* get_cb_info) (struct gaim_connection *, int, char *who);
1836bfe768df [gaim-migrate @ 2969]
Rob Flynn <gaim@robflynn.com>
parents: 2827
diff changeset
152 void (* get_cb_away) (struct gaim_connection *, int, char *who);
2827
e3d10df95e74 [gaim-migrate @ 2840]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2773
diff changeset
153
2607
7bcd3ea48df3 [gaim-migrate @ 2620]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2582
diff changeset
154 void (* buddy_free) (struct buddy *);
7bcd3ea48df3 [gaim-migrate @ 2620]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2582
diff changeset
155
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
156 /* this is really bad. */
2246
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2232
diff changeset
157 void (* convo_closed) (struct gaim_connection *, char *who);
8ade8b7421af [gaim-migrate @ 2256]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2232
diff changeset
158
1713
3e0138242a5b [gaim-migrate @ 1723]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1626
diff changeset
159 char *(* normalize)(const char *);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
160 };
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
161
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
162 extern GSList *protocols;
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
163
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 981
diff changeset
164 /* this is mostly just for aim.c, when it initializes the protocols */
2189
b842f11e0a05 [gaim-migrate @ 2199]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2170
diff changeset
165 extern void static_proto_init();
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
166
1000
66436e94d53f [gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 981
diff changeset
167 /* this is what should actually load the protocol. pass it the protocol's initializer */
2189
b842f11e0a05 [gaim-migrate @ 2199]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2170
diff changeset
168 extern void load_protocol(proto_init, int);
b842f11e0a05 [gaim-migrate @ 2199]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2170
diff changeset
169 extern void unload_protocol(struct prpl *);
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
170
2189
b842f11e0a05 [gaim-migrate @ 2199]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2170
diff changeset
171 extern struct prpl *find_prpl(int);
b842f11e0a05 [gaim-migrate @ 2199]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2170
diff changeset
172 extern void do_proto_menu();
2050
4e44376b2c6f [gaim-migrate @ 2060]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1920
diff changeset
173
2582
7d3056893188 [gaim-migrate @ 2595]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2541
diff changeset
174 extern void show_got_added(struct gaim_connection *, const char *,
7d3056893188 [gaim-migrate @ 2595]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2541
diff changeset
175 const char *, const char *, const char *);
7d3056893188 [gaim-migrate @ 2595]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2541
diff changeset
176
2189
b842f11e0a05 [gaim-migrate @ 2199]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2170
diff changeset
177 extern void do_ask_dialog(const char *, void *, void *, void *);
2541
0afd3aaba327 [gaim-migrate @ 2554]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2501
diff changeset
178 extern void do_prompt_dialog(const char *, const char *, void *, void *, void *);
2050
4e44376b2c6f [gaim-migrate @ 2060]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1920
diff changeset
179
2541
0afd3aaba327 [gaim-migrate @ 2554]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2501
diff changeset
180 extern void connection_has_mail(struct gaim_connection *, int, const char *, const char *, const char *);
2050
4e44376b2c6f [gaim-migrate @ 2060]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1920
diff changeset
181
2191
a40e37f5bf27 [gaim-migrate @ 2201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2189
diff changeset
182 extern void set_icon_data(struct gaim_connection *, char *, void *, int);
a40e37f5bf27 [gaim-migrate @ 2201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2189
diff changeset
183 extern void *get_icon_data(struct gaim_connection *, char *, int *);
a40e37f5bf27 [gaim-migrate @ 2201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2189
diff changeset
184
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2411
diff changeset
185 #endif /* _PRPL_H_ */

mercurial