00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef SEND_FORM_WITH_QT
00019 #define SEND_FORM_WITH_QT
00020
00021 #include <QByteArray>
00022 #include <QHash>
00023 #include <QNetworkAccessManager>
00024 #include <QNetworkReply>
00025 #include <QNetworkRequest>
00026 #include <QString>
00027 #include <QStringList>
00028 #include <QUrl>
00029
00033 class SendForm
00034 {
00035 public:
00042 SendForm( const QUrl & destination );
00043
00051 void addField( const QString & name, const QString & value );
00052
00064 void addFields( const QStringList & names, const QStringList & values );
00065
00072 void clearFields();
00073
00081 void addFile( const QString & name, const QString & file );
00082
00094 void addFiles( const QStringList & names, const QStringList & files );
00095
00100 void clearFiles();
00101
00109 void clear();
00110
00118 void setHeader( const QByteArray & headerName, const QByteArray & headerValue );
00119
00126 void setReferer( const QString & url );
00127
00132 void setDefaultUserAgent();
00133
00140 void forceMultipart();
00141
00150 void removeMultipart();
00151
00160 QNetworkReply * post( QNetworkAccessManager * manager );
00161
00162 private:
00163 QNetworkRequest m_request;
00164 QUrl m_destination;
00165 QHash< QString, QString > m_files;
00166 QHash< QString, QString > m_fields;
00167 bool m_forcemultipart;
00168
00169 static void init();
00170 static bool m_initialized;
00171 static QHash< QString, QByteArray > mimeTypes;
00172 };
00173
00174 #endif