| |
1 /* |
| |
2 * gaim |
| |
3 * |
| |
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> |
| |
5 * |
| |
6 * This program is free software; you can redistribute it and/or modify |
| |
7 * it under the terms of the GNU General Public License as published by |
| |
8 * the Free Software Foundation; either version 2 of the License, or |
| |
9 * (at your option) any later version. |
| |
10 * |
| |
11 * This program is distributed in the hope that it will be useful, |
| |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| |
14 * GNU General Public License for more details. |
| |
15 * |
| |
16 * You should have received a copy of the GNU General Public License |
| |
17 * along with this program; if not, write to the Free Software |
| |
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| |
19 * |
| |
20 */ |
| |
21 |
| |
22 #ifndef _GAIMPRPL_H_ |
| |
23 #define _GAIMPRPL_H_ |
| |
24 |
| |
25 #include "multi.h" |
| |
26 |
| |
27 #define PROTO_TOC 0 |
| |
28 #define PROTO_OSCAR 1 |
| |
29 #define PROTO_YAHOO 2 |
| |
30 #define PROTO_ICQ 3 |
| |
31 #define PROTO_MSN 4 |
| |
32 #define PROTO_IRC 5 |
| |
33 #define PROTO_FTP 6 |
| |
34 |
| |
35 struct prpl { |
| |
36 int protocol; |
| |
37 char *(* name)(); |
| |
38 |
| |
39 void (* login) (struct aim_user *); |
| |
40 void (* close) (struct gaim_connection *); |
| |
41 void (* send_im) (struct gaim_connection *, char *who, char *message, int away); |
| |
42 void (* set_info) (struct gaim_connection *, char *info); |
| |
43 void (* get_info) (struct gaim_connection *, char *who); |
| |
44 void (* set_away) (struct gaim_connection *, char *message); |
| |
45 void (* get_away_msg) (struct gaim_connection *, char *who); |
| |
46 void (* set_dir) (struct gaim_connection *, char *first, |
| |
47 char *middle, |
| |
48 char *last, |
| |
49 char *maiden, |
| |
50 char *city, |
| |
51 char *state, |
| |
52 char *country, |
| |
53 int web); |
| |
54 void (* get_dir) (struct gaim_connection *, char *who); |
| |
55 void (* dir_search) (struct gaim_connection *, char *first, |
| |
56 char *middle, |
| |
57 char *last, |
| |
58 char *maiden, |
| |
59 char *city, |
| |
60 char *state, |
| |
61 char *country, |
| |
62 char *email); |
| |
63 void (* set_idle) (struct gaim_connection *, int idletime); |
| |
64 void (* change_passwd) (struct gaim_connection *, char *old, char *new); |
| |
65 void (* add_buddy) (struct gaim_connection *, char *name); |
| |
66 void (* add_buddies) (struct gaim_connection *, GList *buddies); |
| |
67 void (* remove_buddy) (struct gaim_connection *, char *name); |
| |
68 void (* add_permit) (struct gaim_connection *, char *name); |
| |
69 void (* add_deny) (struct gaim_connection *, char *name); |
| |
70 void (* warn) (struct gaim_connection *, char *who, int anonymous); |
| |
71 void (* accept_chat) (struct gaim_connection *, int id); |
| |
72 void (* join_chat) (struct gaim_connection *, int id, char *name); |
| |
73 void (* chat_invite) (struct gaim_connection *, int id, char *who, char *message); |
| |
74 void (* chat_leave) (struct gaim_connection *, int id); |
| |
75 void (* chat_whisper) (struct gaim_connection *, int id, char *who, char *message); |
| |
76 void (* chat_send) (struct gaim_connection *, int id, char *message); |
| |
77 |
| |
78 void (* keepalive) (struct gaim_connection *); |
| |
79 }; |
| |
80 |
| |
81 extern GSList *protocols; |
| |
82 |
| |
83 void static_proto_init(); |
| |
84 |
| |
85 struct prpl *find_prpl(int); |
| |
86 |
| |
87 #endif |