Commit graph

284 commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
45d196463c disco: Document every struct and their fields. 2017-07-29 04:51:51 +01:00
Emmanuel Gil Peyrot
67e72b009e disco: Fix serialisation of extensions, and add a test. 2017-07-29 04:39:50 +01:00
Emmanuel Gil Peyrot
4d3717d170 disco: Split Feature and Identity parsing out of DiscoQueryResult. 2017-07-29 04:35:15 +01:00
Emmanuel Gil Peyrot
5ece20a029 disco: Create a mutable DiscoInfoResult at the beginning of its parsing. 2017-07-29 04:25:55 +01:00
Emmanuel Gil Peyrot
58760fc28d data_forms: Split field parsing into its own TryFrom impl. 2017-07-29 04:19:58 +01:00
Emmanuel Gil Peyrot
37d1ae64ad receipts: Split the stupid enum into two different structs. 2017-07-29 04:00:25 +01:00
Emmanuel Gil Peyrot
a0b1d93ff0 stanza_id: Split the stupid enum into two different structs. 2017-07-29 03:51:41 +01:00
Emmanuel Gil Peyrot
db35d28c9c ibb: Split the stupid enum into three different structs. 2017-07-29 03:44:35 +01:00
Emmanuel Gil Peyrot
dfb736a973 rsm: Change if .is_some() { .unwrap() } into if let Some(). 2017-07-29 03:03:45 +01:00
Emmanuel Gil Peyrot
f83fe92244 jingle: Wrap the disposition in a struct, to get better type safety. 2017-07-29 02:47:33 +01:00
Emmanuel Gil Peyrot
75ae6100b4 data_forms: Remove unneccessary swallowing of an error. 2017-07-29 02:41:42 +01:00
Emmanuel Gil Peyrot
4b3ced042e ecaps2, jingle_s5b: Replace drain() with into_iter(). 2017-07-26 00:04:20 +01:00
Emmanuel Gil Peyrot
83c9713ab9 caps, ecaps2: Make Blake2b panic and update the blake2 crate to 0.6.1.
See https://github.com/RustCrypto/hashes/issues/34 for more information.
2017-07-24 23:11:10 +01:00
Emmanuel Gil Peyrot
4454da15b6 disco: Implement disco#items. 2017-07-21 17:33:58 +01:00
Emmanuel Gil Peyrot
3b6733f38b Upgrade to minidom 0.4.4 to avoid having to redefine IntoElements for each Into<Element>. 2017-07-21 01:20:29 +01:00
Emmanuel Gil Peyrot
21cee25b27 Replace .and_then() with .map() wherever it makes sense. 2017-07-21 01:19:34 +01:00
Emmanuel Gil Peyrot
7612c53f9a attention, chatstates, eme, ping: Add a docstring on the structs. 2017-07-20 23:47:21 +01:00
Emmanuel Gil Peyrot
fd31e691af lib: Improve the wording of the docstring. 2017-07-20 23:46:44 +01:00
Emmanuel Gil Peyrot
87af0f3615 message, presence, iq: Improve documentation. 2017-07-20 23:10:13 +01:00
Emmanuel Gil Peyrot
5df585ca40 data_forms, ibr, message, presence, roster: Always use into_iter. 2017-07-20 23:09:22 +01:00
Emmanuel Gil Peyrot
f6f6faeb77 iq, jingle_ft: Simplify item counting with Iterator::count(). 2017-07-20 23:08:23 +01:00
Maxime “pep” Buquet
2571aa7666 presence: Add with_ helpers to build a Presence 2017-07-19 00:21:44 +01:00
Emmanuel Gil Peyrot
5543d71599 attention: Use super::* in tests like every other module. 2017-07-20 20:53:59 +01:00
Emmanuel Gil Peyrot
cc563b46d2 ecaps2, forwarding, jingle_s5b, mam: Replace complex into expressions with .map(Element::from). 2017-07-20 20:52:25 +01:00
Emmanuel Gil Peyrot
487dbdc6de Replace Into<Element> with From<…> for Element.
This allows Element::from() to work, and since Into<Element> is
automatically implemented for any type implementing From there is no
change to existing code.
2017-07-20 20:36:13 +01:00
Emmanuel Gil Peyrot
5ec921fa6f attention: Add missing unknown attribute check. 2017-07-20 20:11:00 +01:00
Emmanuel Gil Peyrot
1f43cd934b Use TryFrom from the try_from crate, instead of the unstable feature.
This makes xmpp-parsers usable on stable.
2017-07-20 20:03:15 +01:00
Emmanuel Gil Peyrot
0fcbf11644 iq: Split IqPayload into all three possible types. 2017-07-20 18:31:17 +01:00
Emmanuel Gil Peyrot
76a46559b8 disco: Split query and result. 2017-07-20 17:39:59 +01:00
Emmanuel Gil Peyrot
945ae350ac Add a jingle message parser and serialiser. 2017-07-15 11:38:44 +01:00
Emmanuel Gil Peyrot
161e5dcc9b jingle: Type Content::name better. 2017-07-15 11:37:29 +01:00
Emmanuel Gil Peyrot
244c9b2710 presence: Remove unused import in tests. 2017-06-27 22:21:35 +01:00
Maxime “pep” Buquet
98878042dd Use the generate_attribute macro in muc::user 2017-06-27 00:14:40 +01:00
Maxime “pep” Buquet
27cf9a6298 muc::Muc and muc::MucUser 2017-06-26 23:07:12 +01:00
Emmanuel Gil Peyrot
8ac4602240 presence: Add a simpler way to create a Presence. 2017-06-26 19:49:16 +01:00
Emmanuel Gil Peyrot
ad1d4adcec message: Add a simpler way to create a Message. 2017-06-26 19:47:26 +01:00
Emmanuel Gil Peyrot
96fe2d200e roster: Fix group serialisation and add a test. 2017-06-25 23:27:38 +01:00
Emmanuel Gil Peyrot
4338d9d638 jingle_s5b: Make jid a Jid and not a String. 2017-06-25 22:20:24 +01:00
Emmanuel Gil Peyrot
f6b222f49a jingle_ibb: Strengthen sid’s type safety. 2017-06-25 22:15:18 +01:00
Emmanuel Gil Peyrot
a219501fed jingle, jingle_ft: Use the new generate_id! macro to simplify Sid/Cid generation. 2017-06-25 22:14:51 +01:00
Emmanuel Gil Peyrot
95a19b4bb4 lib: Implement a generate_id! macro. 2017-06-25 22:14:21 +01:00
Emmanuel Gil Peyrot
3ea0c45337 jingle_s5b: Strengthen type safety for ids. 2017-06-25 21:38:58 +01:00
Emmanuel Gil Peyrot
f428ee070d Add an IBR parser. 2017-06-25 21:03:48 +01:00
Emmanuel Gil Peyrot
a48565e171 data_forms: Fix FORM_TYPE, <title/> and <instructions/> serialisation. 2017-06-25 20:13:43 +01:00
Emmanuel Gil Peyrot
13e8507848 chatstates: Improve parsing. 2017-06-25 19:55:55 +01:00
Emmanuel Gil Peyrot
17798190cf error: Implement fmt::Display and error::Error. 2017-06-17 03:36:12 +01:00
Emmanuel Gil Peyrot
6f69f2d7d9 jingle_ft: Parse <date/> into a proper DateTime. 2017-06-16 20:37:48 +01:00
Emmanuel Gil Peyrot
e7f0c45da5 jingle: Fix sid test. 2017-06-14 09:19:06 +01:00
Emmanuel Gil Peyrot
48d340120c jingle: Specialise Sid to get an increased type safety. 2017-06-14 02:28:42 +01:00
Emmanuel Gil Peyrot
216f6f8389 Fix build and compilation. 2017-06-14 01:57:02 +01:00