summaryrefslogtreecommitdiffstats
path: root/examples/qtmail/emailclient.cpp
diff options
context:
space:
mode:
authorPekka Vuorela <pvuorela@iki.fi>2025-11-05 17:49:28 +0200
committerPekka Vuorela <pvuorela@iki.fi>2025-11-25 09:17:03 +0200
commitd433b8398abd210e1f3b9afc53ede28932cf6a45 (patch)
tree74236585cea9c68da57a191b63c073dc40c18ede /examples/qtmail/emailclient.cpp
parentd88148760311d25cb518c3fa82a32437558ed339 (diff)
Separate D-Bus serialization from generic serialization APIs
Allows to better follow and change how D-Bus IPC happens in detail, not implemented somewhere deep there in templated serialization methods. Now only defining d-bus serialization for what's actually needed. Avoids also spreading the D-Bus around. Now it's quite well contained where needed. Allowing to better add more IPC mechanisms for other platforms if needed. Once messagekey serialization is done properly without qt binary data there shouldn't be too much need anymore for the existing serialization and those could be removed, at least to some extend. This paves the way. QMailMessageServer::registerTypes() replaced with QMailIpc::init() which should be more generic and handles now registering all the D-Bus types needed. Some minor adjustments to the D-Bus API: - The message key signatures on xml seemed wrong, more of how the common datastream serialization happened instead of the d-bus specialization. - Some enums used only on classes are not explicitly registered and are passed just by integer value. Not getting the struct container as registered enums. Simplifies the signatures a bit. - On message metadata moved custom fields as second last, and dirty states as last. Seemed more logical that way. Not sure should the dirtyness really even exist on the serialized data. Was hoping to get rid of more struct containers on enums but apparently qdbusxml2cpp ignores type annotation for basic types like strings and integers. Could consider should the signatures be still simplified by, for example, passing named property arrays, but that's for later. Change-Id: Idf55699aebca45e199fe58215df665c8092475c3 Reviewed-by: <matti.viljanen@kapsi.fi> Reviewed-by: Damien Caliste <dcaliste@free.fr> Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
Diffstat (limited to 'examples/qtmail/emailclient.cpp')
0 files changed, 0 insertions, 0 deletions