#include <QtNetwork/qhttp.h>
#ifndef QHTTP_H
#ifndef QT_NO_HTTP
class QHttp: public QObject{
   public: virtual struct QMetaObject const * metaObject() const
   public: static struct QMetaObject const staticMetaObject;
   public: virtual void* qt_metacast(char const *);
   public: static inline class QString tr(char const * s, char const * c = 0);
   public: static inline class QString trUtf8(char const * s, char const * c = 0);
   public: static inline class QString tr(char const * s, char const * c, int n);
   public: static inline class QString trUtf8(char const * s, char const * c, int n);
   public: virtual int qt_metacall(enum QMetaObject::Call, int, void* *);
   public: explicit QHttp(class QObject* parent = 0);
   public: QHttp(class QString const & hostname, quint16 port = 80, class QObject* parent = 0);
   public: virtual ~QHttp();
   public: enum State{
      Unconnected = 0,
      HostLookup = 1,
      Connecting = 2,
      Sending = 3,
      Reading = 4,
      Connected = 5,
      Closing = 6,
   };
   public: enum Error{
      NoError = 0,
      UnknownError = 1,
      HostNotFound = 2,
      ConnectionRefused = 3,
      UnexpectedClose = 4,
      InvalidResponseHeader = 5,
      WrongContentLength = 6,
      Aborted = 7,
   };
   public: int setHost(class QString const & hostname, quint16 port = 80);
   public: int setSocket(struct QTcpSocket* socket);
   public: int setUser(class QString const & username, class QString const & password = QString::QString());
   public: int setProxy(class QString const & host, int port, class QString const & username = QString::QString(), class QString const & password = QString::QString());
   public: int get(class QString const & path, class QIODevice* to = 0);
   public: int post(class QString const & path, class QIODevice* data, class QIODevice* to = 0);
   public: int post(class QString const & path, class QByteArray const & data, class QIODevice* to = 0);
   public: int head(class QString const & path);
   public: int request(class QHttpRequestHeader const & header, class QIODevice* device = 0, class QIODevice* to = 0);
   public: int request(class QHttpRequestHeader const & header, class QByteArray const & data, class QIODevice* to = 0);
   public: int closeConnection();
   public: int close();
   public: qint64 bytesAvailable() const
   public: qint64 read(char* data, qint64 maxlen);
   public: class QByteArray readAll();
   public: int currentId() const
   public: class QIODevice* currentSourceDevice() const
   public: class QIODevice* currentDestinationDevice() const
   public: class QHttpRequestHeader currentRequest() const
   public: class QHttpResponseHeader lastResponse() const
   public: bool hasPendingRequests() const
   public: void clearPendingRequests();
   public: enum QHttp::State state() const
   public: enum QHttp::Error error() const
   public: class QString errorString() const
   public: void abort();
   protected: void stateChanged(int);
   protected: void responseHeaderReceived(class QHttpResponseHeader const & resp);
   protected: void readyRead(class QHttpResponseHeader const & resp);
   protected: void dataSendProgress(int, int);
   protected: void dataReadProgress(int, int);
   protected: void requestStarted(int);
   protected: void requestFinished(int, bool);
   protected: void done(bool);
   private: QHttp(class QHttp const &);
   private: class QHttp& operator =(class QHttp const &);
   private: inline struct QHttpPrivate* d_func();
   private: inline struct QHttpPrivate const * d_func() const
   friend struct QHttpPrivate;
   friend struct QHttpNormalRequest;
   friend struct QHttpSetHostRequest;
   friend struct QHttpSetSocketRequest;
   friend struct QHttpSetUserRequest;
   friend struct QHttpSetProxyRequest;
   friend struct QHttpCloseRequest;
   friend struct QHttpPGHRequest;
};
#endif // QT_NO_HTTP
#endif // QHTTP_H