From 356ba1d9c34df3ad83a052e06cd8532caa5f40c4 Mon Sep 17 00:00:00 2001 From: Ragner Magalhaes Date: Tue, 2 Dec 2008 20:11:37 +0000 Subject: [PATCH] Connect signals Just for demonstration purposes, implement connection callbacks on c_purple.* Signed-off-by: Anderson Briglia git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1280 596f6dd7-e928-0410-a184-9e12fd12cf7e --- c_purple.c | 20 ++++++++++++++++++++ c_purple.h | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/c_purple.c b/c_purple.c index 1130a5b..4d0a740 100644 --- a/c_purple.c +++ b/c_purple.c @@ -76,3 +76,23 @@ guint glib_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunctio g_io_channel_unref(channel); return closure->result; } + +static void +signed_on(PurpleConnection *gc, gpointer null) +{ + PurpleAccount *account = purple_connection_get_account(gc); + printf("Account connected: %s %s\n", account->username, account->protocol_id); +} + +void connect_to_signals_for_demonstration_purposes_only(void) +{ + static int handle; + + purple_signal_connect(purple_connections_get_handle(), "signed-on", &handle, + PURPLE_CALLBACK(signed_on), NULL); +} + +void glib_main_loop() { + GMainLoop *loop = g_main_loop_new(NULL, 0); + g_main_loop_run(loop); +} diff --git a/c_purple.h b/c_purple.h index 84aa659..6acedd6 100644 --- a/c_purple.h +++ b/c_purple.h @@ -20,3 +20,7 @@ guint glib_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunction function, gpointer data); + +void connect_to_signals_for_demonstration_purposes_only(void); + +void glib_main_loop(void); -- 1.7.9.5