From d972eed6b596d415a0aa6117a05bd107dbb8a0ae Mon Sep 17 00:00:00 2001 From: Till Hoeppner Date: Mon, 23 Mar 2015 16:41:44 +0100 Subject: Initial commit. --- src/log.rs | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/log.rs (limited to 'src/log.rs') diff --git a/src/log.rs b/src/log.rs new file mode 100644 index 0000000..3079b38 --- /dev/null +++ b/src/log.rs @@ -0,0 +1,57 @@ +//! Common structures to represent the actual log data in memory. +//! These will be used by all formats for encoding and decoding. + +/// A whole log, in memory. This structure does not specify its +/// use. It may represent a private query, or the log of a channel. +pub struct Log { + pub entries: Vec +} + +/// All representable events, such as messages, quits, joins +/// and topic changes. +#[derive(Debug)] +pub enum Event { + Msg { + from: String, + content: String, + time: i64 + }, + Action { + from: String, + content: String, + time: i64 + }, + Join { + nick: String, + mask: String, + time: i64 + }, + Quit { + nick: String, + mask: String, + time: i64 + }, + Nick { + old: String, + new: String, + time: i64 + }, + Notice { + nick: String, + content: String, + time: i64 + }, + Kick { + kicked_nick: String, + kicking_nick: String, + kick_message: String, + time: i64 + }, + Topic { + new_topic: String, + time: i64 + }, + Mode { + time: i64 + } +} -- cgit v1.2.3