34 lines
761 B
Plaintext
34 lines
761 B
Plaintext
use command::{IrcCommand, IrcCommandLine, Numeric, Stringy};
|
||
|
||
pub struct SimpleIrcCommand {
|
||
command: Vec<u8>,
|
||
arguments: (Vec<Range<usize>>, Vec<u8>),
|
||
source: Vec<u8>,
|
||
}
|
||
|
||
impl IrcCommandLine for SimpleIrcCommand {
|
||
fn get_command<'a>(&'a self) -> IrcCommand<'a> {
|
||
IrcCommand::new(&self.command)
|
||
}
|
||
|
||
fn get_argument<'a>(&'a self, arg: usize) -> &'a [u8] {
|
||
&self.arguments.1[self.arguments.0[arg].clone()] // awful API there, rust.
|
||
}
|
||
|
||
fn get_argument_count(&self) -> usize {
|
||
self.arguments.0.len()
|
||
}
|
||
|
||
fn get_source(&'a self) -> &'a [u8] {
|
||
&self.source
|
||
}
|
||
}
|
||
|
||
pub struct NoIrcConnection;
|
||
|
||
impl NoIrcConnection {
|
||
fn read_command<R: Read>(reader: R) -> SimpleIrcCommand {
|
||
|
||
}
|
||
}
|
||
|