Commit graph

241 commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
8182213666 iq: Reintroduce a reference Into to get the type from the payload. 2017-05-24 21:35:09 +01:00
Emmanuel Gil Peyrot
21b92621f0 iq, message: Remove useless clone on unknown element. 2017-05-24 21:32:04 +01:00
Emmanuel Gil Peyrot
fbeeae5c64 presence: Simplify the code. 2017-05-24 21:30:33 +01:00
Emmanuel Gil Peyrot
16e43c0b01 Convert all of the parsers/serialisers into consuming their parameter. 2017-05-23 23:31:33 +01:00
Emmanuel Gil Peyrot
e3f1f31718 delay, eme, stanza_error: Use get_attr!. 2017-05-23 01:02:23 +01:00
Emmanuel Gil Peyrot
d61d09f5b7 hashes, presence, message, iq, disco: Use get_attr!. 2017-05-22 19:00:04 +01:00
Emmanuel Gil Peyrot
e7e4284a0d jingle_ft: Obtain attributes using the get_attr! macro. 2017-05-21 21:02:06 +01:00
Emmanuel Gil Peyrot
ca9a250efd jingle_s5b: Obtain attributes using the get_attr! macro. 2017-05-21 21:00:34 +01:00
Emmanuel Gil Peyrot
8c53d6e415 stanza_id: Use the new get_attr! macro to get attributes. 2017-05-21 20:56:04 +01:00
Emmanuel Gil Peyrot
185bd79c72 mam: Simplify attribute management, and make default mandatory. 2017-05-21 20:45:50 +01:00
Emmanuel Gil Peyrot
34ee6d52dc presence: Wire up idle as a payload. 2017-05-21 20:30:42 +01:00
Emmanuel Gil Peyrot
dc530a1912 Add an idle parser. 2017-05-21 20:22:48 +01:00
Emmanuel Gil Peyrot
545ce29282 message: Add forgotten origin-id payload. 2017-05-21 20:15:39 +01:00
Emmanuel Gil Peyrot
7cdb46b90a data_forms: Replace field_type String with a proper enum. 2017-05-21 17:08:05 +01:00
Emmanuel Gil Peyrot
80695edb72 chatstates, ping, presence: Check for extraneous attributes. 2017-05-21 16:44:35 +01:00
Emmanuel Gil Peyrot
814a3bd882 data_forms: Add support for required, options, title and instructions. 2017-05-21 16:41:29 +01:00
Emmanuel Gil Peyrot
a4f50f2d43 jingle_ibb, ibb, rsm: Simplify attribute parsing. 2017-05-21 16:08:25 +01:00
Emmanuel Gil Peyrot
3c083709cb rsm, ibb: Write and use a macro to parse attributes. 2017-05-21 16:03:17 +01:00
Emmanuel Gil Peyrot
16899f8c23 rsm: Add a test for <first/>. 2017-05-21 15:41:16 +01:00
Emmanuel Gil Peyrot
61839042bd rsm: Split First into two options, and generate Set earlier during parsing. 2017-05-21 15:30:22 +01:00
Emmanuel Gil Peyrot
d680c31cf9 iq, message: Wire up MAM to the payloads. 2017-05-19 02:58:35 +01:00
Emmanuel Gil Peyrot
967d4af843 rsm: Rename First id to make it more explicit. 2017-05-19 02:58:18 +01:00
Emmanuel Gil Peyrot
2b8bcebfd9 message, iq, presence: Return an Unknown instead of an error when the element is unknown. 2017-05-19 02:09:23 +01:00
Emmanuel Gil Peyrot
dcb7ac8db2 iq: Remove a panic! 2017-05-19 00:10:23 +01:00
Emmanuel Gil Peyrot
6df3c4a679 iq: Remove a bunch of clones. 2017-05-19 00:07:51 +01:00
Emmanuel Gil Peyrot
65469db1e3 iq: Stop parsing the payload automatically. 2017-05-19 00:04:42 +01:00
Emmanuel Gil Peyrot
4407183010 iq: Move IqPayload parsing into its own Into implementation. 2017-05-18 23:50:08 +01:00
Emmanuel Gil Peyrot
0ad6893d52 presence: Stop parsing payloads automatically. 2017-05-18 23:32:44 +01:00
Emmanuel Gil Peyrot
fe8dccd5df presence: Remove now-unused enum values. 2017-05-18 23:32:26 +01:00
Emmanuel Gil Peyrot
e52817e5cd message: Avoid identical match branches. 2017-05-18 23:14:07 +01:00
Emmanuel Gil Peyrot
f18043231c ecaps2: Avoid a useless clone. 2017-05-18 23:12:45 +01:00
Emmanuel Gil Peyrot
bbdf38d58b message: Stop parsing the payloads automatically. 2017-05-18 23:06:22 +01:00
Emmanuel Gil Peyrot
36b0bead49 message: Add stanza-id as a direct payload. 2017-05-18 23:09:30 +01:00
Emmanuel Gil Peyrot
b22acff15e hashes, ecaps2, jingle_ft: Make the algorithm a proper enum. 2017-05-18 23:09:29 +01:00
Emmanuel Gil Peyrot
4ec92b16ac Fix most clippy warnings. 2017-05-07 15:23:06 +01:00
Emmanuel Gil Peyrot
2b29748e6b message: Add support for the <thread/> element. 2017-05-07 15:09:18 +01:00
Emmanuel Gil Peyrot
da31e72357 message: Fix wrong parsing of the <body/> element, and add a test for it. 2017-05-07 15:06:11 +01:00
Emmanuel Gil Peyrot
4278c8ce2b message: Add support for the <subject/> element. 2017-05-07 15:10:04 +01:00
Emmanuel Gil Peyrot
3dfb05aab3 lib: Fix documentation. 2017-05-06 21:41:33 +01:00
Emmanuel Gil Peyrot
4142107965 message: Merge body in this module, and make it support xml:lang. 2017-05-06 21:38:23 +01:00
Emmanuel Gil Peyrot
69cfb14c77 presence: Switch to Into/TryFrom. 2017-05-06 21:24:17 +01:00
Emmanuel Gil Peyrot
f971cbd5c9 message: Switch to Into/TryFrom. 2017-05-06 21:21:34 +01:00
Emmanuel Gil Peyrot
fffaca316f iq: Switch to Into/TryFrom. 2017-05-06 21:16:56 +01:00
Emmanuel Gil Peyrot
04d90f22ee stanza_error: Switch to Into/TryFrom. 2017-05-06 21:13:53 +01:00
Emmanuel Gil Peyrot
418956c720 mam: Switch to Into/TryFrom. 2017-05-06 21:08:44 +01:00
Emmanuel Gil Peyrot
2b96751e5f eme: Switch to Into/TryFrom. 2017-05-06 21:03:42 +01:00
Emmanuel Gil Peyrot
2b49d8aa53 disco: Switch to Into/TryFrom. 2017-05-06 21:01:15 +01:00
Emmanuel Gil Peyrot
f963715e77 ecaps2: Switch to Into/TryFrom. 2017-05-06 20:58:22 +01:00
Emmanuel Gil Peyrot
2f05d02d23 forwarding: Switch to Into/TryFrom. 2017-05-06 20:53:43 +01:00
Emmanuel Gil Peyrot
8673b8f90e data_forms: Switch to Into/TryFrom. 2017-05-06 20:51:39 +01:00
Emmanuel Gil Peyrot
0dd0b444b3 media_element: Switch to Into/TryFrom. 2017-05-06 20:48:41 +01:00
Emmanuel Gil Peyrot
1ec3806629 hashes: Switch to Into/TryFrom. 2017-05-06 20:46:11 +01:00
Emmanuel Gil Peyrot
0f58e650b7 delay: Switch to Into/TryFrom. 2017-05-06 20:42:12 +01:00
Emmanuel Gil Peyrot
e451520187 chatstates: Switch to Into/TryFrom. 2017-05-06 20:33:58 +01:00
Emmanuel Gil Peyrot
a3a90e4eda jingle_ft: Switch to Into/TryFrom. 2017-05-06 20:30:52 +01:00
Emmanuel Gil Peyrot
4f11a067d8 message_correct: Switch to Into/TryFrom. 2017-05-06 20:16:45 +01:00
Emmanuel Gil Peyrot
de8fe4bf02 rsm: Switch to Into/TryFrom. 2017-05-06 20:14:45 +01:00
Emmanuel Gil Peyrot
7ebabf7e91 stanza_id: Switch to Into/TryFrom. 2017-05-06 20:10:35 +01:00
Emmanuel Gil Peyrot
151635f5fb receipts: Switch to Into/TryFrom. 2017-05-06 20:07:03 +01:00
Emmanuel Gil Peyrot
f99c667eab jingle: Make description and transport optional in content. 2017-05-06 14:58:18 +01:00
Emmanuel Gil Peyrot
8fbda37f6b jingle_ibb: Switch to Into/TryFrom. 2017-05-06 14:03:41 +01:00
Emmanuel Gil Peyrot
bb12168c41 jingle_s5b: Handle the forgotten case of an empty transport element, see §2.2. 2017-05-06 13:54:16 +01:00
Emmanuel Gil Peyrot
828b88e5b2 Add a Jingle SOCKS5 Bytestreams Transport implementation. 2017-05-06 12:49:30 +01:00
Emmanuel Gil Peyrot
51eecda4fd error: Implement From<std::string::ParseError>. 2017-05-06 12:48:42 +01:00
Emmanuel Gil Peyrot
e3acb55b49 ibb: Port to TryFrom/Into. 2017-05-04 23:11:10 +01:00
Emmanuel Gil Peyrot
033cbe777b ping: Port to TryFrom/Into. 2017-05-04 01:31:13 +01:00
Emmanuel Gil Peyrot
6c4fd8da01 jingle: Update to Into and TryFrom. 2017-05-04 01:20:28 +01:00
Emmanuel Gil Peyrot
29725b9d4d Update to minidom 0.3.0. 2017-05-04 01:20:22 +01:00
Emmanuel Gil Peyrot
765e8c3333 attention: Replace parse_* and serialise with TryFrom<Element> and Into<Element>. 2017-05-01 23:49:44 +01:00
Emmanuel Gil Peyrot
c0b7c9da88 iq: Remove unused variable causing a warning. 2017-05-01 01:50:38 +01:00
Emmanuel Gil Peyrot
7b6d444f03 delay: Use Jid for from attribute. 2017-05-01 01:50:18 +01:00
Emmanuel Gil Peyrot
f3b55350ad iq: Wire up stanza_error. 2017-05-01 01:23:56 +01:00
Emmanuel Gil Peyrot
42abbe2927 message: Wire up stanza_error. 2017-05-01 01:04:15 +01:00
Emmanuel Gil Peyrot
3dd0eb3a9b presence: Wire up stanza_error. 2017-05-01 01:02:35 +01:00
Emmanuel Gil Peyrot
2465885975 Add a stanza error parser and serialiser. 2017-05-01 01:24:45 +01:00
Emmanuel Gil Peyrot
e03a5a89e7 presence: Prevent two statuses from having the same lang. 2017-04-30 22:45:39 +01:00
Emmanuel Gil Peyrot
0abac5ad2d presence: Make statuses addressable by their xml:lang. 2017-04-30 22:07:32 +01:00
Emmanuel Gil Peyrot
1909ae33dc presence: make show, statuses and priority first-class elements. 2017-04-30 22:00:29 +01:00
Emmanuel Gil Peyrot
21398447e7 presence: Implement priority parsing. 2017-04-30 21:29:55 +01:00
Emmanuel Gil Peyrot
4ec3898c2f presence: Implement show parsing. 2017-04-30 21:03:04 +01:00
Emmanuel Gil Peyrot
0e20810a83 status, presence: Merge status into presence. 2017-04-30 20:33:53 +01:00
Emmanuel Gil Peyrot
4b90c1dc1f data_forms, disco, jingle, jingle_ft: Remove superfluous “extern crate”. 2017-04-29 22:10:38 +01:00
Emmanuel Gil Peyrot
407e4cceb4 License the project under MPL-2.0. 2017-04-29 22:14:34 +01:00
Emmanuel Gil Peyrot
7750aae5b5 presence, message, jingle_ft: Remove unneeded println!(). 2017-04-29 06:57:20 +01:00
Emmanuel Gil Peyrot
61efeb827f forwarding: Remove unused imports. 2017-04-29 06:50:57 +01:00
Emmanuel Gil Peyrot
eecb47f4ed mam: Add tests. 2017-04-29 06:41:55 +01:00
Emmanuel Gil Peyrot
0b2d46aa3a Add a MAM parser and serialiser. 2017-04-29 06:07:00 +01:00
Emmanuel Gil Peyrot
7cd4a49011 error: Add JidParseError. 2017-04-29 06:06:41 +01:00
Emmanuel Gil Peyrot
72a6eee2fd Add a RSM parser and serialiser. 2017-04-29 04:37:18 +01:00
Emmanuel Gil Peyrot
0f92a11894 Add a forwarding parser and serialiser. 2017-04-29 03:50:49 +01:00
Emmanuel Gil Peyrot
d824a161b6 message: Implement IntoElements. 2017-04-29 03:50:20 +01:00
Emmanuel Gil Peyrot
4dc585f1c9 delay: Implement IntoElements. 2017-04-29 03:50:02 +01:00
Emmanuel Gil Peyrot
8b964df645 Add a stanza-id parser and serialiser. 2017-04-29 03:23:50 +01:00
Emmanuel Gil Peyrot
b09c57ec72 ecaps2: Move hashing crates to the main library. 2017-04-29 01:31:39 +01:00
Emmanuel Gil Peyrot
45b38bcef9 iq: Wire up the IBB parser and serialiser. 2017-04-29 01:06:12 +01:00
Emmanuel Gil Peyrot
846148d618 ibb: Fix serialisation of <data/> data. 2017-04-28 23:46:32 +01:00
Emmanuel Gil Peyrot
5e4ba2701b iq: Wire up the Jingle parser and serialiser. 2017-04-28 23:46:06 +01:00
Emmanuel Gil Peyrot
4fb4727357 jingle: Remove extraneous println!. 2017-04-28 23:45:43 +01:00
Emmanuel Gil Peyrot
10a336f874 jingle: Accept any unknown child, as per the specification. 2017-04-28 23:45:27 +01:00
Emmanuel Gil Peyrot
c20d37a842 jingle: Add serialisation for <reason/>. 2017-04-28 23:45:02 +01:00