diff libpurple/connection.c @ 20067:143c6f34c6eb

Create purple_connection_reason_is_fatal, which is basically a replacement for checking PurpleConnection.wants_to_die.
author Will Thompson <will.thompson@collabora.co.uk>
date Mon, 17 Sep 2007 15:30:51 +0000
parents 95b2b7a39585
children affc480cc570
line wrap: on
line diff
--- a/libpurple/connection.c	Mon Sep 17 15:23:29 2007 +0000
+++ b/libpurple/connection.c	Mon Sep 17 15:30:51 2007 +0000
@@ -524,6 +524,34 @@
 			purple_connection_get_account(gc));
 }
 
+gboolean
+purple_connection_reason_is_fatal (PurpleDisconnectReason reason)
+{
+	switch (reason)
+	{
+		case PURPLE_REASON_NONE_SPECIFIED:
+		case PURPLE_REASON_NETWORK_ERROR:
+			return FALSE;
+		case PURPLE_REASON_REQUESTED:
+		case PURPLE_REASON_AUTHENTICATION_FAILED:
+		case PURPLE_REASON_ENCRYPTION_ERROR:
+		case PURPLE_REASON_NAME_IN_USE:
+		case PURPLE_REASON_CERT_NOT_PROVIDED:
+		case PURPLE_REASON_CERT_UNTRUSTED:
+		case PURPLE_REASON_CERT_EXPIRED:
+		case PURPLE_REASON_CERT_NOT_ACTIVATED:
+		case PURPLE_REASON_CERT_HOSTNAME_MISMATCH:
+		case PURPLE_REASON_CERT_FINGERPRINT_MISMATCH:
+		case PURPLE_REASON_CERT_SELF_SIGNED:
+		case PURPLE_REASON_CERT_OTHER_ERROR:
+		case PURPLE_REASON_OTHER_ERROR:
+			return TRUE;
+		default:
+			g_assert_not_reached ();
+			return TRUE;
+	}
+}
+
 void
 purple_connections_disconnect_all(void)
 {