Commit graph

49 commits

Author SHA1 Message Date
dc76f296de
Prepare for merge: Move all xmpp-parsers files into xmpp-parsers/
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-18 13:47:10 +02:00
Emmanuel Gil Peyrot
d1d98ff3d5 Use crate::Element instead of minidom::Element.
This makes refactoring much easier.
2019-09-25 10:28:44 +02:00
Emmanuel Gil Peyrot
5bf14b0b22 Drop dependency on try_from.
This bumps the minimum supported stable Rust version to 1.34.

The TryFrom and TryInto traits are still reexported to not break the
API, but these reexports are deprecated and will be removed in a future
release.
2019-04-12 11:06:03 +02:00
Emmanuel Gil Peyrot
bcd42a26e3 macros: Use a nicer syntax when declaring attributes.
The previous version had a => required|optional|default token, this was
duplicating information for Option types and didn’t look very good.

This new version looks like a type, which can be either Required<_>,
Option<_> or Default<_>, and means the same thing.
2019-02-24 20:26:42 +01:00
Emmanuel Gil Peyrot
409a1dafa9 Move Error, helpers and macros into a util module. 2019-01-13 12:39:51 +01:00
Emmanuel Gil Peyrot
7a204cd182 Also test the size of IBB StreamId. 2018-12-18 15:44:07 +01:00
Emmanuel Gil Peyrot
efd7bd5f2f Run cargo fmt. 2018-12-18 15:32:05 +01:00
Emmanuel Gil Peyrot
6b2dd8fe5e Run cargo fix --edition to move to Edition 2018. 2018-12-18 15:27:30 +01:00
Emmanuel Gil Peyrot
7a2dcbee01 Test struct sizes on 32-bit too. 2018-10-28 13:10:48 +01:00
Emmanuel Gil Peyrot
40aedcf184 Test the size of every struct defined here. 2018-10-26 14:26:16 +02:00
Emmanuel Gil Peyrot
7f12d05fd2 Switch allow→deny(missing_docs) for the whole crate. 2018-08-08 18:48:05 +02:00
Emmanuel Gil Peyrot
36cfe76e4d macros: Merge generate_element_with_text!() into generate_element!(). 2018-08-02 19:07:07 +02:00
Emmanuel Gil Peyrot
5f2062483a ibb: Add documentation. 2018-07-02 13:47:32 +02:00
Emmanuel Gil Peyrot
75d5bd3665 ibb, jingle_ibb: Share StreamId. 2018-07-02 13:16:00 +02:00
Emmanuel Gil Peyrot
9c598fbdf9 macros: Rename generate_element_with_only_attributes!() into generate_element!(). 2018-05-28 16:42:35 +02:00
Emmanuel Gil Peyrot
412eafb363 iq: Implement the Iq*Payload traits on every possible payload. 2018-05-16 15:08:17 +02:00
Emmanuel Gil Peyrot
93b018e5ac macros: Remove use requirement on ns. 2018-05-14 16:30:28 +02:00
Emmanuel Gil Peyrot
d9aaa3e9ce macros: Remove use requirement on error::Error. 2018-05-14 16:21:39 +02:00
Emmanuel Gil Peyrot
6f497027f5 macros: Remove use requirement on minidom::Element. 2018-05-14 16:17:21 +02:00
Emmanuel Gil Peyrot
0d4327eb42 macros: Remove use requirement on minidom::IntoAttributeValue. 2018-05-14 16:12:56 +02:00
Emmanuel Gil Peyrot
040792c242 macros: Remove use requirement on std::str::FromStr. 2018-05-14 16:11:22 +02:00
Emmanuel Gil Peyrot
292cdd059c macros: Remove use requirement on try_from::TryFrom. 2018-05-14 16:07:15 +02:00
Emmanuel Gil Peyrot
ad17c877f5 Move Base64 codec into a helper module. 2017-11-23 16:00:47 +00:00
Rust Cambridge Mob
77e150c63d Implement macro for elements containing text 2017-11-16 20:17:11 +00:00
Emmanuel Gil Peyrot
929bd577f3 Add a generate_element_with_only_attributes macro, and use it wherever it makes sense. 2017-10-31 17:58:11 +00: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
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
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
216f6f8389 Fix build and compilation. 2017-06-14 01:57:02 +01:00
Emmanuel Gil Peyrot
0f297d2d2d Add a generate_attribute! macro, and use it for the common case. 2017-06-14 00:50:57 +01:00
Emmanuel Gil Peyrot
6794b34714 Cargo.toml: Update minidom to 0.4.3 to use its new IntoAttributeValue implementation on numbers. 2017-05-27 23:18:15 +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
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
e3acb55b49 ibb: Port to TryFrom/Into. 2017-05-04 23:11:10 +01:00
Emmanuel Gil Peyrot
407e4cceb4 License the project under MPL-2.0. 2017-04-29 22:14:34 +01:00
Emmanuel Gil Peyrot
846148d618 ibb: Fix serialisation of <data/> data. 2017-04-28 23:46:32 +01:00
Emmanuel Gil Peyrot
30a596cb26 ibb: Implement serialise. 2017-04-27 19:05:51 +01:00
Emmanuel Gil Peyrot
c71b32ae24 ibb: Implement IntoAttributeValue for Stanza. 2017-04-24 19:25:00 +01:00
Emmanuel Gil Peyrot
16a6ebd751 ibb: Simplify the FromStr using match. 2017-04-23 03:44:58 +01:00
Emmanuel Gil Peyrot
22ec4b1913 ibb: Improve handling of optional stanza attribute. 2017-04-22 19:15:29 +01:00
Emmanuel Gil Peyrot
94380fdbd5 ibb: Add some more tests. 2017-04-21 03:21:06 +01:00
Emmanuel Gil Peyrot
189f17c569 ibb: Add a parser for the <close/> element. 2017-04-21 03:09:10 +01:00
Emmanuel Gil Peyrot
fb373c2b66 ibb: Add a parser for the <data/> element. 2017-04-21 03:07:21 +01:00
Emmanuel Gil Peyrot
3209b04a50 Fix all warnings issued by cargo clippy. 2017-04-21 01:28:58 +01:00
Emmanuel Gil Peyrot
62d9385728 Make all parsed types implement Clone. 2017-04-21 00:41:15 +01:00
Emmanuel Gil Peyrot
7288c2c74f Import ns itself, and remove the _NS suffix on all namespaces. 2017-04-20 23:16:12 +01:00
Emmanuel Gil Peyrot
fc7a0517d3 Replace assert!()s with proper errors in parsers. 2017-04-19 23:41:54 +01:00
Emmanuel Gil Peyrot
4f31727a1a Add an In-Band Bytestream parser. 2017-04-19 21:52:14 +01:00