diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/bee.c | 47 | ||||
| -rw-r--r-- | protocols/bee.h | 18 | ||||
| -rw-r--r-- | protocols/bee.o | bin | 0 -> 8692 bytes | 
3 files changed, 65 insertions, 0 deletions
| diff --git a/protocols/bee.c b/protocols/bee.c new file mode 100644 index 00000000..c6f48901 --- /dev/null +++ b/protocols/bee.c @@ -0,0 +1,47 @@ +#include "bitlbee.h" + +bee_t *bee_new() +{ +	bee_t *b = g_new0( bee_t, 1 ); +	set_t *s; +	 +	s = set_add( &b->set, "away", NULL, NULL/*set_eval_away_status*/, b ); +	s->flags |= SET_NULL_OK; +	s = set_add( &b->set, "auto_connect", "true", set_eval_bool, b ); +	s = set_add( &b->set, "auto_reconnect", "true", set_eval_bool, b ); +	s = set_add( &b->set, "auto_reconnect_delay", "5*3<900", NULL/*set_eval_account_reconnect_delay*/, b ); +	s = set_add( &b->set, "debug", "false", set_eval_bool, b ); +	s = set_add( &b->set, "password", NULL, NULL/*set_eval_password*/, b ); +	s->flags |= SET_NULL_OK; +	s = set_add( &b->set, "save_on_quit", "true", set_eval_bool, b ); +	s = set_add( &b->set, "status", NULL, NULL/*set_eval_away_status*/, b ); +	s->flags |= SET_NULL_OK; +	s = set_add( &b->set, "strip_html", "true", NULL, b ); +	 +	return b; +} + +void bee_free( bee_t *b ) +{ +	while( b->accounts ) +	{ +		account_t *acc = b->accounts->data; +		 +		/* +		if( acc->ic ) +			imc_logout( acc->ic, FALSE ); +		else if( acc->reconnect ) +			cancel_auto_reconnect( acc ); +		*/ +		 +		if( acc->ic == NULL ) +			{} //account_del( b, acc ); +		else +			/* Nasty hack, but account_del() doesn't work in this +			   case and we don't want infinite loops, do we? ;-) */ +			b->accounts = g_slist_remove( b->accounts, acc ); +	} +	 +	while( b->set ) +		set_del( &b->set, b->set->key ); +} diff --git a/protocols/bee.h b/protocols/bee.h new file mode 100644 index 00000000..b25f0e08 --- /dev/null +++ b/protocols/bee.h @@ -0,0 +1,18 @@ +typedef struct bee_ui +{ +	void *data; +} bee_ui_t; + +typedef struct bee +{ +	struct set *set; +	 +	GSList *users; +	GSList *accounts; +	 +	//const bee_ui_funcs_t *ui; +	void *ui_data; +} bee_t; + +bee_t *bee_new(); +void bee_free( bee_t *b ); diff --git a/protocols/bee.o b/protocols/bee.oBinary files differ new file mode 100644 index 00000000..38c9044f --- /dev/null +++ b/protocols/bee.o | 
