~ubuntu-branches/ubuntu/trusty/tomahawk/trusty-proposed

« back to all changes in this revision

Viewing changes to thirdparty/qxt/qxtweb-standalone/qxtweb/qxtwebcontent.h

  • Committer: Package Import Robot
  • Author(s): Harald Sitter
  • Date: 2013-03-07 21:50:13 UTC
  • Revision ID: package-import@ubuntu.com-20130307215013-6gdjkdds7i9uenvs
Tags: upstream-0.6.0+dfsg
ImportĀ upstreamĀ versionĀ 0.6.0+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
 **
 
3
 ** Copyright (C) Qxt Foundation. Some rights reserved.
 
4
 **
 
5
 ** This file is part of the QxtWeb module of the Qxt library.
 
6
 **
 
7
 ** This library is free software; you can redistribute it and/or modify it
 
8
 ** under the terms of the Common Public License, version 1.0, as published
 
9
 ** by IBM, and/or under the terms of the GNU Lesser General Public License,
 
10
 ** version 2.1, as published by the Free Software Foundation.
 
11
 **
 
12
 ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
 
13
 ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
 
14
 ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
 
15
 ** FITNESS FOR A PARTICULAR PURPOSE.
 
16
 **
 
17
 ** You should have received a copy of the CPL and the LGPL along with this
 
18
 ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
 
19
 ** included with the source distribution for more information.
 
20
 ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
 
21
 **
 
22
 ** <http://libqxt.org>  <foundation@libqxt.org>
 
23
 **
 
24
 ****************************************************************************/
 
25
 
 
26
#ifndef QXTWEBCONTENT_H
 
27
#define QXTWEBCONTENT_H
 
28
 
 
29
#include <QAbstractSocket>
 
30
#include <QByteArray>
 
31
#include <QHash>
 
32
#include <qxtglobal.h>
 
33
 
 
34
class QxtWebContentPrivate;
 
35
class QXT_WEB_EXPORT QxtWebContent : public QIODevice
 
36
{
 
37
    Q_OBJECT
 
38
public:
 
39
    QxtWebContent(int contentLength, const QByteArray& start, QIODevice* device);
 
40
    QxtWebContent(int contentLength, QIODevice* device);
 
41
    explicit QxtWebContent(const QByteArray& content, QObject* parent = 0);
 
42
    static QHash<QString, QString> parseUrlEncodedQuery(const QString& data);
 
43
 
 
44
    virtual qint64 bytesAvailable() const;
 
45
    qint64 unreadBytes() const;
 
46
 
 
47
    void waitForAllContent();
 
48
 
 
49
public Q_SLOTS:
 
50
    void ignoreRemainingContent();
 
51
 
 
52
protected:
 
53
    virtual qint64 readData(char* data, qint64 maxSize);
 
54
    virtual qint64 writeData(const char* data, qint64 maxSize);
 
55
 
 
56
private Q_SLOTS:
 
57
    void errorReceived(QAbstractSocket::SocketError);
 
58
 
 
59
private:
 
60
    QXT_DECLARE_PRIVATE(QxtWebContent)
 
61
};
 
62
 
 
63
#endif // QXTWEBCONTENT_H