aboutsummaryrefslogtreecommitdiff
path: root/plugin_client_header.h
blob: e69b1e50094e098f7340c1ac97853ffe26232eb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <stdint.h>


enum plugin_event_type{
	PLUGIN_EVENT_MESSAGE,  // message, user, room
	PLUGIN_EVENT_ONLINE,  // user, num
	PLUGIN_EVENT_JOIN,  // user, room
	PLUGIN_EVENT_LEAVE,  // user, room
};

struct plugin_event{
	enum plugin_event_type type;
	int64_t timestamp;  // always set
	char *message,*user,*room;
	int64_t num;
};


typedef void plugin_event_func_t(const struct plugin_event *event);


// All plugins should export a function of the following signature with
// name "plugin_init_func" that returns a pointer to a function that
// receives all events.
plugin_event_func_t* plugin_init_func(void);