DCC cleanups - split DCC_REC to CHAT|GET|SEND_DCC_RECs. Plugins should

now be able to add whatever new DCC types.

Nick changes affect DCC chats. /WHOIS without parameters works properly
in DCC CHAT queries.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1194 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-02-10 02:02:26 +00:00 committed by cras
commit e4f7d55ce9
20 changed files with 1398 additions and 912 deletions

View file

@ -3,6 +3,12 @@
#include "dcc.h"
#define DCC_GET(dcc) \
MODULE_CHECK_CAST_MODULE(dcc, GET_DCC_REC, type, "DCC", "GET")
#define IS_DCC_GET(dcc) \
(DCC_GET(dcc) ? TRUE : FALSE)
enum {
DCC_GET_DEFAULT,
@ -11,17 +17,25 @@ enum {
DCC_GET_RESUME
};
typedef void (*DCC_GET_FUNC) (DCC_REC *);
typedef struct {
#include "dcc-file-rec.h"
int get_type; /* what to do if file exists? */
char *file; /* file name we're really moving, arg is just the reference */
unsigned int file_quoted:1; /* file name was received quoted ("file name") */
} GET_DCC_REC;
#define DCC_GET_TYPE module_get_uniq_id_str("DCC", "GET")
typedef void (*DCC_GET_FUNC) (GET_DCC_REC *);
/* handle receiving DCC - GET/RESUME. */
void cmd_dcc_receive(const char *data, DCC_GET_FUNC accept);
void cmd_dcc_receive(const char *data, DCC_GET_FUNC accept_func);
void dcc_get_connect(DCC_REC *dcc);
void dcc_get_connect(GET_DCC_REC *dcc);
char *dcc_get_download_path(const char *fname);
#define dcc_is_waiting_get(dcc) \
((dcc)->type == DCC_TYPE_GET && dcc_is_waiting_user(dcc))
void dcc_get_init(void);
void dcc_get_deinit(void);