angiosperm/extensions/identify_msg.c

30 lines
850 B
C

#include <stdinc.h>
#include <modules.h>
#include <msgbuf.h>
static const char identify_msg_desc[] = "Provides the solanum.chat/identify-msg client capability";
static void identmsg_outbound(void *);
unsigned int CLICAP_IDENTIFY_MSG = 0;
mapi_cap_list_av2 identmsg_cap_list[] = {
{ MAPI_CAP_CLIENT, "solanum.chat/identify-msg", NULL, &CLICAP_IDENTIFY_MSG },
{ 0, NULL, NULL, NULL }
};
static mapi_hfn_list_av1 identmsg_hfnlist[] = {
{ "outbound_msgbuf", identmsg_outbound },
{ NULL, NULL }
};
static void identmsg_outbound(void *data_)
{
hook_data *data = data_;
struct MsgBuf *msgbuf = data->arg1;
if (IsIdentified(data->client))
msgbuf_append_tag(msgbuf, "solanum.chat/identified", NULL, CLICAP_IDENTIFY_MSG);
}
DECLARE_MODULE_AV2(identify_msg, NULL, NULL, NULL, NULL, identmsg_hfnlist, identmsg_cap_list, NULL, identify_msg_desc);