Skip to content
Commit 5535d6e5 authored by Daniel Vrátil's avatar Daniel Vrátil 🤖
Browse files

Generate Protocol from an XML specification (ABI break)

Instead of maintaining 12k lines of hand-written protocol code, we
specify the protocol in an XML and use a custom-written generator
that generates the code for us.

It's not only much easier to modify the protocol - we only need to
change a single thing in the XML instead of touching several places
of the implementation - but it's also much safer, as there's less
risk of accidentally introducing a bug in the code.

The major difference between the original hand-written code and the
generated code is that we no longer use QSharedDataPointer and virtual
methods in the Private classes, but instead all members are directly
in the command clas with most getters and setters inlined. This means
that copying commands is quite costly, so we pass them around as
QSharedPointers or const references. This should give us a tiny little
bit more performance.
parent 5da66a91
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment