example/TwitterAuthApp/inc/xmlParser.h
author cgandhi
Tue, 12 Oct 2010 15:23:52 +0530
changeset 27 b3e1347ac96a
parent 26 83d6a149c755
permissions -rw-r--r--
Updating the information for test applications and results.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     1
/**
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     2
* Copyright (c) 2010 Sasken Communication Technologies Ltd.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     3
* All rights reserved.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     4
* This component and the accompanying materials are made available
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     5
* under the terms of the "{License}"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     6
* which accompanies  this distribution, and is available
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     7
* at the URL "{LicenseUrl}".
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     8
*
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     9
* Initial Contributors:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    10
* Narasimhulu Kavadapu, Sasken Communication Technologies Ltd - Initial contribution
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    11
*
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    12
* Contributors:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    13
* Siddhartha Chandra, Sasken Communication Technologies Ltd
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    14
* Description:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    15
* XML Parser class
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    16
*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    17
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    18
#ifndef FB_XML_HANDLER_H
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    19
#define FB_XML_HANDLER_H
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    20
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    21
#include <QObject>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    22
#include <QString>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    23
#include <QXmlDefaultHandler>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    24
#include <QVariantList>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    25
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    26
#include "authAppConstants.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    27
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    28
// FORWARD DECLARATIONS
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    29
class FBRequest;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    30
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    31
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    32
class FBXMLHandler : public QObject, public QXmlDefaultHandler
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    33
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    34
    Q_OBJECT
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    35
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    36
private:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    37
    QVariantList        iStack;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    38
    QList<QString>      iNameStack;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    39
    QVariant            iRootObject;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    40
    QString             iRootName;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    41
    QString             iChars;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    42
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    43
    QString         iParseErrorMessage;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    44
    bool            iError;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    45
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    46
public: /* class functions */
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    47
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    48
    FBXMLHandler();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    49
    ~FBXMLHandler();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    50
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    51
    inline const QString& rootName() const { return iRootName; }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    52
    inline QVariant rootObject() const { return iRootObject; }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    53
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    54
    inline bool parseError() const { return iError; }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    55
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    56
private:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    57
    /* methods from QXmlDefaultHandler */
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    58
    bool startElement( const QString & namespaceURI,
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    59
                       const QString & localName,
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    60
                       const QString & qName,
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    61
                       const QXmlAttributes & atts);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    62
    bool characters(const QString& text);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    63
    bool endElement( const QString & namespaceURI,
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    64
                     const QString & localName,
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    65
                     const QString & qName );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    66
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    67
    /* methods from QXmlErrorHandler */
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    68
    bool error(const QXmlParseException& exception);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    69
    bool fatalError(const QXmlParseException& exception);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    70
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    71
    /* private functions*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    72
    const QString& topName() const;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    73
    void flushCharacters();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    74
    QVariant topObject(bool aCreate);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    75
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    76
    QVariant topContainer();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    77
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    78
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    79
    void initWhiteSpaceHash();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    80
    QHash<QChar, bool> iWhiteSpaceAndNewLineCharSet;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    81
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    82
};
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    83
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    84
#endif // FB_XML_HANDLER_H