Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KLFDATAUTIL_H
00025 #define KLFDATAUTIL_H
00026
00027 #include <QString>
00028 #include <QStringList>
00029 #include <QDomElement>
00030
00031 #include <klffactory.h>
00032
00038 KLF_EXPORT QByteArray klfDataToEscaped(const QByteArray& data, char escapechar = '\\');
00039
00046 KLF_EXPORT QByteArray klfEscapedToData(const QByteArray& escaped, char escapechar = '\\');
00047
00048
00074 KLF_EXPORT QByteArray klfSaveVariantToText(const QVariant& value, bool saveListAndMapsAsXML = false,
00075 QByteArray * savedType = NULL,
00076 QByteArray * savedListOrMapType = NULL);
00077
00097 KLF_EXPORT QVariant klfLoadVariantFromText(const QByteArray& string, const char * dataTypeName,
00098 const char *listOrMapTypeName = NULL);
00099
00100
00102 KLF_EXPORT QDomElement klfSaveVariantMapToXML(const QVariantMap& vmap, QDomElement xmlNode);
00104 KLF_EXPORT QVariantMap klfLoadVariantMapFromXML(const QDomElement& xmlNode);
00105
00107 KLF_EXPORT QDomElement klfSaveVariantListToXML(const QVariantList& vlist, QDomElement xmlNode);
00109 KLF_EXPORT QVariantList klfLoadVariantListFromXML(const QDomElement& xmlNode);
00110
00111
00112
00113
00114
00115
00116 class KLFAbstractPropertizedObject;
00117
00123 class KLFAbstractPropertizedObjectSaver : public KLFFactoryBase
00124 {
00125 public:
00126 KLFAbstractPropertizedObjectSaver();
00127 virtual ~KLFAbstractPropertizedObjectSaver();
00128
00129 virtual QStringList supportedTypes() const = 0;
00130
00131 virtual QString recognizeDataFormat(const QByteArray& data) const = 0;
00132
00133 virtual QByteArray save(const KLFAbstractPropertizedObject * obj, const QString& format) = 0;
00134 virtual bool load(const QByteArray& data, KLFAbstractPropertizedObject * obj, const QString& format) = 0;
00135
00136 static KLFAbstractPropertizedObjectSaver * findRecognizedFormat(const QByteArray& data, QString * format = NULL);
00137 static KLFAbstractPropertizedObjectSaver * findSaverFor(const QString& format);
00138 private:
00139 static KLFFactoryManager pFactoryManager;
00140 };
00141
00142
00143
00144 KLF_EXPORT QByteArray klfSave(const KLFAbstractPropertizedObject * obj, const QString& = "XML");
00145
00149 KLF_EXPORT bool klfLoad(const QByteArray& data, KLFAbstractPropertizedObject * obj,
00150 const QString& format = QString());
00151
00152
00153
00154
00155
00156 #endif