Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the QtXmlPatterns module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    5353#define Patternist_AccelTreeResourceLoader_H
    5454
    55 #include <QtCore/QHash>
    5655#include <QtCore/QEventLoop>
    5756#include <QtNetwork/QNetworkReply>
     
    5958#include "qabstractxmlreceiver.h"
    6059#include "qacceltree_p.h"
     60#include "qacceltreebuilder_p.h"
    6161#include "qdeviceresourceloader_p.h"
    6262#include "qnamepool_p.h"
     
    7777     *
    7878     * @see AccelTreeResourceLoader::load()
    79      * @author Frans Englich <fenglich@trolltech.com>
     79     * @author Frans Englich <frans.englich@nokia.com>
    8080     */
    8181    class NetworkLoop : public QEventLoop
     
    110110     * them as AccelTree instances.
    111111     *
    112      * @author Frans Englich <fenglich@trolltech.com>
     112     * @author Frans Englich <frans.englich@nokia.com>
    113113     */
    114114    class Q_AUTOTEST_EXPORT AccelTreeResourceLoader : public DeviceResourceLoader
     
    116116    public:
    117117        /**
     118         * Describes the behaviour of the resource loader in case of an
     119         * error.
     120         */
     121        enum ErrorHandling
     122        {
     123            FailOnError,        ///< The resource loader will report the error via the report context.
     124            ContinueOnError     ///< The resource loader will report no error and return an empty QNetworkReply.
     125        };
     126
     127        /**
    118128         * AccelTreeResourceLoader does not own @p context.
    119129         */
    120130        AccelTreeResourceLoader(const NamePool::Ptr &np,
    121                                 const NetworkAccessDelegator::Ptr &networkDelegator);
     131                                const NetworkAccessDelegator::Ptr &networkDelegator, AccelTreeBuilder<true>::Features = AccelTreeBuilder<true>::NoneFeature);
    122132
    123133        virtual Item openDocument(const QUrl &uri,
     134                                  const ReportContext::Ptr &context);
     135        virtual Item openDocument(QIODevice *source, const QUrl &documentUri,
    124136                                  const ReportContext::Ptr &context);
    125137        virtual SequenceType::Ptr announceDocument(const QUrl &uri, const Usage usageHint);
     
    134146                                      const SourceLocationReflection *const where);
    135147
    136 
    137148        /**
    138149         * @short Helper function that do NetworkAccessDelegator::get(), but
     
    150161        static QNetworkReply *load(const QUrl &uri,
    151162                                   QNetworkAccessManager *const networkManager,
    152                                    const ReportContext::Ptr &context);
     163                                   const ReportContext::Ptr &context, ErrorHandling handling = FailOnError);
    153164
    154165        /**
     
    157168        static QNetworkReply *load(const QUrl &uri,
    158169                                   const NetworkAccessDelegator::Ptr &networkDelegator,
    159                                    const ReportContext::Ptr &context);
     170                                   const ReportContext::Ptr &context, ErrorHandling handling = FailOnError);
    160171
    161172        /**
     
    166177
    167178        virtual void clear(const QUrl &uri);
     179
    168180    private:
    169181        static bool streamToReceiver(QIODevice *const dev,
    170                                      QAbstractXmlReceiver *const receiver,
     182                                     AccelTreeBuilder<true> *const receiver,
    171183                                     const NamePool::Ptr &np,
    172184                                     const ReportContext::Ptr &context,
     
    174186        bool retrieveDocument(const QUrl &uri,
    175187                              const ReportContext::Ptr &context);
     188        bool retrieveDocument(QIODevice *source, const QUrl &documentUri,
     189                              const ReportContext::Ptr &context);
    176190        /**
    177191         * If @p context is @c null, no error reporting should be done.
     
    186200        const NetworkAccessDelegator::Ptr       m_networkAccessDelegator;
    187201        QHash<QPair<QUrl, QString>, QString>    m_unparsedTexts;
     202        AccelTreeBuilder<true>::Features        m_features;
    188203    };
    189204}
Note: See TracChangeset for help on using the changeset viewer.