diff -r 2b40d63a9c3d -r 90517678cc4f qtmobility/src/versit/qversitreader_p.h --- a/qtmobility/src/versit/qversitreader_p.h Fri Apr 16 15:51:22 2010 +0300 +++ b/qtmobility/src/versit/qversitreader_p.h Mon May 03 13:18:40 2010 +0300 @@ -66,9 +66,16 @@ #include #include #include +#include #include #include #include +#include +#include + +QT_BEGIN_NAMESPACE +class QBuffer; +QT_END_NAMESPACE QTM_BEGIN_NAMESPACE @@ -126,10 +133,11 @@ public: // Constructors and destructor QVersitReaderPrivate(); ~QVersitReaderPrivate(); + void init(QVersitReader* reader); signals: void stateChanged(QVersitReader::State state); - void resultsAvailable(QList& results); + void resultsAvailable(); protected: // From QThread void run(); @@ -167,7 +175,7 @@ QVersitDocument& document, const QVersitProperty& property) const; - void unencode( + bool unencode( QVariant& value, VersitCursor& cursor, QVersitProperty& property, @@ -182,6 +190,7 @@ void decodeQuotedPrintable(QString& text) const; + /* These functions operate on a cursor describing a single line */ QPair extractPropertyGroupsAndName(VersitCursor& line, QTextCodec* codec) const; @@ -199,9 +208,21 @@ QString paramName(const QByteArray& parameter, QTextCodec* codec) const; QString paramValue(const QByteArray& parameter, QTextCodec* codec) const; static bool containsAt(const QByteArray& text, const QByteArray& ba, int index); + bool splitStructuredValue(QVersitDocument::VersitType type, + QVersitProperty& property, + bool hasEscapedBackslashes) const; + static QStringList splitValue(const QString& string, + const QChar& sep, + QString::SplitBehavior behaviour, + bool hasEscapedBackslashes); + static void removeBackSlashEscaping(QString& text); public: // Data + /* key is the document type and property name, value is the type of property it is. + If there is no entry, assume it is a PlainType */ + QHash, QVersitProperty::ValueType> mValueTypeMap; QPointer mIoDevice; + QScopedPointer mInputBytes; // Holds the data set by setData() QList mVersitDocuments; int mDocumentNestingLevel; // Depth in parsing nested Versit documents QTextCodec* mDefaultCodec;