Mercurial > pidgin
diff src/protocols/oscar/oscar.c @ 3771:765769211688
[gaim-migrate @ 3910]
More FT cleanups by Wil Mahan. Thanks, Wil.
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Sun, 20 Oct 2002 23:46:56 +0000 |
parents | f53370197bb9 |
children | a3aca202aa04 |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Sun Oct 20 19:41:28 2002 +0000 +++ b/src/protocols/oscar/oscar.c Sun Oct 20 23:46:56 2002 +0000 @@ -53,7 +53,6 @@ #ifdef _WIN32 #include "win32dep.h" -#define NOSIGALARM #endif #include "pixmaps/protocols/oscar/ab.xpm" @@ -377,7 +376,7 @@ static int oscar_file_transfer_do(aim_session_t *, aim_frame_t *, ...); static void oscar_file_transfer_disconnect(aim_session_t *, aim_conn_t *); -static void oscar_cancel_transfer(struct gaim_connection *, +static void oscar_file_transfer_cancel(struct gaim_connection *, struct file_transfer *); static int oscar_sendfile_request(aim_session_t *sess, struct oscar_file_transfer *oft); @@ -1540,12 +1539,12 @@ aim_conn_kill(sess, &listenerconn); aim_conn_addhandler(od->sess, oft->conn, AIM_CB_FAM_OFT, - AIM_CB_OFT_GETFILEFILESEND, + AIM_CB_OFT_SENDFILEFILESEND, oscar_file_transfer_do, 0); aim_conn_addhandler(sess, conn, AIM_CB_FAM_OFT, - AIM_CB_OFT_GETFILECOMPLETE, + AIM_CB_OFT_SENDFILECOMPLETE, oscar_sendfile_out_done, 0); oft->watcher = gaim_input_add(oft->conn->fd, GAIM_INPUT_READ, @@ -1580,7 +1579,7 @@ } /* Called once at the beginning of an outgoing transfer session. */ -static void oscar_start_transfer_out(struct gaim_connection *gc, +static void oscar_file_transfer_out(struct gaim_connection *gc, struct file_transfer *xfer, const char *name, int totfiles, int totsize) { struct oscar_data *od = (struct oscar_data *)gc->proto_data; @@ -1601,14 +1600,14 @@ } aim_conn_addhandler(od->sess, oft->conn, AIM_CB_FAM_OFT, - AIM_CB_OFT_GETFILEINITIATE, + AIM_CB_OFT_SENDFILEINITIATE, oscar_sendfile_accepted, 0); oft->watcher = gaim_input_add(oft->conn->fd, GAIM_INPUT_READ, oscar_callback, oft->conn); } -static void oscar_transfer_data_chunk(struct gaim_connection *gc, +static void oscar_file_transfer_data_chunk(struct gaim_connection *gc, struct file_transfer *xfer, const char *buf, int len) { struct oscar_file_transfer *oft = find_oft_by_xfer(gc, xfer); @@ -1618,7 +1617,7 @@ aim_update_checksum(sess, oft->conn, buf, len); } -static void oscar_start_transfer_in(struct gaim_connection *gc, +static void oscar_file_transfer_in(struct gaim_connection *gc, struct file_transfer *xfer, int offset) { struct oscar_data *od = (struct oscar_data *)gc->proto_data; struct oscar_file_transfer *oft = find_oft_by_xfer(gc, xfer); @@ -1636,14 +1635,14 @@ } aim_conn_addhandler(od->sess, oft->conn, AIM_CB_FAM_OFT, - AIM_CB_OFT_GETFILEFILEREQ, oscar_file_transfer_do, + AIM_CB_OFT_SENDFILEFILEREQ, oscar_file_transfer_do, 0); oft->watcher = gaim_input_add(oft->conn->fd, GAIM_INPUT_READ, oscar_callback, oft->conn); } -static void oscar_cancel_transfer(struct gaim_connection *gc, +static void oscar_file_transfer_cancel(struct gaim_connection *gc, struct file_transfer *xfer) { struct oscar_data *od = (struct oscar_data *)gc->proto_data; struct oscar_file_transfer *oft = find_oft_by_xfer(gc, xfer); @@ -1892,12 +1891,12 @@ aim_conn_addhandler(sess, oft->conn, AIM_CB_FAM_OFT, - AIM_CB_OFT_GETFILECOMPLETE, + AIM_CB_OFT_SENDFILECOMPLETE, oscar_sendfile_out_done, 0); aim_conn_addhandler(sess, oft->conn, AIM_CB_FAM_OFT, - AIM_CB_OFT_GETFILEFILESEND, + AIM_CB_OFT_SENDFILEFILESEND, oscar_file_transfer_do, 0); oft->watcher = gaim_input_add(oft->conn->fd, @@ -4138,7 +4137,7 @@ return NULL; } -void oscar_transfer_nextfile(struct gaim_connection *gc, +void oscar_file_transfer_nextfile(struct gaim_connection *gc, struct file_transfer *xfer) { struct oscar_file_transfer *oft = find_oft_by_xfer(gc, xfer); aim_conn_t *conn = oft->conn; @@ -4159,7 +4158,7 @@ aim_oft_end(sess, conn); } -void oscar_transfer_done(struct gaim_connection *gc, +void oscar_file_transfer_done(struct gaim_connection *gc, struct file_transfer *xfer) { struct oscar_file_transfer *oft = find_oft_by_xfer(gc, xfer); aim_conn_t *conn = oft->conn; @@ -4182,10 +4181,13 @@ va_list ap; aim_conn_t *conn; struct oscar_file_transfer *oft; + struct aim_fileheader_t *fh; int err; va_start(ap, fr); conn = va_arg(ap, aim_conn_t *); + fh = va_arg(ap, struct aim_fileheader_t *); + va_end(ap); oft = find_oft_by_conn(gc, conn); @@ -4194,15 +4196,12 @@ oft->watcher = 0; if (oft->type == OFT_SENDFILE_IN) { - const char *name = va_arg(ap, const char *); - int size = va_arg(ap, int); - err = transfer_in_do(oft->xfer, conn->fd, name, size); + err = transfer_in_do(oft->xfer, conn->fd, + fh->name, fh->size); } else { - int offset = va_arg(ap, int); - err = transfer_out_do(oft->xfer, conn->fd, offset); + err = transfer_out_do(oft->xfer, conn->fd, fh->nrecvd); } - va_end(ap); if (err) { /* There was an error; cancel the transfer. */ @@ -4725,12 +4724,12 @@ ret->add_buddies = oscar_add_buddies; ret->group_buddy = oscar_move_buddy; ret->rename_group = oscar_rename_group; - ret->file_transfer_cancel = oscar_cancel_transfer; - ret->file_transfer_in = oscar_start_transfer_in; - ret->file_transfer_out = oscar_start_transfer_out; - ret->file_transfer_data_chunk = oscar_transfer_data_chunk; - ret->file_transfer_nextfile = oscar_transfer_nextfile; - ret->file_transfer_done = oscar_transfer_done; + ret->file_transfer_cancel = oscar_file_transfer_cancel; + ret->file_transfer_in = oscar_file_transfer_in; + ret->file_transfer_out = oscar_file_transfer_out; + ret->file_transfer_data_chunk = oscar_file_transfer_data_chunk; + ret->file_transfer_nextfile = oscar_file_transfer_nextfile; + ret->file_transfer_done = oscar_file_transfer_done; ret->remove_buddy = oscar_remove_buddy; ret->remove_buddies = oscar_remove_buddies; ret->add_permit = oscar_add_permit;