Mercurial > pidgin.yaz
diff src/gaim-client.c @ 11241:66f872f30e40
[gaim-migrate @ 13404]
New shared library libgaim-client, which provides C bindings to
communicate with gaim.
committer: Tailor Script <tailor@pidgin.im>
author | Piotr Zielinski <zielaj> |
---|---|
date | Fri, 12 Aug 2005 16:56:45 +0000 |
parents | |
children | 421a8523ad04 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gaim-client.c Fri Aug 12 16:56:45 2005 +0000 @@ -0,0 +1,56 @@ +#define DBUS_API_SUBJECT_TO_CHANGE + +#include <dbus/dbus-glib.h> +#include <stdio.h> +#include <stdlib.h> + +#include "dbus-gaim.h" +#include "gaim-client-bindings.h" + +static DBusGConnection *bus; +static DBusGProxy *gaim_proxy; + +#include "gaim-client-bindings.c" + +static void lose (const char *fmt, ...) G_GNUC_NORETURN G_GNUC_PRINTF (1, 2); +static void lose_gerror (const char *prefix, GError *error) G_GNUC_NORETURN; + +static void +lose (const char *str, ...) +{ + va_list args; + + va_start (args, str); + + vfprintf (stderr, str, args); + fputc ('\n', stderr); + + va_end (args); + + exit (1); +} + +static void +lose_gerror (const char *prefix, GError *error) +{ + lose ("%s: %s", prefix, error->message); +} + +void gaim_init(void) { + GError *error = NULL; + + g_type_init (); + + bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error); + if (!bus) + lose_gerror ("Couldn't connect to session bus", error); + + gaim_proxy = dbus_g_proxy_new_for_name (bus, + DBUS_SERVICE_GAIM, + DBUS_PATH_GAIM, + DBUS_INTERFACE_GAIM); + + if (!gaim_proxy) + lose_gerror ("Couldn't connect to the Gaim Service", error); +} +