proxy: Add GError argument to purple_proxy_get_proxy_resolver()

Fri, 26 Aug 2016 18:50:34 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Fri, 26 Aug 2016 18:50:34 -0500
changeset 37965
b67fb3fb5f85
parent 37964
39fca28f1a6e
child 37966
956640da6944

proxy: Add GError argument to purple_proxy_get_proxy_resolver()

This patch adds GError as an argument to purple_proxy_get_proxy_resolver()
in order to give more detailed error information.

libpurple/proxy.c file | annotate | diff | comparison | revisions
libpurple/proxy.h file | annotate | diff | comparison | revisions
libpurple/purple-gio.c file | annotate | diff | comparison | revisions
--- a/libpurple/proxy.c	Sat Aug 27 18:37:48 2016 -0500
+++ b/libpurple/proxy.c	Fri Aug 26 18:50:34 2016 -0500
@@ -1027,7 +1027,7 @@
 }
 
 GProxyResolver *
-purple_proxy_get_proxy_resolver(PurpleAccount *account)
+purple_proxy_get_proxy_resolver(PurpleAccount *account, GError **error)
 {
 	PurpleProxyInfo *info = purple_proxy_get_setup(account);
 	const gchar *protocol;
@@ -1062,8 +1062,9 @@
 			break;
 
 		default:
-			purple_debug_error("proxy",
-					"Invalid Proxy type (%d) specified.\n",
+			g_set_error(error, PURPLE_CONNECTION_ERROR,
+					PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
+					_("Invalid Proxy type (%d) specified"),
 					purple_proxy_info_get_proxy_type(info));
 			return NULL;
 	}
@@ -1071,12 +1072,11 @@
 
 	if (purple_proxy_info_get_host(info) == NULL ||
 			purple_proxy_info_get_port(info) <= 0) {
-		purple_notify_error(NULL, NULL,
-				_("Invalid proxy settings"),
+		g_set_error_literal(error, PURPLE_CONNECTION_ERROR,
+				PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
 				_("Either the host name or port number "
 				"specified for your given proxy type is "
-				"invalid."),
-				purple_request_cpar_from_account( account));
+				"invalid."));
 		return NULL;
 	}
 
--- a/libpurple/proxy.h	Sat Aug 27 18:37:48 2016 -0500
+++ b/libpurple/proxy.h	Fri Aug 26 18:50:34 2016 -0500
@@ -331,6 +331,7 @@
 /**
  * purple_proxy_get_proxy_resolver:
  * @account: The account for which to get the proxy resolver.
+ * @error: Return location for a GError, or NULL.
  *
  * Returns a #GProxyResolver capable of resolving which proxy
  * to use for this account, if any. This object can be given to a
@@ -341,7 +342,8 @@
  *         account's (or system) proxy settings, or a reference to
  *         a #GProxyResolver on success.
  */
-GProxyResolver *purple_proxy_get_proxy_resolver(PurpleAccount *account);
+GProxyResolver *purple_proxy_get_proxy_resolver(PurpleAccount *account,
+		GError **error);
 
 G_END_DECLS
 
--- a/libpurple/purple-gio.c	Sat Aug 27 18:37:48 2016 -0500
+++ b/libpurple/purple-gio.c	Fri Aug 26 18:50:34 2016 -0500
@@ -113,12 +113,9 @@
 	GProxyResolver *resolver;
 	GSocketClient *client;
 
-	resolver = purple_proxy_get_proxy_resolver(account);
+	resolver = purple_proxy_get_proxy_resolver(account, error);
 
 	if (resolver == NULL) {
-		g_set_error_literal(error, PURPLE_CONNECTION_ERROR,
-				PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
-				_("Invalid proxy settings"));
 		return NULL;
 	}
 

mercurial