Mon, 02 Jun 2003 21:51:06 +0000
[gaim-migrate @ 6094]
I've been meaning to do this for a LONG time. The conversation API now
follows the naming convention of the rest of the new APIs. I'll get some
g_return_*_if_fail() checks in there soon.
|
5034
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
1 | /** |
|
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
2 | * @file core.h Gaim Core |
|
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
3 | * @defgroup core Gaim Core |
|
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
4 | * |
| 2417 | 5 | * gaim |
| 6 | * | |
| 7 | * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 8 | * | |
| 9 | * This program is free software; you can redistribute it and/or modify | |
| 10 | * it under the terms of the GNU General Public License as published by | |
| 11 | * the Free Software Foundation; either version 2 of the License, or | |
| 12 | * (at your option) any later version. | |
| 13 | * | |
| 14 | * This program is distributed in the hope that it will be useful, | |
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 17 | * GNU General Public License for more details. | |
| 18 | * | |
| 19 | * You should have received a copy of the GNU General Public License | |
| 20 | * along with this program; if not, write to the Free Software | |
| 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 22 | */ | |
| 23 | ||
| 24 | #ifndef _CORE_H_ | |
| 25 | #define _CORE_H_ | |
| 26 | ||
| 27 | #ifdef HAVE_CONFIG_H | |
| 28 | #include <config.h> | |
| 29 | #endif | |
| 30 | ||
| 3517 | 31 | #include <sys/types.h> |
| 3370 | 32 | #ifdef HAVE_ICONV |
| 3367 | 33 | #include <iconv.h> |
| 3370 | 34 | #endif |
| 35 | ||
| 36 | #ifdef HAVE_LANGINFO_CODESET | |
| 3367 | 37 | #include <langinfo.h> |
| 3370 | 38 | #endif |
| 39 | ||
| 2417 | 40 | #include <stdio.h> |
| 41 | #include <time.h> | |
| 42 | #include <glib.h> | |
| 43 | #include <gmodule.h> | |
| 44 | ||
|
4359
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
45 | struct group; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
46 | struct buddy; |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
47 | |
|
cf899ee07d1d
[gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents:
4349
diff
changeset
|
48 | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
49 | #include "debug.h" |
| 2417 | 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 | 53 | #include "privacy.h" |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
54 | #include "plugin.h" |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
55 | #include "event.h" |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5234
diff
changeset
|
56 | #include "notify.h" |
|
5483
444117e7acd3
[gaim-migrate @ 5879]
Christian Hammond <chipx86@chipx86.com>
parents:
5449
diff
changeset
|
57 | #include "request.h" |
| 2417 | 58 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5525
diff
changeset
|
59 | /* XXX Temporary! */ |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5525
diff
changeset
|
60 | #define OPT_LOG_BUDDY_SIGNON 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5525
diff
changeset
|
61 | #define OPT_LOG_BUDDY_IDLE 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5525
diff
changeset
|
62 | #define OPT_LOG_BUDDY_AWAY 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5525
diff
changeset
|
63 | #define OPT_LOG_MY_SIGNON 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5525
diff
changeset
|
64 | |
|
2501
5e1fa4926c93
[gaim-migrate @ 2514]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2447
diff
changeset
|
65 | /* 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
|
66 | #define UC_UNAVAILABLE 1 |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
67 | |
| 3205 | 68 | /* This is far too long to be practical, but MSN users are probably used to long aliases */ |
| 69 | #define SELF_ALIAS_LEN 400 | |
| 70 | ||
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
71 | #if 0 |
|
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
72 | GaimAccount { |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
73 | char username[64]; |
| 3205 | 74 | char alias[SELF_ALIAS_LEN]; |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
75 | char password[32]; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
76 | char user_info[2048]; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
77 | int options; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
78 | int protocol; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
79 | /* prpls can use this to save information about the user, |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
80 | * like which server to connect to, etc */ |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
81 | char proto_opt[7][256]; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
82 | |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
83 | /* buddy icon file */ |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
84 | char iconfile[256]; |
|
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
85 | |
| 4634 | 86 | |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
87 | GaimConnection *gc; |
|
3510
eb451ec1bf1c
[gaim-migrate @ 3576]
Robert McQueen <robot101@debian.org>
parents:
3484
diff
changeset
|
88 | gboolean connecting; |
| 4349 | 89 | |
| 90 | GSList *permit; | |
| 91 | GSList *deny; | |
| 92 | int permdeny; | |
|
2442
9730667e5053
[gaim-migrate @ 2455]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2440
diff
changeset
|
93 | }; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
94 | #endif |
| 4349 | 95 | |
|
5525
56f0d80d860a
[gaim-migrate @ 5925]
Christian Hammond <chipx86@chipx86.com>
parents:
5483
diff
changeset
|
96 | /* XXX Temporary, until we have better account-specific prefs. */ |
|
56f0d80d860a
[gaim-migrate @ 5925]
Christian Hammond <chipx86@chipx86.com>
parents:
5483
diff
changeset
|
97 | #define GAIM_ACCOUNT_CHECK_MAIL(account) \ |
|
56f0d80d860a
[gaim-migrate @ 5925]
Christian Hammond <chipx86@chipx86.com>
parents:
5483
diff
changeset
|
98 | ((account)->options & OPT_ACCT_MAIL_CHECK) |
|
56f0d80d860a
[gaim-migrate @ 5925]
Christian Hammond <chipx86@chipx86.com>
parents:
5483
diff
changeset
|
99 | |
|
2440
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
100 | struct UI { |
|
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
101 | GIOChannel *channel; |
|
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
102 | guint inpa; |
|
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
103 | }; |
|
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
104 | |
|
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
105 | /* Globals in core.c */ |
|
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
106 | extern GSList *uis; |
| 3484 | 107 | extern int gaim_session; |
|
2440
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
108 | |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
109 | /* Functions in core.c */ |
|
2440
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
110 | extern gint UI_write(struct UI *, guchar *, int); |
|
2447
945722ca9419
[gaim-migrate @ 2460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2443
diff
changeset
|
111 | extern void UI_build_write(struct UI *, guchar, guchar, ...); |
|
2440
4b79f56fcc93
[gaim-migrate @ 2453]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2438
diff
changeset
|
112 | extern void UI_broadcast(guchar *data, int); |
|
2447
945722ca9419
[gaim-migrate @ 2460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2443
diff
changeset
|
113 | extern void UI_build_broadcast(guchar, guchar, ...); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
114 | /* 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
|
115 | * 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
|
116 | extern int core_main(); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
117 | extern void core_quit(); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
118 | |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
119 | /* Functions in gaimrc.c */ |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
120 | extern void load_prefs(); |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4770
diff
changeset
|
121 | extern void load_pounces(); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
122 | extern void save_prefs(); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
123 | |
| 2417 | 124 | /* Functions in server.c */ |
|
5630
a05d97d87690
[gaim-migrate @ 6037]
Mark Doliner <markdoliner@pidgin.im>
parents:
5563
diff
changeset
|
125 | extern void serv_got_update(GaimConnection *, const char *, int, int, time_t, time_t, int); |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
126 | extern void serv_got_im(GaimConnection *, const char *, const char *, guint32, time_t, gint); |
|
5630
a05d97d87690
[gaim-migrate @ 6037]
Mark Doliner <markdoliner@pidgin.im>
parents:
5563
diff
changeset
|
127 | extern void serv_got_typing(GaimConnection *, const char *, int, int); |
|
a05d97d87690
[gaim-migrate @ 6037]
Mark Doliner <markdoliner@pidgin.im>
parents:
5563
diff
changeset
|
128 | extern void serv_got_typing_stopped(GaimConnection *, const char *); |
|
a05d97d87690
[gaim-migrate @ 6037]
Mark Doliner <markdoliner@pidgin.im>
parents:
5563
diff
changeset
|
129 | extern void serv_got_eviled(GaimConnection *, const char *, int); |
|
a05d97d87690
[gaim-migrate @ 6037]
Mark Doliner <markdoliner@pidgin.im>
parents:
5563
diff
changeset
|
130 | extern void serv_got_chat_invite(GaimConnection *, const char *, const char *, const char *, GHashTable *); |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5630
diff
changeset
|
131 | extern GaimConversation *serv_got_joined_chat(GaimConnection *, int, const char *); |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
132 | extern void serv_got_chat_left(GaimConnection *, int); |
|
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5545
diff
changeset
|
133 | extern void serv_got_chat_in(GaimConnection *, int, char *, int, char *, time_t); |
|
5630
a05d97d87690
[gaim-migrate @ 6037]
Mark Doliner <markdoliner@pidgin.im>
parents:
5563
diff
changeset
|
134 | extern void serv_got_alias(GaimConnection *, const char *, const char *); |
| 2417 | 135 | extern void serv_finish_login(); |
| 136 | ||
| 137 | #endif /* _CORE_H_ */ |