Commit graph

17 commits

Author SHA1 Message Date
Jonas Schäfer
0adfd1218b xso-proc: start making derive macros for FromXml and IntoXml
For now, these macros only support empty elements. Everything else will
be rejected with a compile-time error.
2024-06-23 12:20:02 +02:00
Jonas Schäfer
cb3da52ba2 parsers: add streamable parsing
This adds shims which provide FromXml and IntoXml implementations to
*all* macro-generated types in `xmpp_parsers`. Mind that this does not
cover all types in `xmpp_parsers`, but a good share of them.

This is another first step toward real, fully streamed parsing.
2024-06-18 16:54:11 +02:00
Jonas Schäfer
14a1d66bf8 xso: create library for streamed XML parsing
This library provides the traits to parse structs from XML and
serialise them into XML without having to buffer the document object
model in memory.

The only implementations it provides are for minidom, basically
providing a lower-level interface to `minidom::Element::from_reader` and
`minidom::Element::to_writer`.

This is the first stepping stone into a world where `xmpp_parsers` can
parse the structs directly from XML.
2024-06-18 16:54:11 +02:00
4089891f6c Update edition to 2021
- Remove TryFrom/Into and FromIterator imports
- Prevent impl_validator_using_provider macro in sasl crate from
  constructing trait object

Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-12-15 19:40:09 +00:00
ff19e25ed8 Add sasl crate to the workspace
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2023-08-17 23:32:27 +02:00
Emmanuel Gil Peyrot
5b6dcb6549 icu: Remove this obsolete attempt 2023-06-20 19:59:16 +02:00
Emmanuel Gil Peyrot
6eb25755a3 WIP: Add ICU bindings for stringprep, idna2008 and spoof checker. 2022-09-16 11:10:52 +02:00
Emmanuel Gil Peyrot
9410849d7a Rename the xmpp-parsers directory to parsers
This doesn’t change anything to the name of the crate, just makes
autocompletion easier by not sharing the same prefix as the xmpp crate.
2021-10-11 08:24:16 +02:00
Emmanuel Gil Peyrot
714d850e69 Remove the -rs suffix of jid, minidom and xmpp
We know those are Rust libraries, no need to add it to the path.  This
synchronises their directory with the crate name, hopefully reducing
confusion.
2020-06-22 02:17:32 +02:00
fa118433df
Create Cargo.toml workspace file. Add patch directives to override path
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-19 17:57:43 +02:00
2fec9083a4
Prepare for merge: Move all xmpp-rs files into xmpp-rs/
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-10-18 13:46:58 +02:00
Emmanuel Gil Peyrot
76619178a2 Add log as a dependency, for tracing XML and stuff. 2019-09-29 04:11:26 +02:00
2bf4b5d331 Add pep. as author
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-09-13 00:41:01 +02:00
b6369741cd
Update tokio-xmpp to 1.0.1 and xmpp-parsers to 0.15
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2019-09-11 16:11:32 +02:00
Emmanuel Gil Peyrot
9df465d940 Add various metadata to Cargo.toml. 2019-07-25 15:37:00 +02:00
Emmanuel Gil Peyrot
68b389277e Add the missing license file. 2019-07-25 15:36:45 +02:00
Emmanuel Gil Peyrot
92386fc488 Hello world! 2019-03-21 18:43:27 +01:00