view console/gntconn.c @ 14089:10e8eb6a4910

[gaim-migrate @ 16712] Pretty large commit here. Basically I got sick of having to verify that gc is still valid on all the callback functions for gaim_proxy_connect(). The fix for this for gaim_proxy_connect() to return something that allows the connection attempt to be canceled. It's not quite there yet, but this is a good first step. I changed gaim_proxy_connect() to return a reference to a new GaimProxyConnectInfo (this used to be called PHB). Eventually this can be passed to a function that'll cancel the connection attempt. I also decided to add an error_cb instead of using connect_cb and passing a file descriptor of -1. And proxy.c will also pass an error message to callers which should explain the reason that the connection attempt failed. Oh, and proxy.c now never calls gaim_connection_error() committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 12 Aug 2006 10:12:43 +0000
parents 841a5ffbfee4
children 81650a27f253
line wrap: on
line source

#include "notify.h"

#include "gntconn.h"
#include "gntgaim.h"

static void
gg_connection_report_disconnect(GaimConnection *gc, const char *text)
{
	char *act, *primary, *secondary;
	GaimAccount *account = gaim_connection_get_account(gc);

	act = g_strdup_printf(_("%s (%s)"), gaim_account_get_username(account),
			gaim_account_get_protocol_name(account));

	primary = g_strdup_printf(_("%s disconnected."), act);
	secondary = g_strdup_printf(_("%s was disconnected due to the following error:\n%s"),
			act, text);

	gaim_notify_error(account, _("Connection Error"), primary, secondary);

	g_free(act);
	g_free(primary);
	g_free(secondary);
}

static GaimConnectionUiOps ops = 
{
	.connect_progress = NULL,
	.connected = NULL,
	.disconnected = NULL,
	.notice = NULL,
	.report_disconnect = gg_connection_report_disconnect
};

GaimConnectionUiOps *gg_connections_get_ui_ops()
{
	return &ops;
}

void gg_connections_init()
{}

void gg_connections_uninit()
{}