src/core.h

Fri, 14 Mar 2003 11:38:21 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Fri, 14 Mar 2003 11:38:21 +0000
changeset 4770
be590660a9c2
parent 4732
a0857625cadb
child 5032
2276c67b0243
permissions
-rw-r--r--

[gaim-migrate @ 5088]
I want to go to sleep. This is drag-n-drop moving of buddies in the list.
I think it works, but I didn't actually test it... I really should have though;
I can't imagine it working fine as-is. ;)

I'm holding off on the rest of my Edit Buddy List stuff for tomorrow... I love
last minute things, don't I?

Note: I created gaim_blist_members and gaim_blist_groups to reproduce the
effects of the old groups GSList and the members GSList of the group struct
that I removed. This is really sub-optimal and should be replaced to iterate
the Buddy List directly. If someone wants to do that, please do. Even if you
don't want to do that, just review the changes I made and make sure I didn't
do anything stupid. It is past 6am and I'm a bit tired and prone to mistake
making.

Thanks.

2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 /*
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 * gaim
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 *
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 *
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * (at your option) any later version.
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 *
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 * GNU General Public License for more details.
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 *
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 *
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 */
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 #ifndef _CORE_H_
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 #define _CORE_H_
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 #ifdef HAVE_CONFIG_H
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 #include <config.h>
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 #endif
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3510
diff changeset
29 #include <sys/types.h>
3370
463e18cf01e8 [gaim-migrate @ 3389]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
30 #ifdef HAVE_ICONV
3367
cb32334700d2 [gaim-migrate @ 3386]
Sean Egan <seanegan@pidgin.im>
parents: 3205
diff changeset
31 #include <iconv.h>
3370
463e18cf01e8 [gaim-migrate @ 3389]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
32 #endif
463e18cf01e8 [gaim-migrate @ 3389]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
33
463e18cf01e8 [gaim-migrate @ 3389]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
34 #ifdef HAVE_LANGINFO_CODESET
3367
cb32334700d2 [gaim-migrate @ 3386]
Sean Egan <seanegan@pidgin.im>
parents: 3205
diff changeset
35 #include <langinfo.h>
3370
463e18cf01e8 [gaim-migrate @ 3389]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
36 #endif
463e18cf01e8 [gaim-migrate @ 3389]
Sean Egan <seanegan@pidgin.im>
parents: 3367
diff changeset
37
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 #include <stdio.h>
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 #include <time.h>
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 #include <glib.h>
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 #ifdef GAIM_PLUGINS
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 #include <gmodule.h>
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 #endif
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4359
diff changeset
45 struct gaim_account;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4349
diff changeset
46 struct group;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4349
diff changeset
47 struct buddy;
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4349
diff changeset
48
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4349
diff changeset
49
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50 #include "multi.h"
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4349
diff changeset
51 #include "conversation.h"
4514
40e3588a280f [gaim-migrate @ 4792]
Christian Hammond <chipx86@chipx86.com>
parents: 4491
diff changeset
52 #include "ft.h"
4687
91ad36873636 [gaim-migrate @ 4998]
Sean Egan <seanegan@pidgin.im>
parents: 4634
diff changeset
53 #include "privacy.h"
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54
2501
5e1fa4926c93 [gaim-migrate @ 2514]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2447
diff changeset
55 /* Really user states are controlled by the PRPLs now. We just use this for event_away */
5e1fa4926c93 [gaim-migrate @ 2514]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2447
diff changeset
56 #define UC_UNAVAILABLE 1
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
57
3205
d7df8ab0a306 [gaim-migrate @ 3222]
Sean Egan <seanegan@pidgin.im>
parents: 3136
diff changeset
58 /* This is far too long to be practical, but MSN users are probably used to long aliases */
d7df8ab0a306 [gaim-migrate @ 3222]
Sean Egan <seanegan@pidgin.im>
parents: 3136
diff changeset
59 #define SELF_ALIAS_LEN 400
d7df8ab0a306 [gaim-migrate @ 3222]
Sean Egan <seanegan@pidgin.im>
parents: 3136
diff changeset
60
4491
715515ab95da [gaim-migrate @ 4766]
Nathan Walp <nwalp@pidgin.im>
parents: 4359
diff changeset
61 struct gaim_account {
2442
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
62 char username[64];
3205
d7df8ab0a306 [gaim-migrate @ 3222]
Sean Egan <seanegan@pidgin.im>
parents: 3136
diff changeset
63 char alias[SELF_ALIAS_LEN];
2442
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
64 char password[32];
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
65 char user_info[2048];
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
66 int options;
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
67 int protocol;
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
68 /* prpls can use this to save information about the user,
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
69 * like which server to connect to, etc */
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
70 char proto_opt[7][256];
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
71
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
72 /* buddy icon file */
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
73 char iconfile[256];
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
74
4634
c4318fc60090 [gaim-migrate @ 4941]
Nathan Walp <nwalp@pidgin.im>
parents: 4514
diff changeset
75 struct gaim_proxy_info *gpi;
c4318fc60090 [gaim-migrate @ 4941]
Nathan Walp <nwalp@pidgin.im>
parents: 4514
diff changeset
76
2442
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
77 struct gaim_connection *gc;
3510
eb451ec1bf1c [gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents: 3484
diff changeset
78 gboolean connecting;
4349
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4298
diff changeset
79
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4298
diff changeset
80 GSList *permit;
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4298
diff changeset
81 GSList *deny;
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4298
diff changeset
82 int permdeny;
2442
9730667e5053 [gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2440
diff changeset
83 };
4349
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4298
diff changeset
84
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85 enum gaim_event {
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
86 event_signon = 0,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
87 event_signoff,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
88 event_away,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
89 event_back,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
90 event_im_recv,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91 event_im_send,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
92 event_buddy_signon,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
93 event_buddy_signoff,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
94 event_buddy_away,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
95 event_buddy_back,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
96 event_buddy_idle,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
97 event_buddy_unidle,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98 event_blist_update,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
99 event_chat_invited,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100 event_chat_join,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
101 event_chat_leave,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
102 event_chat_buddy_join,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
103 event_chat_buddy_leave,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
104 event_chat_recv,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
105 event_chat_send,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106 event_warned,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
107 event_error,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
108 event_quit,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
109 event_new_conversation,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
110 event_set_info,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
111 event_draw_menu,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
112 event_im_displayed_sent,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
113 event_im_displayed_rcvd,
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
114 event_chat_send_invite,
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2920
diff changeset
115 event_got_typing,
3461
0a08212ccb02 [gaim-migrate @ 3510]
Sean Egan <seanegan@pidgin.im>
parents: 3370
diff changeset
116 event_del_conversation,
3510
eb451ec1bf1c [gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents: 3484
diff changeset
117 event_connecting,
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
118 /* any others? it's easy to add... */
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
119 };
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
121 struct UI {
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
122 GIOChannel *channel;
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
123 guint inpa;
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
124 };
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
125
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
126 #define USE_PLUGINS GAIM_PLUGINS || USE_PERL
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
127 #define PLUGIN_API_VERSION 1
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
128 enum gaim_plugin_type {
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
129 perl_script,
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
130 plugin
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
131 };
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
132
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
133 struct gaim_plugin_description {
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
134 int api_version;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
135 gchar *name;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
136 gchar *version;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
137 gchar *description;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
138 gchar *authors;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
139 gchar *url;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
140 gchar *iconfile;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
141 };
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
142
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
143 struct gaim_plugin {
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
144 enum gaim_plugin_type type;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
145 void *handle;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
146 gchar path[128];
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
147 struct gaim_plugin_description desc;
3563
ea2789c8077c [gaim-migrate @ 3658]
Sean Egan <seanegan@pidgin.im>
parents: 3551
diff changeset
148 gchar error[128];
3565
66a8f8dcaacc [gaim-migrate @ 3660]
Sean Egan <seanegan@pidgin.im>
parents: 3563
diff changeset
149 void *iter;
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
150 };
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
151
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
152 #ifdef GAIM_PLUGINS
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
153 struct gaim_callback {
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
154 GModule *handle;
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
155 enum gaim_event event;
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
156 void *function;
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
157 void *data;
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
158 };
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
159 #endif
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
160
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
161 /* Globals in core.c */
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
162 extern GSList *uis;
3484
591ff9fc19ce [gaim-migrate @ 3538]
Etan Reisner <deryni@pidgin.im>
parents: 3478
diff changeset
163 extern int gaim_session;
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
164
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
165 /* Globals in plugins.c */
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
166 extern GList *plugins;
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
167 extern GList *probed_plugins;
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
168 extern GList *callbacks;
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
169
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
170 /* Functions in core.c */
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
171 extern gint UI_write(struct UI *, guchar *, int);
2447
945722ca9419 [gaim-migrate @ 2460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2443
diff changeset
172 extern void UI_build_write(struct UI *, guchar, guchar, ...);
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
173 extern void UI_broadcast(guchar *data, int);
2447
945722ca9419 [gaim-migrate @ 2460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2443
diff changeset
174 extern void UI_build_broadcast(guchar, guchar, ...);
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
175 /* Don't ever use these; when gaim-core is done these will be
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
176 * merged into the core's main() and won't be called directly */
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
177 extern int core_main();
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
178 extern void core_quit();
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
179
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
180 /* Functions in gaimrc.c */
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
181 extern void load_prefs();
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
182 extern void save_prefs();
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
183
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
184 /* Functions in perl.c */
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
185 #ifdef USE_PERL
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
186 extern void perl_end();
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3510
diff changeset
187 extern int perl_event(enum gaim_event, void *, void *, void *, void *, void *);
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
188 extern int perl_load_file(char *);
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
189 extern void perl_unload_file(struct gaim_plugin *);
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
190 extern void unload_perl_scripts();
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
191 extern void list_perl_scripts();
4298
af01cbb94efe [gaim-migrate @ 4552]
Sean Egan <seanegan@pidgin.im>
parents: 4227
diff changeset
192 extern struct gaim_plugin *probe_perl(char *);
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
193 #endif
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
194
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
195 /* Functions in plugins.c */
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
196 #ifdef GAIM_PLUGINS
3466
db8d35ad8480 [gaim-migrate @ 3516]
Sean Egan <seanegan@pidgin.im>
parents: 3461
diff changeset
197 extern struct gaim_plugin *load_plugin(const char *);
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
198 extern void unload_plugin(struct gaim_plugin *);
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
199 extern struct gaim_plugin *reload_plugin(struct gaim_plugin *);
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
200 extern void gaim_signal_connect(GModule *, enum gaim_event, void *, void *);
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
201 extern void gaim_signal_disconnect(GModule *, enum gaim_event, void *);
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
202 extern void gaim_plugin_unload(GModule *);
2440
4b79f56fcc93 [gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2438
diff changeset
203 extern void remove_all_plugins();
2435
dd274490e14b [gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2417
diff changeset
204 #endif
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3517
diff changeset
205 extern void gaim_probe_plugins();
3517
ef03be2348a5 [gaim-migrate @ 3590]
Sean Egan <seanegan@pidgin.im>
parents: 3510
diff changeset
206 extern int plugin_event(enum gaim_event, ...);
2511
cea8ce69dec0 [gaim-migrate @ 2524]
Dennis Lambe Jr. <malsyned@users.sourceforge.net>
parents: 2501
diff changeset
207 extern char *event_name(enum gaim_event);
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
208
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
209 /* Functions in server.c */
4732
a0857625cadb [gaim-migrate @ 5047]
Nathan Walp <nwalp@pidgin.im>
parents: 4687
diff changeset
210 extern void serv_got_update(struct gaim_connection *, char *, int, int, time_t, time_t, int);
2856
046ed5e89321 [gaim-migrate @ 2869]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2753
diff changeset
211 extern void serv_got_im(struct gaim_connection *, char *, char *, guint32, time_t, gint);
3768
bb6cc9d30511 [gaim-migrate @ 3907]
Nathan Walp <nwalp@pidgin.im>
parents: 3565
diff changeset
212 extern void serv_got_typing(struct gaim_connection *, char *, int, int);
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2920
diff changeset
213 extern void serv_got_typing_stopped(struct gaim_connection *, char *);
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
214 extern void serv_got_eviled(struct gaim_connection *, char *, int);
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
215 extern void serv_got_chat_invite(struct gaim_connection *, char *, char *, char *, GList *);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4349
diff changeset
216 extern struct gaim_conversation *serv_got_joined_chat(struct gaim_connection *, int, char *);
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
217 extern void serv_got_chat_left(struct gaim_connection *, int);
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
218 extern void serv_got_chat_in(struct gaim_connection *, int, char *, int, char *, time_t);
4227
5f98b16ed21c [gaim-migrate @ 4471]
Nathan Walp <nwalp@pidgin.im>
parents: 3768
diff changeset
219 extern void serv_got_alias(struct gaim_connection *, char *, char *);
2417
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
220 extern void serv_finish_login();
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
221
7751d1269b09 [gaim-migrate @ 2430]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
222 #endif /* _CORE_H_ */

mercurial