Emmanuel Gil Peyrot
393402032c
jingle: Add a comment.
2017-06-14 00:59:37 +01:00
Emmanuel Gil Peyrot
ebc7582250
Move the Default implementation into more generate_attribute!.
2017-06-14 00:53:18 +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
9955c1131b
ns: Remove now useless 'static lifetime.
2017-06-12 22:49:27 +01:00
Emmanuel Gil Peyrot
6c1c9d0851
Add a PubSub event parser and serialiser.
2017-06-11 14:48:31 +01:00
Emmanuel Gil Peyrot
334f2f78f8
data_forms: Implement IntoElements.
2017-06-11 14:42:11 +01:00
Emmanuel Gil Peyrot
88a3f507f6
idle, delay: Don’t import * from chrono::prelude.
2017-06-08 22:46:27 +02:00
Maxime “pep” Buquet
bd19341f69
Muc <x xmlns=' http://jabber.org/protocol/muc#user'/ > and <status /> parser
2017-05-31 02:54:47 +01:00
Maxime “pep” Buquet
c4c6528197
Muc <x xmlns=' http://jabber.org/protocol/muc'/ > parser
2017-05-30 22:02:56 +01:00
Emmanuel Gil Peyrot
33994c1042
hashes: Implement Eq and Hash.
2017-05-29 05:14:49 +01:00
Emmanuel Gil Peyrot
08ba164073
roster: Add a test for empty name == no name.
2017-05-29 03:42:11 +01:00
Emmanuel Gil Peyrot
7395e4b88f
roster: Make an empty name be None instead.
...
RFC 6121 §2.4.1:
“Implementation Note: Including an empty 'name' attribute is equivalent
to including no 'name' attribute; both actions set the name to the
empty string.”
2017-05-29 03:40:34 +01:00
Emmanuel Gil Peyrot
073e208f06
iq: Wire up Roster.
2017-05-28 17:12:46 +01:00
Emmanuel Gil Peyrot
9eb8f39a38
presence: Make Show handle the None case, and rename PresenceType to Type.
2017-05-28 17:10:12 +01:00
Emmanuel Gil Peyrot
32bfa84551
presence: Rename Available to None, since that’s what it is.
2017-05-28 16:33:43 +01:00
Emmanuel Gil Peyrot
aae435c4d9
Add a roster parser/serialiser.
2017-05-28 16:30:43 +01:00
Emmanuel Gil Peyrot
ee34bc1a86
jingle_s5b: Remove unused .to_owned() during serialisation.
2017-05-28 01:47:12 +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
8e1d5e7983
disco: Make xml:lang a proper Option and rename it to lang.
2017-05-27 22:10:00 +01:00
Emmanuel Gil Peyrot
d1a7d222f0
delay: Use chrono to parse the stamp.
2017-05-27 12:29:21 +01:00
Emmanuel Gil Peyrot
bdaced7603
caps, ecaps2: Add a function to create a Disco query from a hash.
2017-05-27 12:22:50 +01:00
Emmanuel Gil Peyrot
42235c42fb
hashes: Implement From<Hash> for String.
2017-05-27 12:22:11 +01:00
Emmanuel Gil Peyrot
357568813d
presence: Wire up legacy caps.
2017-05-27 12:21:32 +01:00
Emmanuel Gil Peyrot
2c77c4f701
idle: Add the chrono dependency to actually parse dates.
2017-05-27 12:20:19 +01:00
Emmanuel Gil Peyrot
dfdfd8cf71
Add a legacy caps parser and serialiser.
2017-05-25 02:34:03 +01:00
Emmanuel Gil Peyrot
764a7190e9
stanza_error: Simplify with IntoElements.
2017-05-25 01:14:36 +01:00
Emmanuel Gil Peyrot
56b7785942
delay: Remove clones.
2017-05-25 01:04:51 +01:00
Emmanuel Gil Peyrot
f08c81382c
data_forms, media_element: Implement forgotten serialisation.
2017-05-25 01:00:17 +01:00
Emmanuel Gil Peyrot
b4e47e9a78
mam: Improve serialisation.
2017-05-25 00:41:13 +01:00
Emmanuel Gil Peyrot
a6b3152add
hashes: Make the hash a Vec<u8>, to avoid base64 issues.
2017-05-25 00:30:29 +01:00
Emmanuel Gil Peyrot
070227ea03
eme: Remove two clones.
2017-05-25 00:30:00 +01:00
Emmanuel Gil Peyrot
b172a6e05c
ecaps2: Remove the last clone.
2017-05-25 00:04:37 +01:00
Emmanuel Gil Peyrot
9bb65ea8fb
jingle_ibb: Simplify parsing and remove clones.
2017-05-24 23:59:45 +01:00
Emmanuel Gil Peyrot
3678d9f0d3
stanza_error: Simplify attribute handling.
2017-05-24 23:56:35 +01:00
Emmanuel Gil Peyrot
898baddd3f
disco: Split Into<Element> for Identity and Feature.
2017-05-24 23:47:27 +01:00
Emmanuel Gil Peyrot
17d6959606
jingle: Remove unused clones.
2017-05-24 23:38:44 +01:00
Emmanuel Gil Peyrot
9bd1e7f295
jingle_s5b: Remove the clones.
2017-05-24 23:00:38 +01:00
Emmanuel Gil Peyrot
947c49330f
receipts: Parse 'id' using get_attr!(), and make it optional.
2017-05-24 22:43:21 +01:00
Emmanuel Gil Peyrot
47fc116906
media_element: Stop swallowing integer parsing errors.
2017-05-24 22:41:09 +01:00
Emmanuel Gil Peyrot
00f3f3eee6
jingle: Simplify parsing and serialisation.
2017-05-24 22:28:54 +01:00
Emmanuel Gil Peyrot
ecd98251bf
rsm: Remove useless clones.
2017-05-24 21:44:35 +01:00
Emmanuel Gil Peyrot
6952f3adfc
message_correct: Check for unwanted attributes.
2017-05-24 21:42:29 +01:00
Emmanuel Gil Peyrot
453a3635fd
message: Remove extra clones, and simplify Into<Element>.
2017-05-24 21:40:11 +01:00
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