The QProtobufSerializationPluginInterface class is interface that provides possibility to load serialization/deserialization implementations to project via Qt plugin mechanism. More...
#include <qprotobufserializationplugininterface.h>
Public Member Functions | |
virtual std::shared_ptr< QtProtobuf::QAbstractProtobufSerializer > | serializer (const QString &serializerName)=0 |
Method finds and returns pointer to specific serialization implementation by serializer name, otherwise returns nullptr. More... | |
The QProtobufSerializationPluginInterface class is interface that provides possibility to load serialization/deserialization implementations to project via Qt plugin mechanism.
This class should be used as parent of main plugin class. Inherited class should reimplement scope of virtual methods that used by serialization/deserialization functionality. Plugin interface name should be declared via Q_INTERFACES macros. Plugin must provide metadata information about itself. Information is stored in json format and attached to plugin using Q_PLUGIN_METADATA macros.
An example of class source code:
An example of json file:
Plugins are read by path that is defined by QT_PROTOBUF_PLUGIN_PATH variable. QtProtobuf reads plugins metadata list from protobuf plugin folder and provides to user possibility to choose plugin and serializer for serialization/deserialization.
|
pure virtual |
Method finds and returns pointer to specific serialization implementation by serializer name, otherwise returns nullptr.
[in] | name | of specific serializer that should be supplied by plugin. |