iq: Wire up the Jingle parser and serialiser.

Emmanuel Gil Peyrot created

Change summary

src/iq.rs | 5 +++++
1 file changed, 5 insertions(+)

Detailed changes

src/iq.rs 🔗

@@ -8,12 +8,14 @@ use error::Error;
 use ns;
 
 use disco;
+use jingle;
 use ping;
 
 /// Lists every known payload of a `<iq/>`.
 #[derive(Debug, Clone)]
 pub enum IqPayload {
     Disco(disco::Disco),
+    Jingle(jingle::Jingle),
     Ping(ping::Ping),
 }
 
@@ -79,6 +81,8 @@ pub fn parse_iq(root: &Element) -> Result<Iq, Error> {
         } else {
             let parsed_payload = if let Ok(disco) = disco::parse_disco(elem) {
                 Some(IqPayload::Disco(disco))
+            } else if let Ok(jingle) = jingle::parse_jingle(elem) {
+                Some(IqPayload::Jingle(jingle))
             } else if let Ok(ping) = ping::parse_ping(elem) {
                 Some(IqPayload::Ping(ping))
             } else {
@@ -131,6 +135,7 @@ pub fn parse_iq(root: &Element) -> Result<Iq, Error> {
 pub fn serialise_payload(payload: &IqPayload) -> Element {
     match *payload {
         IqPayload::Disco(ref disco) => disco::serialise_disco(disco),
+        IqPayload::Jingle(ref jingle) => jingle::serialise(jingle),
         IqPayload::Ping(_) => ping::serialise_ping(),
     }
 }