summary refs log tree commit diff
path: root/server.h
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-07-10 14:54:45 -0400
committerJune McEnroe <june@causal.agency>2020-07-10 14:54:45 -0400
commit3926094bc216277ff6c58e6e9efba64fc7af91da (patch)
tree55362740094489c3e59fbc125ed181dd18cf0077 /server.h
parentAdd -l and -r options (diff)
downloadscooper-3926094bc216277ff6c58e6e9efba64fc7af91da.tar.gz
scooper-3926094bc216277ff6c58e6e9efba64fc7af91da.zip
Implement partial table output of events
This should work for both events and search pages.
Diffstat (limited to 'server.h')
-rw-r--r--server.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/server.h b/server.h
index ba08a89..bb9bc60 100644
--- a/server.h
+++ b/server.h
@@ -33,6 +33,39 @@
 
 enum { DatabaseVersion = 4 };
 
+#define ENUM_TYPE \
+	X(Privmsg, "privmsg") \
+	X(Notice, "notice") \
+	X(Action, "action") \
+	X(Join, "join") \
+	X(Part, "part") \
+	X(Quit, "quit") \
+	X(Kick, "kick") \
+	X(Nick, "nick") \
+	X(Topic, "topic") \
+	X(Ban, "ban") \
+	X(Unban, "unban")
+
+enum Type {
+#define X(id, name) id,
+	ENUM_TYPE
+#undef X
+	TypesLen,
+};
+
+struct Event {
+	int64_t event;
+	time_t time;
+	const char *network;
+	const char *context;
+	enum Type type;
+	const char *nick;
+	const char *user;
+	const char *host;
+	const char *target;
+	const char *message;
+};
+
 extern sqlite3 *db;
 
 extern const char *NetworksQuery;
@@ -143,3 +176,4 @@ enum kcgi_err htmlNav(
 	struct khtmlreq *html, const char *network, const char *context
 );
 enum kcgi_err htmlFooter(struct khtmlreq *html);
+enum kcgi_err htmlEvent(struct khtmlreq *html, struct Event event);