Jonas Schäfer
819a869ffb
parsers: replace some more generate_element! calls with derive macros
2024-07-27 09:39:13 +02:00
Jonas Schäfer
cd9f2033f3
xso: add support for boxed children
...
This allows building recursive tree structures.
2024-07-27 08:24:25 +02:00
Jonas Schäfer
01336802b4
xso-proc: add support for optional children
2024-07-27 08:24:25 +02:00
Jonas Schäfer
5d284bbd3a
parsers: port some elements with children to derive macros
2024-07-26 22:31:42 +02:00
Jonas Schäfer
5bd36eccfc
xso-proc: add support for child elements
2024-07-26 22:31:42 +02:00
Jonas Schäfer
1265f4bb67
xso-proc: fix warnings when struct names end on _
2024-07-26 22:31:41 +02:00
Jonas Schäfer
76cd077490
xso: Bump version to 0.1.2
Build / lint (push) Has been cancelled
Build / test-stable (push) Has been cancelled
Build / test-nightly (push) Has been cancelled
2024-07-26 18:24:43 +02:00
Jonas Schäfer
951d23cc21
xso: add changelog entry for release
2024-07-26 18:24:12 +02:00
Jonas Schäfer
c40023a65e
xso: add feature flag marker to derive macros
2024-07-26 17:11:48 +02:00
Jonas Schäfer
f798c2b5bc
xso: ensure that feature-gated things render on docs.rs
...
How would you learn about them otherwise? This is particularly important
for the derive macros (behind the `derive` feature flag).
Fixes #133 .
2024-07-26 17:07:32 +02:00
Jonas Schäfer
fce846ae3d
xso: refactor Base64 text codec
...
This introduces support for `Cow<'_, [u8]>` (which is not needed
currently, but still good to have) and generalizes the `Option<T>`
implementation so that it doesn't have to be copied for every other type
supported to be Base64'd (we may add support for `bytes::Bytes` at some
point, for instance).
2024-07-25 22:22:55 +02:00
Jonas Schäfer
bf46248eeb
xso: implement FromXmlText/AsXmlText for char
2024-07-25 22:22:55 +02:00
Jonas Schäfer
fe61a25cfd
xso: improve macro for FromXmlText/AsXmlText
...
Now it's not limited to a single feature gate per type (or even just
feature gates: it should now also be possible to add constraints
based on OS, for example) anymore.
2024-07-25 22:22:55 +02:00
Jonas Schäfer
204c82e6b0
xso: add more doc comments throughout
2024-07-25 22:22:55 +02:00
5b1706a311
tokio-xmpp: Update dependencies
...
Update tokio_rustls, idna, webpki_roots.
https://github.com/rustls/rustls/releases/tag/v%2F0.22.0
> ConfigBuilder::with_safe_defaults - calls to this can simply be deleted since safe defaults are now implicit.
> OwnedTrustAnchor - use rustls_pki_types::TrustAnchor instead, and replace from_subject_spki_name_constraints with direct assignment to the struct fields.
`RootCertStore::add_trust_anchors` seems to be removed too.
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2024-07-25 20:51:20 +02:00
6b4bdc1641
xso: Bump version to 0.1.1
...
Build / lint (push) Has been cancelled
Build / test-stable (push) Has been cancelled
Build / test-nightly (push) Has been cancelled
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2024-07-25 18:53:31 +02:00
Emmanuel Gil Peyrot
c0f1aa620e
xmpp-parsers: Bump version to 0.21.0
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
09c5ad5976
xmpp-parsers: Convert jingle_s5b’s Candidate to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
726801610f
xmpp-parsers: Convert ibb to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
1a7dec6f1e
xmpp-parsers: Convert sm’s Enable and Enabled to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
01a61c6099
xmpp-parsers: Convert pubsub’s Default to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
5b5df16ac9
xmpp-parsers: Convert jingle_rtp_hdrext to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
0b92061433
xmpp-parsers: Convert jingle_ibb to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
2eb6ca2f94
xmpp-parsers: Remove util::text_node_codecs
...
This codec system was useful for the previous parser style, but we have
converted them all to xso now!
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
0c9e478994
xmpp-parsers: Convert media_element to xso
...
The API changed here, URI became Uri to be more in line with the coding
style.
Also we don’t attempt to trim them any more because that was only used
in the examples, and nowhere in the text of the specification did it say
that those had to be trimmed.
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
2b333ce579
xso: Add an EmptyAsError text codec
...
As its name implies, this codec emits an error when the parsed string is
empty.
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
4be297de11
xmpp-parsers: Convert component to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
e9b6fd5d8b
xmpp-parsers: Convert avatar to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
a2ece705cc
xmpp-parsers: Convert vcard to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
dc0db38cf3
xmpp-parsers: Convert jingle_dtls_srtp to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
f0b51decea
xso: Import the ColonSeparatedHex text codec from xmpp-parsers
...
This codec converts from a colon-separated case-insensitive hexadecimal
string into a Vec of bytes, and back to a lowercase colon-separated
hexadecimal string. Each byte must be separated by exactly one colon.
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
8a48244bc3
xmpp-parsers: Convert vcard_update to xso
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
16204a1092
xso: Import the FixedHex text codec from xmpp-parsers
...
This codec converts from a fixed-size case-insensitive hexadecimal
string into an array of bytes, and back to a lowercase hexadecimal
string.
2024-07-25 18:42:18 +02:00
Emmanuel Gil Peyrot
387fccce4a
xmpp-parsers: Write the ChangeLog for 0.21.0
2024-07-25 17:39:42 +02:00
Emmanuel Gil Peyrot
9346aedfac
xmpp-parsers: Update the version in the DOAP
...
We are close to the release!
2024-07-25 17:39:42 +02:00
11d40bac94
Unify version string formats
...
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#caret-requirements
"^1.2.3" is strictly equivalent to "1.2.3"
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
2024-07-25 14:41:04 +00:00
Emmanuel Gil Peyrot
5fc12c45b5
xmpp: Use tokio-xmpp’s reexports of jid and minidom
2024-07-25 14:36:09 +00:00
Emmanuel Gil Peyrot
e9b226e1ae
tokio-xmpp: Import Jid, BareJid and Element properly
...
xmpp-parsers has stopped reexporting them, instead it reexports only the
crates themselves.
2024-07-25 14:36:09 +00:00
Emmanuel Gil Peyrot
7b66de1166
xmpp-parsers: Stop reexporting extra symbols
...
Let’s continue reexporting jid and minidom, but not their inner pub
items, users of this crate can go one level deeper if they need that.
Only xso::error::Error is still useful to reexport, as this is part of
the public API of all of our parsers.
2024-07-25 14:36:09 +00:00
Jonas Schäfer
ab35c234c8
xso: Bump version to 0.1.0
Build / lint (push) Has been cancelled
Build / test-stable (push) Has been cancelled
Build / test-nightly (push) Has been cancelled
2024-07-25 08:25:39 +00:00
Emmanuel Gil Peyrot
62b2966b9d
xmpp-parsers: Simplify the page-flip logic for MAM
...
This only has to be a bool, no need for this Option<bool>.
2024-07-25 08:04:49 +00:00
Emmanuel Gil Peyrot
fa2846024f
xmpp-parsers: Fix typos noticed by codespell
2024-07-25 07:54:30 +00:00
Emmanuel Gil Peyrot
6e1f24c385
xso: Apply clippy’s suggestions
2024-07-25 07:35:19 +00:00
Jonas Schäfer
ca53892e66
xso: add README files
2024-07-24 16:27:53 +02:00
Jonas Schäfer
d6d9a7aaaf
Add changelog stub files for xso crates
2024-07-24 16:27:33 +02:00
Jonas Schäfer
7bc7e7a684
xso: remove remnants of IntoXml
2024-07-24 16:05:06 +02:00
Jonas Schäfer
ccf38cdf9b
Port everything over to AsXml
2024-07-24 16:05:06 +02:00
Jonas Schäfer
4910b01244
xso: add text conversion traits for AsXml
2024-07-24 16:05:06 +02:00
Jonas Schäfer
569b6e327d
xso: provide adapter for AsXml implementation based on Into<Element>
...
Analogous to the already existing `IntoXml` implementation helpers
based on an `Into<Element>` implementation on a type, this provides
the utilities for `AsXml`.
This is of course exceptionally inefficient, but it is only needed
transitionally until we have everything migrated to derive macros or
otherwise rewritten in terms of AsXml/FromXml.
2024-07-24 16:05:06 +02:00
Jonas Schäfer
d12b6c31ea
xso: implement AsXml for minidom::Element
2024-07-24 16:05:06 +02:00