32#ifdef _QX_ENABLE_QT_NETWORK
33#ifndef _IX_SERVICE_PARAMETER_H_
34#define _IX_SERVICE_PARAMETER_H_
47#include <QtCore/qdatastream.h>
50#include <QtCore/qjsonvalue.h>
88 virtual void save(QDataStream & stream)
const;
89 virtual void load(QDataStream & stream);
105#define QX_SERVICE_IX_PARAMETER_QDATASTREAM_HPP(className) \
107virtual void save(QDataStream & stream) const; \
108virtual void load(QDataStream & stream);
110#define QX_SERVICE_IX_PARAMETER_QDATASTREAM_CPP(className) \
111void className::save(QDataStream & stream) const { qx::QxSerializeRegistered< className >::save(stream, (* this)); } \
112void className::load(QDataStream & stream) { qx::QxSerializeRegistered< className >::load(stream, (* this)); }
116#define QX_SERVICE_IX_PARAMETER_QJSON_HPP(className) \
118virtual QJsonValue saveToJson() const; \
119virtual qx_bool loadFromJson(const QJsonValue & val);
121#define QX_SERVICE_IX_PARAMETER_QJSON_CPP(className) \
122QJsonValue className::saveToJson() const { return qx::cvt::detail::QxSerializeJsonRegistered< className >::save((* this), ""); } \
123qx_bool className::loadFromJson(const QJsonValue & val) { return qx::cvt::detail::QxSerializeJsonRegistered< className >::load(val, (* this), ""); }
126#define QX_SERVICE_IX_PARAMETER_QJSON_HPP(className)
127#define QX_SERVICE_IX_PARAMETER_QJSON_CPP(className)
130#define QX_SERVICE_IX_PARAMETER_SERIALIZATION_HPP(className) \
131QX_SERVICE_IX_PARAMETER_QDATASTREAM_HPP(className) \
132QX_SERVICE_IX_PARAMETER_QJSON_HPP(className) \
134virtual void registerClass() const; \
135virtual QString getClassName() const;
137#define QX_SERVICE_IX_PARAMETER_SERIALIZATION_CPP(className) \
138QX_SERVICE_IX_PARAMETER_QDATASTREAM_CPP(className) \
139QX_SERVICE_IX_PARAMETER_QJSON_CPP(className) \
140void className::registerClass() const { qx::QxClass< className >::getSingleton(); } \
141QString className::getClassName() const { return #className; }
QX_DLL_EXPORT QDataStream & operator<<(QDataStream &stream, const qx::service::IxParameter &t) QX_USED
QX_DLL_EXPORT QDataStream & operator>>(QDataStream &stream, qx::service::IxParameter &t) QX_USED
#define QX_REGISTER_INTERNAL_HELPER_HPP(dllImportExport, className, version)
qx_bool : boolean type with code and description message when an error occured
qx::service::IxParameter : common interface for all parameters transfered by QxService module of QxOr...
virtual QString getClassName() const
virtual void save(QDataStream &stream) const
virtual QJsonValue saveToJson() const
virtual void registerClass() const
virtual qx_bool loadFromJson(const QJsonValue &val)
virtual void load(QDataStream &stream)
std::shared_ptr< IxParameter > IxParameter_ptr
Root namespace for all QxOrm library features.