#ifndef QTJSONSERIALIZER_METAWRITERS_P_H #define QTJSONSERIALIZER_METAWRITERS_P_H #include "metawriters.h" #include namespace QtJsonSerializer::MetaWriters { class MetaWritersPrivate { public: static QReadWriteLock sequenceLock; static QHash sequenceFactories; static QHash sequenceInfoCache; static QReadWriteLock associationLock; static QHash associationFactories; static QHash associationInfoCache; static SequentialWriter::SequenceInfo tryParseSequenceInfo(int metaTypeId); static AssociativeWriter::AssociationInfo tryParseAssociationInfo(int metaTypeId); }; Q_DECLARE_LOGGING_CATEGORY(logSeqWriter) Q_DECLARE_LOGGING_CATEGORY(logAsocWriter) namespace Implementations { class SequentialWriterFactoryQStringList : public SequentialWriterFactory { public: QSharedPointer create(void *data) const final { return QSharedPointer>::create(reinterpret_cast(data)); } }; class SequentialWriterFactoryQByteArrayList : public SequentialWriterFactory { public: QSharedPointer create(void *data) const final { return QSharedPointer>::create(reinterpret_cast(data)); } }; class SequentialWriterFactoryQVariantList : public SequentialWriterFactory { public: QSharedPointer create(void *data) const final { return QSharedPointer>::create(reinterpret_cast(data)); } }; class AssociativeWriterFactoryQVariantMap : public AssociativeWriterFactory { public: QSharedPointer create(void *data) const final { return QSharedPointer>::create(reinterpret_cast(data)); } }; class AssociativeWriterFactoryQVariantHash : public AssociativeWriterFactory { public: QSharedPointer create(void *data) const final { return QSharedPointer>::create(reinterpret_cast(data)); } }; } } #endif // QTJSONSERIALIZER_METAWRITERS_P_H