Sat, 12 Aug 2006 10:12:43 +0000
[gaim-migrate @ 16712]
Pretty large commit here. Basically I got sick of having to verify
that gc is still valid on all the callback functions for
gaim_proxy_connect(). The fix for this for gaim_proxy_connect() to
return something that allows the connection attempt to be canceled.
It's not quite there yet, but this is a good first step. I changed
gaim_proxy_connect() to return a reference to a new
GaimProxyConnectInfo (this used to be called PHB). Eventually this
can be passed to a function that'll cancel the connection attempt.
I also decided to add an error_cb instead of using connect_cb and
passing a file descriptor of -1. And proxy.c will also pass an
error message to callers which should explain the reason that the
connection attempt failed.
Oh, and proxy.c now never calls gaim_connection_error()
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
1 | /* This file contains macros that wrap calls to the gaim dbus module. |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
2 | These macros call the appropriate functions if the build includes |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
3 | dbus support and do nothing otherwise. See "dbus-server.h" for |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
4 | documentation. */ |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
5 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
6 | #ifndef _GAIM_DBUS_MAYBE_H_ |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
7 | #define _GAIM_DBUS_MAYBE_H_ |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
8 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
9 | #ifdef HAVE_DBUS |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
10 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
11 | #include "dbus-server.h" |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
12 | |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
13 | /* this provides a type check */ |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
14 | #define GAIM_DBUS_REGISTER_POINTER(ptr, type) { \ |
|
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
15 | type *typed_ptr = ptr; \ |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
16 | gaim_dbus_register_pointer(typed_ptr, GAIM_DBUS_TYPE(type)); \ |
|
11146
c56333373e3c
[gaim-migrate @ 13217]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11067
diff
changeset
|
17 | } |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
18 | #define GAIM_DBUS_UNREGISTER_POINTER(ptr) gaim_dbus_unregister_pointer(ptr) |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
19 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
20 | #else /* !HAVE_DBUS */ |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
21 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
22 | #define GAIM_DBUS_REGISTER_POINTER(ptr, type) |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
23 | #define GAIM_DBUS_UNREGISTER_POINTER(ptr) |
|
11171
a25653d60f9c
[gaim-migrate @ 13272]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
11146
diff
changeset
|
24 | #define DBUS_EXPORT |
|
11067
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
25 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
26 | #endif /* HAVE_DBUS */ |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
27 | |
|
b6353889a9ba
[gaim-migrate @ 13048]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents:
diff
changeset
|
28 | #endif |