From 764c7d1009feda7db971ea7ac6bcb2a4acef0efc Mon Sep 17 00:00:00 2001 From: Sven Moritz Hallberg Date: Sun, 3 Feb 2008 22:30:03 +0100 Subject: OTR support, first checkin --- otr.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 otr.h (limited to 'otr.h') diff --git a/otr.h b/otr.h new file mode 100644 index 00000000..ef5453ef --- /dev/null +++ b/otr.h @@ -0,0 +1,61 @@ +#ifndef BITLBEE_PROTOCOLS_OTR_H +#define BITLBEE_PROTOCOLS_OTR_H + +#include "bitlbee.h" + + +// forward decls to avoid mutual dependencies +struct irc; +struct im_connection; +struct account; + +// 'otr' root command, hooked up in root_commands.c +void cmd_otr(struct irc *, char **args); + + +#ifdef WITH_OTR +#include +#include +#include + +/* called from main() */ +void otr_init(void); + +/* called by storage_* functions */ +void otr_load(struct irc *irc); +void otr_save(struct irc *irc); +void otr_remove(const char *nick); +void otr_rename(const char *onick, const char *nnick); + +/* called from account_add() */ +void otr_check_for_key(struct account *a); + +/* called from imcb_buddy_msg() */ +char *otr_handle_message(struct im_connection *ic, const char *handle, + const char *msg); + +/* called from imc_buddy_msg() */ +int otr_send_message(struct im_connection *ic, const char *handle, const char *msg, + int flags); + +#else + +typedef void *OtrlUserState; +typedef void *OtrlMessageAppOps; + +#define otrl_userstate_create() (NULL) +#define otrl_userstate_free(us) {} + +#define otr_init() {} +#define otr_load(irc) {} +#define otr_save(irc) {} +#define otr_remove(nick) {} +#define otr_rename(onick,nnick) {} +#define otr_check_for_key(acc) {} +#define otr_handle_msg(ic,handle,msg) (g_strdup(msg)) +#define otr_send_message(ic,h,m,f) (ic->acc->prpl->buddy_msg(ic,h,m,f)) + +void cmd_otr_nosupport(void *, char **); + +#endif +#endif -- cgit v1.2.3