1use minidom::Element;
2
3#[derive(Debug)]
4pub enum Event {
5 Online,
6 Disconnected,
7 Stanza(Element),
8}
9
10impl Event {
11 pub fn is_online(&self) -> bool {
12 match *self {
13 Event::Online => true,
14 _ => false,
15 }
16 }
17
18 pub fn is_stanza(&self, name: &str) -> bool {
19 match *self {
20 Event::Stanza(ref stanza) => stanza.name() == name,
21 _ => false,
22 }
23 }
24
25 pub fn as_stanza(&self) -> Option<&Element> {
26 match *self {
27 Event::Stanza(ref stanza) => Some(stanza),
28 _ => None,
29 }
30 }
31
32 pub fn into_stanza(self) -> Option<Element> {
33 match self {
34 Event::Stanza(stanza) => Some(stanza),
35 _ => None,
36 }
37 }
38}