00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include <qmime.h>
00018
00019 #include <qstring.h>
00020 #include <qdragobject.h>
00021 #include <qtextbrowser.h>
00022 #include <qmessagebox.h>
00023
00024 #include <stdio.h>
00025
00026 #include <sys/types.h>
00027 #include <sys/socket.h>
00028 #include <unistd.h>
00029 #include <netinet/in.h>
00030 #include <netdb.h>
00031 #include <arpa/inet.h>
00032
00033
00034
00035 class HttpFactory : public QMimeSourceFactory
00036 {
00037 public:
00038 HttpFactory(QTextBrowser *newBrowser);
00039 const QMimeSource * data(const QString &abs_name) const;
00040 const QMimeSource * data(const QString &abs_or_rel_name, const QString & context) const;
00041 private:
00042
00043
00044 QTextDrag *text;
00045 QImageDrag *image;
00046 QTextBrowser *browser;
00047
00048 const QByteArray processResponse( int sockfd, bool &isText) const;
00049 const QByteArray recieveNormal( int sockfd, int dataLen ) const;
00050 const QByteArray recieveChunked( int sockfd ) const;
00051 };