diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-24 23:16:18 +0200 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-24 23:16:18 +0200 | 
| commit | 2945c6ff5d1848f6d8e51a0d804a2d769e6894a7 (patch) | |
| tree | 595788105189dab5270fe2b7dc4e9baffa487aed /protocols/bee_ft.c | |
| parent | ef14a83adbb9036c0006ad460c5e11882a3d7e13 (diff) | |
| parent | 593971d9ff9f246cec5af5583f29e45fee62edfe (diff) | |
Merge ui-fix (which includes killerbee (i.e. file transfers and libpurple
support)). ui-fix rewrites the complete IRC core, fixing many things that
were broken/hacky/limited so far.
The list is too long to include here, but http://wiki.bitlbee.org/UiFix
has a summary, as does doc/CHANGES and of course the full revision history.
Diffstat (limited to 'protocols/bee_ft.c')
| -rw-r--r-- | protocols/bee_ft.c | 66 | 
1 files changed, 66 insertions, 0 deletions
| diff --git a/protocols/bee_ft.c b/protocols/bee_ft.c new file mode 100644 index 00000000..1026eab3 --- /dev/null +++ b/protocols/bee_ft.c @@ -0,0 +1,66 @@ +/********************************************************************\ +* BitlBee -- An IRC to other IM-networks gateway                     * +*                                                                    * +* Copyright 2010 Wilmer van der Gaast <wilmer@gaast.net>             * +\********************************************************************/ + +/* +  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 +*/ + +#define BITLBEE_CORE +#include "bitlbee.h" +#include "ft.h" + +file_transfer_t *imcb_file_send_start( struct im_connection *ic, char *handle, char *file_name, size_t file_size ) +{ +	bee_t *bee = ic->bee;  +	bee_user_t *bu = bee_user_by_handle( bee, ic, handle ); +	 +	if( bee->ui->ft_in_start ) +		return bee->ui->ft_in_start( bee, bu, file_name, file_size ); +	else +		return NULL; +} + +gboolean imcb_file_recv_start( struct im_connection *ic, file_transfer_t *ft ) +{ +	bee_t *bee = ic->bee; +	 +	if( bee->ui->ft_out_start ) +		return bee->ui->ft_out_start( ic, ft ); +	else +		return FALSE; +} + +void imcb_file_canceled( struct im_connection *ic, file_transfer_t *file, char *reason ) +{ +	bee_t *bee = ic->bee; +	 +	if( file->canceled ) +		file->canceled( file, reason ); +	 +	if( bee->ui->ft_close ) +		bee->ui->ft_close( ic, file ); +} + +void imcb_file_finished( struct im_connection *ic, file_transfer_t *file ) +{ +	bee_t *bee = ic->bee; +	 +	if( bee->ui->ft_finished ) +		bee->ui->ft_finished( ic, file ); +} | 
