diff options
Diffstat (limited to 'src/events.rs')
-rw-r--r-- | src/events.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/events.rs b/src/events.rs new file mode 100644 index 0000000..8c474d7 --- /dev/null +++ b/src/events.rs @@ -0,0 +1,22 @@ +use ident::Ident; + +macro_rules! string_record( + ($name: ident, $( $fields: ident ),*) => ( + #[deriving(Show, Clone)] + pub struct $name { + $(pub $fields: String),* + } + ) +) + +string_record!(Welcome, source, target, msg) +string_record!(YourHost, source, target, msg) +string_record!(Created, source, target, msg) + +#[deriving(Show, Clone)] +pub enum Event { + RplWelcome(Box<Welcome>), + RplYourHost(Box<YourHost>), + RplCreated(Box<Created>), + PrivMsg(Ident, String, String) +} |