comparison src/prpl.h @ 1401:bf041349b11e

[gaim-migrate @ 1411] abliity to set accounts away independent of each other. also allows for all the other states (like in yahoo and icq). probably breaks MSN, so don't use it until rob fixes it. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 10 Jan 2001 22:15:24 +0000
parents 776bb4c6c0b8
children de21a6790603
comparison
equal deleted inserted replaced
1400:476b24cdfa32 1401:bf041349b11e
38 #define OPT_PROTO_HTML 0x00000001 38 #define OPT_PROTO_HTML 0x00000001
39 /* there should be more here eventually... These should all be stuff that other 39 /* there should be more here eventually... These should all be stuff that other
40 * plugins can't do (for example, TOC and Oscar and Jabber can do HTML in messages, 40 * plugins can't do (for example, TOC and Oscar and Jabber can do HTML in messages,
41 * but IRC etc can't, so TOC/Oscar/Jabber have _HTML set but not IRC. */ 41 * but IRC etc can't, so TOC/Oscar/Jabber have _HTML set but not IRC. */
42 42
43 #define GAIM_AWAY_CUSTOM "Custom"
44
43 typedef void (*proto_init)(struct prpl *); 45 typedef void (*proto_init)(struct prpl *);
44 46
45 struct prpl { 47 struct prpl {
46 int protocol; 48 int protocol;
47 int options; 49 int options;
48 char *(* name)(); 50 char *(* name)();
49 51
50 /* returns the XPM associated with the given user class */ 52 /* returns the XPM associated with the given user class */
51 char **(* list_icon)(int); 53 char **(* list_icon)(int);
54 GList *(* away_states)();
52 55
53 /* when UI plugins come, these will have to be reconciled by returning 56 /* when UI plugins come, these will have to be reconciled by returning
54 * structs indicating what kinds of information they want displayed. */ 57 * structs indicating what kinds of information they want displayed. */
55 void (* action_menu)(GtkWidget *, struct gaim_connection *, char *); 58 void (* action_menu)(GtkWidget *, struct gaim_connection *, char *);
56 void (* user_opts)(GtkWidget *, struct aim_user *); 59 void (* user_opts)(GtkWidget *, struct aim_user *);
61 void (* login) (struct aim_user *); 64 void (* login) (struct aim_user *);
62 void (* close) (struct gaim_connection *); 65 void (* close) (struct gaim_connection *);
63 void (* send_im) (struct gaim_connection *, char *who, char *message, int away); 66 void (* send_im) (struct gaim_connection *, char *who, char *message, int away);
64 void (* set_info) (struct gaim_connection *, char *info); 67 void (* set_info) (struct gaim_connection *, char *info);
65 void (* get_info) (struct gaim_connection *, char *who); 68 void (* get_info) (struct gaim_connection *, char *who);
66 void (* set_away) (struct gaim_connection *, char *message); 69 void (* set_away) (struct gaim_connection *, char *state, char *message);
67 void (* get_away_msg) (struct gaim_connection *, char *who); 70 void (* get_away_msg) (struct gaim_connection *, char *who);
68 void (* set_dir) (struct gaim_connection *, char *first, 71 void (* set_dir) (struct gaim_connection *, char *first,
69 char *middle, 72 char *middle,
70 char *last, 73 char *last,
71 char *maiden, 74 char *maiden,