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 |
|
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 |
|
Emmanuel Gil Peyrot
|
de93c32cb5
|
jingle_ft: Add a received parser.
|
2017-04-28 23:43:47 +01:00 |
|
Emmanuel Gil Peyrot
|
eeb9b36620
|
jingle_ft: Make Creator into an enum, instead of a String.
|
2017-04-28 23:43:24 +01:00 |
|
Emmanuel Gil Peyrot
|
9f6eea06ce
|
ns: Fix the hashes text-names namespaces.
|
2017-04-28 23:42:50 +01:00 |
|
Emmanuel Gil Peyrot
|
fe3300b4b0
|
jingle_ft: Add the forgotten desc element.
|
2017-04-28 23:42:27 +01:00 |
|
Emmanuel Gil Peyrot
|
30a596cb26
|
ibb: Implement serialise.
|
2017-04-27 19:05:51 +01:00 |
|
Emmanuel Gil Peyrot
|
6a48a6bf00
|
ecaps2, error: Update to base64 0.5.
|
2017-04-27 18:33:02 +01:00 |
|
Emmanuel Gil Peyrot
|
5d51dff9e6
|
disco: Bump minidom dependency to 0.2.0, which fixes xml:lang parsing.
|
2017-04-26 00:22:40 +01:00 |
|
Emmanuel Gil Peyrot
|
a0eab6c1af
|
ecaps2: Import Digest from digest.
|
2017-04-26 00:20:50 +01:00 |
|
Emmanuel Gil Peyrot
|
7fc40dbb19
|
ecaps2: Remove extraneous borrowing on base64::encode.
|
2017-04-24 20:03:05 +01:00 |
|
Emmanuel Gil Peyrot
|
049ef23595
|
jingle_ft: Implement IntoElements on Range, and change size to be an u64.
|
2017-04-24 19:52:41 +01:00 |
|
Emmanuel Gil Peyrot
|
5abf820fad
|
jingle_ft: Implement serialise.
|
2017-04-24 19:25:00 +01:00 |
|
Emmanuel Gil Peyrot
|
db1a87e2ee
|
jingle: Implement serialise.
|
2017-04-24 19:25:00 +01:00 |
|
Emmanuel Gil Peyrot
|
fa10ab4ebc
|
jingle: Implement From for String on all special attributes.
|
2017-04-24 19:25:00 +01:00 |
|
Emmanuel Gil Peyrot
|
90f1792ebc
|
jingle_ibb: Make the fields in Transport public.
|
2017-04-24 19:25:00 +01:00 |
|
Emmanuel Gil Peyrot
|
2b19a415d4
|
jingle_ibb: Implement serialise.
|
2017-04-24 19:25:00 +01:00 |
|
Emmanuel Gil Peyrot
|
c71b32ae24
|
ibb: Implement IntoAttributeValue for Stanza.
|
2017-04-24 19:25:00 +01:00 |
|
Maxime “pep” Buquet
|
1b4c0c4589
|
iq: Clippify
|
2017-04-24 19:20:35 +01:00 |
|
Maxime “pep” Buquet
|
c462d230f1
|
ping, iq: Implement ping::serialise_ping and link to Iq.
|
2017-04-23 21:17:26 +01:00 |
|
Maxime “pep” Buquet
|
b259ab9ef2
|
iq: Link disco parser to Iq.
|
2017-04-23 21:12:27 +01:00 |
|
Maxime “pep” Buquet
|
04af2f3d26
|
Implement Iq stanzas parsing
|
2017-04-23 20:38:13 +01:00 |
|
Emmanuel Gil Peyrot
|
944cb3964e
|
presence: Add status as a possible payload.
|
2017-04-23 19:32:48 +01:00 |
|
Emmanuel Gil Peyrot
|
93343f3a00
|
Add a status parser.
|
2017-04-23 19:28:25 +01:00 |
|
Emmanuel Gil Peyrot
|
948b54d073
|
ecaps2: Implement blake2b.
|
2017-04-23 19:28:03 +01:00 |
|
Emmanuel Gil Peyrot
|
2c95fd6786
|
presence: Add ecaps2 as a possible payload.
|
2017-04-23 18:38:53 +01:00 |
|
Emmanuel Gil Peyrot
|
429abb996d
|
ecaps2: Implement serialise.
|
2017-04-23 18:36:37 +01:00 |
|
Emmanuel Gil Peyrot
|
20949c2832
|
hashes: Implement serialise.
|
2017-04-23 18:36:12 +01:00 |
|
Emmanuel Gil Peyrot
|
78e8a06ec2
|
Add a presence parser.
|
2017-04-23 17:30:23 +01:00 |
|
Emmanuel Gil Peyrot
|
6a56918484
|
ns: Add the namespaces of hashes functions we implement.
|
2017-04-23 17:30:07 +01:00 |
|
Emmanuel Gil Peyrot
|
c81509744f
|
lib, message, jingle_ft: Remove unused imports.
|
2017-04-23 15:32:38 +01:00 |
|
Emmanuel Gil Peyrot
|
5e7ad720c3
|
Add a message parser, along with a dependency on jid.
|
2017-04-23 15:13:03 +01:00 |
|
Emmanuel Gil Peyrot
|
15634b6500
|
ping: Remove extraneous brackets.
|
2017-04-23 03:45:14 +01:00 |
|
Emmanuel Gil Peyrot
|
16a6ebd751
|
ibb: Simplify the FromStr using match.
|
2017-04-23 03:44:58 +01:00 |
|
Emmanuel Gil Peyrot
|
659eaee14e
|
data_forms: Simplify the FromStr using match.
|
2017-04-23 03:42:50 +01:00 |
|
Emmanuel Gil Peyrot
|
90db24eed8
|
jingle: Simplify the FromStr using match.
|
2017-04-23 03:41:26 +01:00 |
|
Emmanuel Gil Peyrot
|
7e964b167a
|
message_correct: Add a serialise function, and simplify the representation.
|
2017-04-23 03:23:13 +01:00 |
|
Emmanuel Gil Peyrot
|
4128c4b9ed
|
chatstates: Add a serialise function.
|
2017-04-23 03:22:42 +01:00 |
|
Emmanuel Gil Peyrot
|
7002578bc0
|
body: Test the serialise function.
|
2017-04-23 03:22:25 +01:00 |
|
Emmanuel Gil Peyrot
|
cebccb363f
|
eme: Add a serialise function.
|
2017-04-23 03:22:02 +01:00 |
|
Emmanuel Gil Peyrot
|
c6036194b1
|
delay: Add a serialise function.
|
2017-04-23 03:21:53 +01:00 |
|
Emmanuel Gil Peyrot
|
ab841dc375
|
receipts: Add a serialise function.
|
2017-04-23 03:21:21 +01:00 |
|