diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-31 22:32:25 -0400 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-31 22:32:25 -0400 | 
| commit | 81e04e162bdc4517b2f357fd16dfd76f68245464 (patch) | |
| tree | 9c916915ff7b5e46b6316f032871815a5e79de02 /protocols/account.c | |
| parent | 10a96f44efbeb6af09e2728926ce15b6bda12131 (diff) | |
nogaim.c is close to doing something useful again without speaking any IRC
itself.
Diffstat (limited to 'protocols/account.c')
| -rw-r--r-- | protocols/account.c | 36 | 
1 files changed, 19 insertions, 17 deletions
| diff --git a/protocols/account.c b/protocols/account.c index c549c866..a3c2e0d7 100644 --- a/protocols/account.c +++ b/protocols/account.c @@ -28,26 +28,26 @@  #include "account.h"  #include "chat.h" -account_t *account_add( irc_t *irc, struct prpl *prpl, char *user, char *pass ) +account_t *account_add( bee_t *bee, struct prpl *prpl, char *user, char *pass )  {  	account_t *a;  	set_t *s; -	if( irc->accounts ) +	if( bee->accounts )  	{ -		for( a = irc->accounts; a->next; a = a->next ); +		for( a = bee->accounts; a->next; a = a->next );  		a = a->next = g_new0( account_t, 1 );  	}  	else  	{ -		irc->accounts = a = g_new0 ( account_t, 1 ); +		bee->accounts = a = g_new0 ( account_t, 1 );  	}  	a->prpl = prpl;  	a->user = g_strdup( user );  	a->pass = g_strdup( pass );  	a->auto_connect = 1; -	a->irc = irc; +	a->bee = bee;  	s = set_add( &a->set, "auto_connect", "true", set_eval_account, a );  	s->flags |= ACC_SET_NOSAVE; @@ -152,7 +152,7 @@ char *set_eval_account( set_t *set, char *value )  	return SET_INVALID;  } -account_t *account_get( irc_t *irc, char *id ) +account_t *account_get( bee_t *bee, char *id )  {  	account_t *a, *ret = NULL;  	char *handle, *s; @@ -168,7 +168,7 @@ account_t *account_get( irc_t *irc, char *id )  		if( ( proto = find_protocol( id ) ) )  		{ -			for( a = irc->accounts; a; a = a->next ) +			for( a = bee->accounts; a; a = a->next )  				if( a->prpl == proto &&  				    a->prpl->handle_cmp( handle, a->user ) == 0 )  					ret = a; @@ -185,14 +185,14 @@ account_t *account_get( irc_t *irc, char *id )  	if( sscanf( id, "%d", &nr ) == 1 && nr < 1000 )  	{ -		for( a = irc->accounts; a; a = a->next ) +		for( a = bee->accounts; a; a = a->next )  			if( ( nr-- ) == 0 )  				return( a );  		return( NULL );  	} -	for( a = irc->accounts; a; a = a->next ) +	for( a = bee->accounts; a; a = a->next )  	{  		if( g_strcasecmp( id, a->prpl->name ) == 0 )  		{ @@ -213,7 +213,7 @@ account_t *account_get( irc_t *irc, char *id )  	return( ret );  } -void account_del( irc_t *irc, account_t *acc ) +void account_del( bee_t *bee, account_t *acc )  {  	account_t *a, *l = NULL;  	struct chat *c, *nc; @@ -222,20 +222,22 @@ void account_del( irc_t *irc, account_t *acc )  		/* Caller should have checked, accounts still in use can't be deleted. */  		return; -	for( a = irc->accounts; a; a = (l=a)->next ) +	for( a = bee->accounts; a; a = (l=a)->next )  		if( a == acc )  		{  			if( l )  				l->next = a->next;  			else -				irc->accounts = a->next; +				bee->accounts = a->next; -			for( c = irc->chatrooms; c; c = nc ) +			/** FIXME +			for( c = bee->chatrooms; c; c = nc )  			{  				nc = c->next;  				if( acc == c->acc ) -					chat_del( irc, c ); +					chat_del( bee, c );  			} +			*/  			while( a->set )  				set_del( &a->set, a->set->key ); @@ -253,7 +255,7 @@ void account_del( irc_t *irc, account_t *acc )  		}  } -void account_on( irc_t *irc, account_t *a ) +void account_on( bee_t *bee, account_t *a )  {  	if( a->ic )  	{ @@ -267,7 +269,7 @@ void account_on( irc_t *irc, account_t *a )  	a->prpl->login( a );  } -void account_off( irc_t *irc, account_t *a ) +void account_off( bee_t *bee, account_t *a )  {  	imc_logout( a->ic, FALSE );  	a->ic = NULL; @@ -335,7 +337,7 @@ char *set_eval_account_reconnect_delay( set_t *set, char *value )  int account_reconnect_delay( account_t *a )  { -	char *setting = set_getstr( &a->irc->b->set, "auto_reconnect_delay" ); +	char *setting = set_getstr( &a->bee->set, "auto_reconnect_delay" );  	struct account_reconnect_delay p;  	if( account_reconnect_delay_parse( setting, &p ) ) | 
