diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-29 08:25:01 -0400 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-29 08:25:01 -0400 | 
| commit | 10a96f44efbeb6af09e2728926ce15b6bda12131 (patch) | |
| tree | 256bfa92a79775d4180a2c227a30512a56b39f26 /protocols/bee.h | |
| parent | 38ee0216a7058b0f227d1c32b288e041a397528a (diff) | |
Start restoring IM-related bits, added bee_user.c with basic functions
and UI callbacks.
Diffstat (limited to 'protocols/bee.h')
| -rw-r--r-- | protocols/bee.h | 73 | 
1 files changed, 68 insertions, 5 deletions
| diff --git a/protocols/bee.h b/protocols/bee.h index b25f0e08..e5c21120 100644 --- a/protocols/bee.h +++ b/protocols/bee.h @@ -1,7 +1,32 @@ -typedef struct bee_ui -{ -	void *data; -} bee_ui_t; +  /********************************************************************\ +  * BitlBee -- An IRC to other IM-networks gateway                     * +  *                                                                    * +  * Copyright 2002-2010 Wilmer van der Gaast and others                * +  \********************************************************************/ + +/* Stuff to handle, save and search buddies                             */ + +/* +  This program is free software; you can redistribute it and/or modify +  it under the terms of the GNU General Public License as published by +  the Free Software Foundation; either version 2 of the License, or +  (at your option) any later version. + +  This program is distributed in the hope that it will be useful, +  but WITHOUT ANY WARRANTY; without even the implied warranty of +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +  GNU General Public License for more details. + +  You should have received a copy of the GNU General Public License with +  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL; +  if not, write to the Free Software Foundation, Inc., 59 Temple Place, +  Suite 330, Boston, MA  02111-1307  USA +*/ + +#ifndef __BEE_H__ +#define __BEE_H__ + +struct bee_ui_funcs;  typedef struct bee  { @@ -10,9 +35,47 @@ typedef struct bee  	GSList *users;  	GSList *accounts; -	//const bee_ui_funcs_t *ui; +	const struct bee_ui_funcs *ui;  	void *ui_data;  } bee_t;  bee_t *bee_new();  void bee_free( bee_t *b ); + +typedef enum +{ +	BEE_USER_ONLINE = 1, +	BEE_USER_AWAY = 2, +} bee_user_flags_t; + +typedef struct bee_user +{ +	struct im_connection *ic; +	char *handle; +	char *fullname; +	char *group; + +	char *away; +	char *status_msg; +	 +	bee_t *bee; +	void *ui_data; +} bee_user_t; + +typedef struct bee_ui_funcs +{ +	gboolean (*user_new)( bee_t *bee, struct bee_user *bu ); +	gboolean (*user_free)( bee_t *bee, struct bee_user *bu ); +} bee_ui_funcs_t; + + +/* bee.c */ +bee_t *bee_new(); +void bee_free( bee_t *b ); + +/* bee_user.c */ +bee_user_t *bee_user_new( bee_t *bee, struct im_connection *ic, const char *handle ); +int bee_user_free( bee_t *bee, struct im_connection *ic, const char *handle ); +bee_user_t *bee_user_by_handle( bee_t *bee, struct im_connection *ic, const char *handle ); + +#endif /* __BEE_H__ */ | 
