From: Ragner Magalhaes Date: Tue, 2 Dec 2008 20:52:19 +0000 (+0000) Subject: Added "connection-error" signal callback. X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=commitdiff_plain;h=b4e3af9714befc9e9a71b843916a3dd48ef2c238;hp=8876038da92fb092bab29fdc149b536d0aea1264 Added "connection-error" signal callback. FIXES: - Added "connection-error" signal callback. Signed-off-by: Bruno Abinader git-svn-id: https://garage.maemo.org/svn/carman/branches/carman-0.7-beta2/python-purple@1363 596f6dd7-e928-0410-a184-9e12fd12cf7e --- diff --git a/purple.pyx b/purple.pyx index 8d0eba9..b984590 100644 --- a/purple.pyx +++ b/purple.pyx @@ -284,6 +284,11 @@ cdef class Purple: connection.c_purple_connections_get_handle(), "signed-off", &handle, signal_signed_off_cb, NULL) + elif name == "connection-error": + signals.c_purple_signal_connect( + connection.c_purple_connections_get_handle(), + "connection-error", &handle, + signal_connection_error_cb, NULL) elif name == "buddy-signed-on": signals.c_purple_signal_connect( blist.c_purple_blist_get_handle(), diff --git a/signal_cbs.pxd b/signal_cbs.pxd index 14a7434..b1bb26d 100644 --- a/signal_cbs.pxd +++ b/signal_cbs.pxd @@ -67,6 +67,38 @@ cdef void signal_signed_off_cb (connection.PurpleConnection *gc, \ except KeyError: pass +cdef void signal_connection_error_cb (connection.PurpleConnection *gc, \ + connection.PurpleConnectionError err, char *c_desc): + + short_desc = { + 0: "Network error", + 1: "Invalid username", + 2: "Authentication failed", + 3: "Authentication impossible", + 4: "No SSL support", + 5: "Encryption error", + 6: "Name in use", + 7: "Invalid settings", + 8: "SSL certificate not provided", + 9: "SSL certificate untrusted", + 10: "SSL certificate expired", + 11: "SSL certificate not activated", + 12: "SSL certificate hostname mismatch", + 13: "SSL certificate fingerprint mismatch", + 14: "SSL certificate self signed", + 15: "SSL certificate other error", + 16: "Other error" }[err] + + if c_desc == NULL: + desc = None + else: + desc = c_desc + + try: + ( signal_cbs["connection-error"])(short_desc, desc) + except KeyError: + pass + cdef void signal_buddy_signed_on_cb (blist.PurpleBuddy *buddy): cdef char *c_name = NULL cdef char *c_alias = NULL