diff options
author | Till Hoeppner | 2015-03-23 16:41:44 +0100 |
---|---|---|
committer | Till Hoeppner | 2015-03-23 16:41:44 +0100 |
commit | d972eed6b596d415a0aa6117a05bd107dbb8a0ae (patch) | |
tree | 824b4d8bdb40f3b89c7ceb21e20114f76d6ed895 /src/log.rs | |
download | ilc-d972eed6b596d415a0aa6117a05bd107dbb8a0ae.tar.gz ilc-d972eed6b596d415a0aa6117a05bd107dbb8a0ae.tar.xz ilc-d972eed6b596d415a0aa6117a05bd107dbb8a0ae.zip |
Initial commit.
Diffstat (limited to 'src/log.rs')
-rw-r--r-- | src/log.rs | 57 |
1 files changed, 57 insertions, 0 deletions
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<Event> +} + +/// 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 + } +} |