aboutsummaryrefslogtreecommitdiff
path: root/src/message.rs
diff options
context:
space:
mode:
authorDavid Li <li.davidm96@gmail.com>2015-10-25 10:12:35 -0400
committerDavid Li <li.davidm96@gmail.com>2015-10-25 10:12:35 -0400
commit28b395cfd770785641c49f98cc9491210271db46 (patch)
tree38776725d968491ab148a800b675f3fbd2913bb8 /src/message.rs
parent31be915ab71dcab004b64b313b20188af85c5d24 (diff)
Use notify-rust for notifications
Diffstat (limited to 'src/message.rs')
-rw-r--r--src/message.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/message.rs b/src/message.rs
index c0a766c..0617c4d 100644
--- a/src/message.rs
+++ b/src/message.rs
@@ -23,6 +23,15 @@ pub enum Message {
Push(Push)
}
+impl Message {
+ pub fn parse(message: &str) -> Option<Message> {
+ let json = json::Json::from_str(message).unwrap();
+ let mut decoder = json::Decoder::new(json);
+ let result : Result<Message, _> = Decodable::decode(&mut decoder);
+ result.ok()
+ }
+}
+
impl Decodable for Push {
fn decode<D: Decoder>(d: &mut D) -> Result<Push, D::Error> {
d.read_struct("root", 0, |d| {