diff --git a/src/attention.rs b/src/attention.rs index 333d19000e740c2c4d3f1543849667bfef8cc241..b72079b9599de39e50cfa2f9664ace6c6cfe531c 100644 --- a/src/attention.rs +++ b/src/attention.rs @@ -32,8 +32,8 @@ impl TryFrom for Attention { } } -impl Into for Attention { - fn into(self) -> Element { +impl From for Element { + fn from(_: Attention) -> Element { Element::builder("attention") .ns(ns::ATTENTION) .build() diff --git a/src/chatstates.rs b/src/chatstates.rs index ff1baa9563bf82dad351fcfe15aeb5002b0e9b5e..a5af910c6dca44762f9305f30f15ed5723e653b1 100644 --- a/src/chatstates.rs +++ b/src/chatstates.rs @@ -45,9 +45,9 @@ impl TryFrom for ChatState { } } -impl Into for ChatState { - fn into(self) -> Element { - Element::builder(match self { +impl From for Element { + fn from(chatstate: ChatState) -> Element { + Element::builder(match chatstate { ChatState::Active => "active", ChatState::Composing => "composing", ChatState::Gone => "gone", diff --git a/src/delay.rs b/src/delay.rs index 7b56ab7eeeff733bb0f587ea4b2e280464b804bc..b96db2bdc2440081688b5c45cf460ab622812f98 100644 --- a/src/delay.rs +++ b/src/delay.rs @@ -45,13 +45,13 @@ impl TryFrom for Delay { } } -impl Into for Delay { - fn into(self) -> Element { +impl From for Element { + fn from(delay: Delay) -> Element { Element::builder("delay") .ns(ns::DELAY) - .attr("from", self.from.and_then(|value| Some(String::from(value)))) - .attr("stamp", self.stamp.to_rfc3339()) - .append(self.data) + .attr("from", delay.from.and_then(|value| Some(String::from(value)))) + .attr("stamp", delay.stamp.to_rfc3339()) + .append(delay.data) .build() } } diff --git a/src/disco.rs b/src/disco.rs index 43727d51d82ba3ebf1d4ce1a6a04e200bee7dfb5..aee3de6ae612cacb8e40e35ef6bb66c0f8baab23 100644 --- a/src/disco.rs +++ b/src/disco.rs @@ -53,11 +53,11 @@ pub struct Feature { pub var: String, } -impl Into for Feature { - fn into(self) -> Element { +impl From for Element { + fn from(feature: Feature) -> Element { Element::builder("feature") .ns(ns::DISCO_INFO) - .attr("var", self.var) + .attr("var", feature.var) .build() } } @@ -76,14 +76,14 @@ pub struct Identity { pub name: Option, } -impl Into for Identity { - fn into(self) -> Element { +impl From for Element { + fn from(identity: Identity) -> Element { Element::builder("identity") .ns(ns::DISCO_INFO) - .attr("category", self.category) - .attr("type", self.type_) - .attr("xml:lang", self.lang) - .attr("name", self.name) + .attr("category", identity.category) + .attr("type", identity.type_) + .attr("xml:lang", identity.lang) + .attr("name", identity.name) .build() } } @@ -174,16 +174,16 @@ impl TryFrom for DiscoInfoResult { } } -impl Into for DiscoInfoResult { - fn into(self) -> Element { - for _ in self.extensions { +impl From for Element { + fn from(disco: DiscoInfoResult) -> Element { + for _ in disco.extensions { panic!("Not yet implemented!"); } Element::builder("query") .ns(ns::DISCO_INFO) - .attr("node", self.node) - .append(self.identities) - .append(self.features) + .attr("node", disco.node) + .append(disco.identities) + .append(disco.features) .build() } } diff --git a/src/ecaps2.rs b/src/ecaps2.rs index 0e92796de154b539ffd0323840d60fcba3599916..54228c8d78a9c0cd4d61033532c25fd2720712df 100644 --- a/src/ecaps2.rs +++ b/src/ecaps2.rs @@ -47,13 +47,13 @@ impl TryFrom for ECaps2 { } } -impl Into for ECaps2 { - fn into(mut self) -> Element { +impl From for Element { + fn from(mut ecaps2: ECaps2) -> Element { Element::builder("c") .ns(ns::ECAPS2) - .append(self.hashes.drain(..) - .map(|hash| hash.into()) - .collect::>()) + .append(ecaps2.hashes.drain(..) + .map(|hash| hash.into()) + .collect::>()) .build() } } diff --git a/src/eme.rs b/src/eme.rs index ee71e21c75cd96c3a888654a6602c3955a9eb769..ba07f95cef5613123e180f88bd1148cc93970510 100644 --- a/src/eme.rs +++ b/src/eme.rs @@ -35,12 +35,12 @@ impl TryFrom for ExplicitMessageEncryption { } } -impl Into for ExplicitMessageEncryption { - fn into(self) -> Element { +impl From for Element { + fn from(eme: ExplicitMessageEncryption) -> Element { Element::builder("encryption") .ns(ns::EME) - .attr("namespace", self.namespace) - .attr("name", self.name) + .attr("namespace", eme.namespace) + .attr("name", eme.name) .build() } } diff --git a/src/forwarding.rs b/src/forwarding.rs index d10860ff30a9cee175461c38b6b26eca99ff7077..3afaabdf6a1af5d36e8f22e265a3c35a2fe0a830 100644 --- a/src/forwarding.rs +++ b/src/forwarding.rs @@ -48,12 +48,12 @@ impl TryFrom for Forwarded { } } -impl Into for Forwarded { - fn into(self) -> Element { +impl From for Element { + fn from(forwarded: Forwarded) -> Element { Element::builder("forwarded") .ns(ns::FORWARD) - .append(match self.delay { Some(delay) => { let elem: Element = delay.into(); Some(elem) }, None => None }) - .append(match self.stanza { Some(stanza) => { let elem: Element = stanza.into(); Some(elem) }, None => None }) + .append(match forwarded.delay { Some(delay) => { let elem: Element = delay.into(); Some(elem) }, None => None }) + .append(match forwarded.stanza { Some(stanza) => { let elem: Element = stanza.into(); Some(elem) }, None => None }) .build() } } diff --git a/src/hashes.rs b/src/hashes.rs index 6520fede0a90e880aa2ccee3df8276b24ed615aa..bcaf94ac1e874ca641239c74a8987711364bd500 100644 --- a/src/hashes.rs +++ b/src/hashes.rs @@ -96,12 +96,12 @@ impl TryFrom for Hash { } } -impl Into for Hash { - fn into(self) -> Element { +impl From for Element { + fn from(hash: Hash) -> Element { Element::builder("hash") .ns(ns::HASHES) - .attr("algo", self.algo) - .append(base64::encode(&self.hash)) + .attr("algo", hash.algo) + .append(base64::encode(&hash.hash)) .build() } } diff --git a/src/ibb.rs b/src/ibb.rs index 969f34194fd25fe8836689b6b90d4aee4577976b..cdc9b5cdb2e5395d6fe18ce8be1478be0f64dff3 100644 --- a/src/ibb.rs +++ b/src/ibb.rs @@ -78,9 +78,9 @@ impl TryFrom for IBB { } } -impl Into for IBB { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(ibb: IBB) -> Element { + match ibb { IBB::Open { block_size, sid, stanza } => { Element::builder("open") .ns(ns::IBB) diff --git a/src/ibr.rs b/src/ibr.rs index a0c7cc723b7f0e1947a618a054e8f012b1f532fc..37c54f7b3428424a1ce8ce9b3b8704e4ea326ebe 100644 --- a/src/ibr.rs +++ b/src/ibr.rs @@ -64,16 +64,16 @@ impl TryFrom for Query { } } -impl Into for Query { - fn into(self) -> Element { +impl From for Element { + fn from(query: Query) -> Element { Element::builder("query") .ns(ns::REGISTER) - .append(if self.registered { Some(Element::builder("registered").ns(ns::REGISTER)) } else { None }) - .append(self.fields.iter().map(|(name, value)| { + .append(if query.registered { Some(Element::builder("registered").ns(ns::REGISTER)) } else { None }) + .append(query.fields.iter().map(|(name, value)| { Element::builder(name.clone()).ns(ns::REGISTER).append(value.clone()) }).collect::>()) - .append(if self.remove { Some(Element::builder("remove").ns(ns::REGISTER)) } else { None }) - .append(self.form) + .append(if query.remove { Some(Element::builder("remove").ns(ns::REGISTER)) } else { None }) + .append(query.form) .build() } } diff --git a/src/idle.rs b/src/idle.rs index 3809ff8b0e05b208291d504bf2d761caa5cd5067..51c203934056755d7a07bc771aea6837ced92d63 100644 --- a/src/idle.rs +++ b/src/idle.rs @@ -33,11 +33,11 @@ impl TryFrom for Idle { } } -impl Into for Idle { - fn into(self) -> Element { +impl From for Element { + fn from(idle: Idle) -> Element { Element::builder("idle") .ns(ns::IDLE) - .attr("since", self.since.to_rfc3339()) + .attr("since", idle.since.to_rfc3339()) .build() } } diff --git a/src/iq.rs b/src/iq.rs index 1016102194fd1bf6846be50b96d8c78afb61e546..d1078b348706686a8e1f917cc0cff0d14654ae05 100644 --- a/src/iq.rs +++ b/src/iq.rs @@ -83,9 +83,9 @@ impl TryFrom for IqGetPayload { } } -impl Into for IqGetPayload { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(payload: IqGetPayload) -> Element { + match payload { IqGetPayload::Roster(roster) => roster.into(), IqGetPayload::DiscoInfo(disco) => disco.into(), IqGetPayload::Ping(ping) => ping.into(), @@ -122,9 +122,9 @@ impl TryFrom for IqSetPayload { } } -impl Into for IqSetPayload { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(payload: IqSetPayload) -> Element { + match payload { IqSetPayload::Roster(roster) => roster.into(), IqSetPayload::IBB(ibb) => ibb.into(), IqSetPayload::Jingle(jingle) => jingle.into(), @@ -157,9 +157,9 @@ impl TryFrom for IqResultPayload { } } -impl Into for IqResultPayload { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(payload: IqResultPayload) -> Element { + match payload { IqResultPayload::Roster(roster) => roster.into(), IqResultPayload::DiscoInfo(disco) => disco.into(), IqResultPayload::MamQuery(query) => query.into(), @@ -267,16 +267,16 @@ impl TryFrom for Iq { } } -impl Into for Iq { - fn into(self) -> Element { +impl From for Element { + fn from(iq: Iq) -> Element { let mut stanza = Element::builder("iq") .ns(ns::JABBER_CLIENT) - .attr("from", self.from.and_then(|value| Some(String::from(value)))) - .attr("to", self.to.and_then(|value| Some(String::from(value)))) - .attr("id", self.id) - .attr("type", &self.payload) + .attr("from", iq.from.and_then(|value| Some(String::from(value)))) + .attr("to", iq.to.and_then(|value| Some(String::from(value)))) + .attr("id", iq.id) + .attr("type", &iq.payload) .build(); - let elem = match self.payload { + let elem = match iq.payload { IqType::Get(elem) | IqType::Set(elem) | IqType::Result(Some(elem)) => elem, diff --git a/src/jingle.rs b/src/jingle.rs index c9470326f32803c1f85c4714dd8be12f85c6993a..1d0c07f15434050eb1dfdc39c4a1ca3afaf57aac 100644 --- a/src/jingle.rs +++ b/src/jingle.rs @@ -95,17 +95,17 @@ impl TryFrom for Content { } } -impl Into for Content { - fn into(self) -> Element { +impl From for Element { + fn from(content: Content) -> Element { Element::builder("content") .ns(ns::JINGLE) - .attr("creator", self.creator) - .attr("disposition", self.disposition) - .attr("name", self.name) - .attr("senders", self.senders) - .append(self.description) - .append(self.transport) - .append(self.security) + .attr("creator", content.creator) + .attr("disposition", content.disposition) + .attr("name", content.name) + .attr("senders", content.senders) + .append(content.description) + .append(content.transport) + .append(content.security) .build() } } @@ -165,9 +165,9 @@ impl FromStr for Reason { } } -impl Into for Reason { - fn into(self) -> Element { - Element::builder(match self { +impl From for Element { + fn from(reason: Reason) -> Element { + Element::builder(match reason { Reason::AlternativeSession => "alternative-session", Reason::Busy => "busy", Reason::Cancel => "cancel", @@ -231,12 +231,11 @@ impl TryFrom for ReasonElement { } } -impl Into for ReasonElement { - fn into(self) -> Element { - let reason: Element = self.reason.into(); +impl From for Element { + fn from(reason: ReasonElement) -> Element { Element::builder("reason") - .append(reason) - .append(self.text) + .append(Element::from(reason.reason)) + .append(reason.text) .build() } } @@ -297,16 +296,16 @@ impl TryFrom for Jingle { } } -impl Into for Jingle { - fn into(self) -> Element { +impl From for Element { + fn from(jingle: Jingle) -> Element { Element::builder("jingle") .ns(ns::JINGLE) - .attr("action", self.action) - .attr("initiator", match self.initiator { Some(initiator) => Some(String::from(initiator)), None => None }) - .attr("responder", match self.responder { Some(responder) => Some(String::from(responder)), None => None }) - .attr("sid", self.sid) - .append(self.contents) - .append(self.reason) + .attr("action", jingle.action) + .attr("initiator", match jingle.initiator { Some(initiator) => Some(String::from(initiator)), None => None }) + .attr("responder", match jingle.responder { Some(responder) => Some(String::from(responder)), None => None }) + .attr("sid", jingle.sid) + .append(jingle.contents) + .append(jingle.reason) .build() } } diff --git a/src/jingle_ft.rs b/src/jingle_ft.rs index 5e070cd5e6d8f4291ebf87da8c1e31749049914c..7bd0df8d5f2462c8cd740ddb7fc8b765141b661b 100644 --- a/src/jingle_ft.rs +++ b/src/jingle_ft.rs @@ -172,57 +172,57 @@ impl TryFrom for Description { } } -impl Into for File { - fn into(self) -> Element { +impl From for Element { + fn from(file: File) -> Element { let mut root = Element::builder("file") .ns(ns::JINGLE_FT) .build(); - if let Some(date) = self.date { + if let Some(date) = file.date { root.append_child(Element::builder("date") .ns(ns::JINGLE_FT) .append(date.to_rfc3339()) .build()); } - if let Some(media_type) = self.media_type { + if let Some(media_type) = file.media_type { root.append_child(Element::builder("media-type") .ns(ns::JINGLE_FT) .append(media_type) .build()); } - if let Some(name) = self.name { + if let Some(name) = file.name { root.append_child(Element::builder("name") .ns(ns::JINGLE_FT) .append(name) .build()); } - if let Some(desc) = self.desc { + if let Some(desc) = file.desc { root.append_child(Element::builder("desc") .ns(ns::JINGLE_FT) .append(desc) .build()); } - if let Some(size) = self.size { + if let Some(size) = file.size { root.append_child(Element::builder("size") .ns(ns::JINGLE_FT) .append(format!("{}", size)) .build()); } - if let Some(range) = self.range { + if let Some(range) = file.range { root.append_child(Element::builder("range") .ns(ns::JINGLE_FT) .append(range) .build()); } - for hash in self.hashes { + for hash in file.hashes { root.append_child(hash.into()); } root } } -impl Into for Description { - fn into(self) -> Element { - let file: Element = self.file.into(); +impl From for Element { + fn from(description: Description) -> Element { + let file: Element = description.file.into(); Element::builder("description") .ns(ns::JINGLE_FT) .append(file) diff --git a/src/jingle_ibb.rs b/src/jingle_ibb.rs index 08a313297e88c1b16a5b3d9a83229679c54f0b3a..ed1c6d189ec5c5662aa4aab3682bd58cde9223a9 100644 --- a/src/jingle_ibb.rs +++ b/src/jingle_ibb.rs @@ -42,13 +42,13 @@ impl TryFrom for Transport { } } -impl Into for Transport { - fn into(self) -> Element { +impl From for Element { + fn from(transport: Transport) -> Element { Element::builder("transport") .ns(ns::JINGLE_IBB) - .attr("block-size", self.block_size) - .attr("sid", self.sid) - .attr("stanza", self.stanza) + .attr("block-size", transport.block_size) + .attr("sid", transport.sid) + .attr("stanza", transport.stanza) .build() } } diff --git a/src/jingle_s5b.rs b/src/jingle_s5b.rs index 603dbb242f7246e7ed4e388e3d895f90bb31020d..268529047efa6b0eb497cdf3f8752c7c247db109 100644 --- a/src/jingle_s5b.rs +++ b/src/jingle_s5b.rs @@ -40,16 +40,16 @@ pub struct Candidate { pub type_: Type, } -impl Into for Candidate { - fn into(self) -> Element { +impl From for Element { + fn from(candidate: Candidate) -> Element { Element::builder("candidate") .ns(ns::JINGLE_S5B) - .attr("cid", self.cid) - .attr("host", self.host) - .attr("jid", String::from(self.jid)) - .attr("port", self.port) - .attr("priority", self.priority) - .attr("type", self.type_) + .attr("cid", candidate.cid) + .attr("host", candidate.host) + .attr("jid", String::from(candidate.jid)) + .attr("port", candidate.port) + .attr("priority", candidate.priority) + .attr("type", candidate.type_) .build() } } @@ -137,14 +137,14 @@ impl TryFrom for Transport { } } -impl Into for Transport { - fn into(self) -> Element { +impl From for Element { + fn from(transport: Transport) -> Element { Element::builder("transport") .ns(ns::JINGLE_S5B) - .attr("sid", self.sid) - .attr("dstaddr", self.dstaddr) - .attr("mode", self.mode) - .append(match self.payload { + .attr("sid", transport.sid) + .attr("dstaddr", transport.dstaddr) + .attr("mode", transport.mode) + .append(match transport.payload { TransportPayload::Candidates(mut candidates) => { candidates.drain(..) .map(|candidate| candidate.into()) diff --git a/src/mam.rs b/src/mam.rs index 62b035e1691487c1932bdf1dd54de955c3b92db6..bbc08a6d19b1736779d54cf5d522f3101c55eb8e 100644 --- a/src/mam.rs +++ b/src/mam.rs @@ -161,52 +161,52 @@ impl TryFrom for Prefs { } } -impl Into for Query { - fn into(self) -> Element { +impl From for Element { + fn from(query: Query) -> Element { Element::builder("query") .ns(ns::MAM) - .attr("queryid", self.queryid) - .attr("node", self.node) - //.append(self.form.map(|form| -> Element { form.into() })) - .append(self.set.map(|set| -> Element { set.into() })) + .attr("queryid", query.queryid) + .attr("node", query.node) + //.append(query.form.map(|form| -> Element { form.into() })) + .append(query.set.map(|set| -> Element { set.into() })) .build() } } -impl Into for Result_ { - fn into(self) -> Element { +impl From for Element { + fn from(result: Result_) -> Element { let mut elem = Element::builder("result") .ns(ns::MAM) - .attr("queryid", self.queryid) - .attr("id", self.id) + .attr("queryid", result.queryid) + .attr("id", result.id) .build(); - elem.append_child(self.forwarded.into()); + elem.append_child(result.forwarded.into()); elem } } -impl Into for Fin { - fn into(self) -> Element { +impl From for Element { + fn from(fin: Fin) -> Element { let mut elem = Element::builder("fin") .ns(ns::MAM) - .attr("complete", if self.complete { Some("true") } else { None }) + .attr("complete", if fin.complete { Some("true") } else { None }) .build(); - elem.append_child(self.set.into()); + elem.append_child(fin.set.into()); elem } } -impl Into for Prefs { - fn into(self) -> Element { +impl From for Element { + fn from(prefs: Prefs) -> Element { let mut elem = Element::builder("prefs") .ns(ns::MAM) - .attr("default", self.default_) + .attr("default", prefs.default_) .build(); - if !self.always.is_empty() { + if !prefs.always.is_empty() { let mut always = Element::builder("always") .ns(ns::RSM) .build(); - for jid in self.always { + for jid in prefs.always { always.append_child(Element::builder("jid") .ns(ns::RSM) .append(String::from(jid)) @@ -214,11 +214,11 @@ impl Into for Prefs { } elem.append_child(always); } - if !self.never.is_empty() { + if !prefs.never.is_empty() { let mut never = Element::builder("never") .ns(ns::RSM) .build(); - for jid in self.never { + for jid in prefs.never { never.append_child(Element::builder("jid") .ns(ns::RSM) .append(String::from(jid)) diff --git a/src/message.rs b/src/message.rs index 3c7fefc8e4065e11e29d149157d8b833ca4ea2dd..03fc2e8c79dc970ecc3e6edae9a499813abd1b1f 100644 --- a/src/message.rs +++ b/src/message.rs @@ -84,9 +84,9 @@ impl TryFrom for MessagePayload { } } -impl Into for MessagePayload { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(payload: MessagePayload) -> Element { + match payload { MessagePayload::StanzaError(stanza_error) => stanza_error.into(), MessagePayload::Attention(attention) => attention.into(), MessagePayload::ChatState(chatstate) => chatstate.into(), @@ -199,37 +199,37 @@ impl TryFrom for Message { } } -impl Into for Message { - fn into(self) -> Element { +impl From for Element { + fn from(message: Message) -> Element { Element::builder("message") .ns(ns::JABBER_CLIENT) - .attr("from", self.from.and_then(|value| Some(String::from(value)))) - .attr("to", self.to.and_then(|value| Some(String::from(value)))) - .attr("id", self.id) - .attr("type", self.type_) - .append(self.subjects.iter() - .map(|(lang, subject)| { - Element::builder("subject") - .ns(ns::JABBER_CLIENT) - .attr("xml:lang", match lang.as_ref() { - "" => None, - lang => Some(lang), - }) - .append(subject) - .build() }) - .collect::>()) - .append(self.bodies.iter() - .map(|(lang, body)| { - Element::builder("body") - .ns(ns::JABBER_CLIENT) - .attr("xml:lang", match lang.as_ref() { - "" => None, - lang => Some(lang), - }) - .append(body) - .build() }) - .collect::>()) - .append(self.payloads) + .attr("from", message.from.and_then(|value| Some(String::from(value)))) + .attr("to", message.to.and_then(|value| Some(String::from(value)))) + .attr("id", message.id) + .attr("type", message.type_) + .append(message.subjects.iter() + .map(|(lang, subject)| { + Element::builder("subject") + .ns(ns::JABBER_CLIENT) + .attr("xml:lang", match lang.as_ref() { + "" => None, + lang => Some(lang), + }) + .append(subject) + .build() }) + .collect::>()) + .append(message.bodies.iter() + .map(|(lang, body)| { + Element::builder("body") + .ns(ns::JABBER_CLIENT) + .attr("xml:lang", match lang.as_ref() { + "" => None, + lang => Some(lang), + }) + .append(body) + .build() }) + .collect::>()) + .append(message.payloads) .build() } } diff --git a/src/message_correct.rs b/src/message_correct.rs index 5376f8604370de2e889bd3a642cb521a1e81d9f7..bb5c2b2e25cc037aa1305f52ac11bf47067b6200 100644 --- a/src/message_correct.rs +++ b/src/message_correct.rs @@ -37,11 +37,11 @@ impl TryFrom for Replace { } } -impl Into for Replace { - fn into(self) -> Element { +impl From for Element { + fn from(replace: Replace) -> Element { Element::builder("replace") .ns(ns::MESSAGE_CORRECT) - .attr("id", self.id) + .attr("id", replace.id) .build() } } diff --git a/src/muc/muc.rs b/src/muc/muc.rs index e7e6a238e0b64329df12150a4ab1de9cb990b7e7..550cc61e6c603215cbfb94994570ce9eebf7fee7 100644 --- a/src/muc/muc.rs +++ b/src/muc/muc.rs @@ -1,4 +1,5 @@ // Copyright (c) 2017 Maxime “pep” Buquet +// Copyright (c) 2017 Emmanuel Gil Peyrot // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -44,11 +45,11 @@ impl TryFrom for Muc { } } -impl Into for Muc { - fn into(self) -> Element { +impl From for Element { + fn from(muc: Muc) -> Element { Element::builder("x") .ns(ns::MUC) - .append(self.password) + .append(muc.password) .build() } } diff --git a/src/muc/user.rs b/src/muc/user.rs index 1609b0c8d1680df7d7a4f66e18d282116e43e61a..48da79666889ebb5357f15ba3d50c0fa0ef5e03e 100644 --- a/src/muc/user.rs +++ b/src/muc/user.rs @@ -1,4 +1,5 @@ // Copyright (c) 2017 Maxime “pep” Buquet +// Copyright (c) 2017 Emmanuel Gil Peyrot // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -113,11 +114,11 @@ impl TryFrom for Status { } } -impl Into for Status { - fn into(self) -> Element { +impl From for Element { + fn from(status: Status) -> Element { Element::builder("status") .ns(ns::MUC_USER) - .attr("code", match self { + .attr("code", match status { Status::NonAnonymousRoom => 100, Status::AffiliationChange => 101, Status::ConfigShowsUnavailableMembers => 102, @@ -186,11 +187,11 @@ impl TryFrom for Actor { } } -impl Into for Actor { - fn into(self) -> Element { +impl From for Element { + fn from(actor: Actor) -> Element { let elem = Element::builder("actor").ns(ns::MUC_USER); - (match self { + (match actor { Actor::Jid(jid) => elem.attr("jid", String::from(jid)), Actor::Nick(nick) => elem.attr("nick", nick), }).build() @@ -227,11 +228,11 @@ impl TryFrom for Continue { } } -impl Into for Continue { - fn into(self) -> Element { +impl From for Element { + fn from(cont: Continue) -> Element { Element::builder("continue") .ns(ns::MUC_USER) - .attr("thread", self.thread) + .attr("thread", cont.thread) .build() } } @@ -262,11 +263,11 @@ impl TryFrom for Reason { } } -impl Into for Reason { - fn into(self) -> Element { +impl From for Element { + fn from(reason: Reason) -> Element { Element::builder("reason") .ns(ns::MUC_USER) - .append(self.0) + .append(reason.0) .build() } } @@ -348,20 +349,20 @@ impl TryFrom for Item { } } -impl Into for Item { - fn into(self) -> Element { +impl From for Element { + fn from(item: Item) -> Element { Element::builder("item") .ns(ns::MUC_USER) - .attr("affiliation", self.affiliation) - .attr("jid", match self.jid { + .attr("affiliation", item.affiliation) + .attr("jid", match item.jid { Some(jid) => Some(String::from(jid)), None => None, }) - .attr("nick", self.nick) - .attr("role", self.role) - .append(self.actor) - .append(self.continue_) - .append(self.reason) + .attr("nick", item.nick) + .attr("role", item.role) + .append(item.actor) + .append(item.continue_) + .append(item.reason) .build() } } @@ -400,11 +401,11 @@ impl TryFrom for MucUser { } } -impl Into for MucUser { - fn into(self) -> Element { +impl From for Element { + fn from(muc_user: MucUser) -> Element { Element::builder("x") .ns(ns::MUC_USER) - .append(self.status) + .append(muc_user.status) .build() } } diff --git a/src/ping.rs b/src/ping.rs index 272044517ae4b2873212364011b8946f284e3e26..df8b193997ad413ad71960289d6a1c26075deb69 100644 --- a/src/ping.rs +++ b/src/ping.rs @@ -33,8 +33,8 @@ impl TryFrom for Ping { } } -impl Into for Ping { - fn into(self) -> Element { +impl From for Element { + fn from(_: Ping) -> Element { Element::builder("ping") .ns(ns::PING) .build() diff --git a/src/presence.rs b/src/presence.rs index 1eb0b23fb86f56faec9065f417d0ddaa78c4dc95..e74a6e2855cd3f8b87b56a653f02733497276abb 100644 --- a/src/presence.rs +++ b/src/presence.rs @@ -117,9 +117,9 @@ impl TryFrom for PresencePayload { } } -impl Into for PresencePayload { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(payload: PresencePayload) -> Element { + match payload { PresencePayload::StanzaError(stanza_error) => stanza_error.into(), PresencePayload::Muc(muc) => muc.into(), PresencePayload::Caps(caps) => caps.into(), @@ -282,16 +282,16 @@ impl TryFrom for Presence { } } -impl Into for Presence { - fn into(self) -> Element { +impl From for Element { + fn from(presence: Presence) -> Element { Element::builder("presence") .ns(ns::JABBER_CLIENT) - .attr("from", self.from.and_then(|value| Some(String::from(value)))) - .attr("to", self.to.and_then(|value| Some(String::from(value)))) - .attr("id", self.id) - .attr("type", self.type_) - .append(self.show) - .append(self.statuses.iter().map(|(lang, status)| { + .attr("from", presence.from.and_then(|value| Some(String::from(value)))) + .attr("to", presence.to.and_then(|value| Some(String::from(value)))) + .attr("id", presence.id) + .attr("type", presence.type_) + .append(presence.show) + .append(presence.statuses.iter().map(|(lang, status)| { Element::builder("status") .attr("xml:lang", match lang.as_ref() { "" => None, @@ -300,8 +300,8 @@ impl Into for Presence { .append(status) .build() }).collect::>()) - .append(if self.priority == 0 { None } else { Some(format!("{}", self.priority)) }) - .append(self.payloads) + .append(if presence.priority == 0 { None } else { Some(format!("{}", presence.priority)) }) + .append(presence.payloads) .build() } } diff --git a/src/receipts.rs b/src/receipts.rs index ae564f747066bdb0b3ec0244abb5507d5b51245b..7c3625b8daac481a120d068a52e100d17f825891 100644 --- a/src/receipts.rs +++ b/src/receipts.rs @@ -44,9 +44,9 @@ impl TryFrom for Receipt { } } -impl Into for Receipt { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(receipt: Receipt) -> Element { + match receipt { Receipt::Request => Element::builder("request") .ns(ns::RECEIPTS), Receipt::Received(id) => Element::builder("received") diff --git a/src/roster.rs b/src/roster.rs index 4e6a38c6d1bf9d6684db15746b6a56688adf50dc..73522c282709e79fe2544b23e9d419e68bab8761 100644 --- a/src/roster.rs +++ b/src/roster.rs @@ -58,14 +58,14 @@ impl TryFrom for Item { } } -impl Into for Item { - fn into(self) -> Element { +impl From for Element { + fn from(item: Item) -> Element { Element::builder("item") .ns(ns::ROSTER) - .attr("jid", String::from(self.jid)) - .attr("name", self.name) - .attr("subscription", self.subscription) - .append(self.groups.iter().map(|group| Element::builder("group").ns(ns::ROSTER).append(group)).collect::>()) + .attr("jid", String::from(item.jid)) + .attr("name", item.name) + .attr("subscription", item.subscription) + .append(item.groups.iter().map(|group| Element::builder("group").ns(ns::ROSTER).append(group)).collect::>()) .build() } } @@ -110,12 +110,12 @@ impl TryFrom for Roster { } } -impl Into for Roster { - fn into(self) -> Element { +impl From for Element { + fn from(roster: Roster) -> Element { Element::builder("query") .ns(ns::ROSTER) - .attr("ver", self.ver) - .append(self.items) + .attr("ver", roster.ver) + .append(roster.items) .build() } } diff --git a/src/rsm.rs b/src/rsm.rs index cfb6f29243140d517ff9b07b3bbc93f3aa916d90..008757dde50077dc620385da3044356bb9750c25 100644 --- a/src/rsm.rs +++ b/src/rsm.rs @@ -86,34 +86,34 @@ impl TryFrom for Set { } } -impl Into for Set { - fn into(self) -> Element { +impl From for Element { + fn from(set: Set) -> Element { let mut elem = Element::builder("set") .ns(ns::RSM) .build(); - if self.after.is_some() { - elem.append_child(Element::builder("after").ns(ns::RSM).append(self.after).build()); + if set.after.is_some() { + elem.append_child(Element::builder("after").ns(ns::RSM).append(set.after).build()); } - if self.before.is_some() { - elem.append_child(Element::builder("before").ns(ns::RSM).append(self.before).build()); + if set.before.is_some() { + elem.append_child(Element::builder("before").ns(ns::RSM).append(set.before).build()); } - if self.count.is_some() { - elem.append_child(Element::builder("count").ns(ns::RSM).append(format!("{}", self.count.unwrap())).build()); + if set.count.is_some() { + elem.append_child(Element::builder("count").ns(ns::RSM).append(format!("{}", set.count.unwrap())).build()); } - if self.first.is_some() { + if set.first.is_some() { elem.append_child(Element::builder("first") .ns(ns::RSM) - .attr("index", self.first_index) - .append(self.first).build()); + .attr("index", set.first_index) + .append(set.first).build()); } - if self.index.is_some() { - elem.append_child(Element::builder("index").ns(ns::RSM).append(format!("{}", self.index.unwrap())).build()); + if set.index.is_some() { + elem.append_child(Element::builder("index").ns(ns::RSM).append(format!("{}", set.index.unwrap())).build()); } - if self.last.is_some() { - elem.append_child(Element::builder("last").ns(ns::RSM).append(self.last).build()); + if set.last.is_some() { + elem.append_child(Element::builder("last").ns(ns::RSM).append(set.last).build()); } - if self.max.is_some() { - elem.append_child(Element::builder("max").ns(ns::RSM).append(format!("{}", self.max.unwrap())).build()); + if set.max.is_some() { + elem.append_child(Element::builder("max").ns(ns::RSM).append(format!("{}", set.max.unwrap())).build()); } elem } diff --git a/src/stanza_error.rs b/src/stanza_error.rs index c25c5792ec0ac234f3d9fc34f714dffa14ead38c..4a83b8dce9ec2d7720134c378b183bc52a823e1a 100644 --- a/src/stanza_error.rs +++ b/src/stanza_error.rs @@ -172,15 +172,15 @@ impl TryFrom for StanzaError { } } -impl Into for StanzaError { - fn into(self) -> Element { +impl From for Element { + fn from(err: StanzaError) -> Element { let mut root = Element::builder("error") .ns(ns::JABBER_CLIENT) - .attr("type", self.type_) - .attr("by", self.by.and_then(|by| Some(String::from(by)))) - .append(self.defined_condition) + .attr("type", err.type_) + .attr("by", err.by.and_then(|by| Some(String::from(by)))) + .append(err.defined_condition) .build(); - for (lang, text) in self.texts { + for (lang, text) in err.texts { let elem = Element::builder("text") .ns(ns::XMPP_STANZAS) .attr("xml:lang", lang) @@ -188,7 +188,7 @@ impl Into for StanzaError { .build(); root.append_child(elem); } - if let Some(other) = self.other { + if let Some(other) = err.other { root.append_child(other); } root diff --git a/src/stanza_id.rs b/src/stanza_id.rs index 634def50a063c0ecbc159e0012fe7df270c2bee1..72687d9b3dbd335dadf16d14fea9262344ba4852 100644 --- a/src/stanza_id.rs +++ b/src/stanza_id.rs @@ -45,9 +45,9 @@ impl TryFrom for StanzaId { } } -impl Into for StanzaId { - fn into(self) -> Element { - match self { +impl From for Element { + fn from(stanza_id: StanzaId) -> Element { + match stanza_id { StanzaId::StanzaId { id, by } => { Element::builder("stanza-id") .ns(ns::SID)