diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/Cargo.toml | 2 | ||||
-rw-r--r-- | base/src/context.rs | 10 | ||||
-rw-r--r-- | base/src/dummy.rs | 3 | ||||
-rw-r--r-- | base/src/lib.rs | 6 |
4 files changed, 16 insertions, 5 deletions
diff --git a/base/Cargo.toml b/base/Cargo.toml index 541de02..f82cff0 100644 --- a/base/Cargo.toml +++ b/base/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ilc-base" -version = "0.1.2" +version = "0.2.0" description = "IRC log converter/collector/cruncher" homepage = "https://github.com/tilpner/ilc" license = "Apache-2.0" diff --git a/base/src/context.rs b/base/src/context.rs index 4393457..fe264ab 100644 --- a/base/src/context.rs +++ b/base/src/context.rs @@ -7,3 +7,13 @@ pub struct Context { pub override_date: Option<NaiveDate>, pub channel: Option<String>, } + +impl Default for Context { + fn default() -> Context { + Context { + timezone: FixedOffset::west(0), + override_date: None, + channel: None, + } + } +} diff --git a/base/src/dummy.rs b/base/src/dummy.rs index 9317c4e..a0ab8b4 100644 --- a/base/src/dummy.rs +++ b/base/src/dummy.rs @@ -18,10 +18,11 @@ use std::io::BufRead; use event::Event; use context::Context; +#[derive(Copy, Clone)] pub struct Dummy; impl ::Decode for Dummy { - fn decode<'a>(&'a mut self, + fn decode<'a>(&'a self, _context: &'a Context, _input: &'a mut BufRead) -> Box<Iterator<Item = ::Result<Event<'a>>> + 'a> { diff --git a/base/src/lib.rs b/base/src/lib.rs index 1f56dcd..f2777e3 100644 --- a/base/src/lib.rs +++ b/base/src/lib.rs @@ -26,7 +26,7 @@ pub mod dummy; use std::io::{BufRead, Write}; pub use context::Context; -pub use event::Event; +pub use event::{Event, Time}; pub use error::*; pub trait Encode { @@ -37,8 +37,8 @@ pub trait Encode { -> error::Result<()>; } -pub trait Decode { - fn decode<'a>(&'a mut self, +pub trait Decode { + fn decode<'a>(&'a self, context: &'a Context, input: &'a mut BufRead) -> Box<Iterator<Item = error::Result<Event<'a>>> + 'a>; |