xmlrpcjob.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef BLOKKAL_IOXMLRPCJOB_H
00021 #define BLOKKAL_IOXMLRPCJOB_H
00022
00023 #include "jobs.h"
00024
00025 #include "../blokkal_export.h"
00026
00027 class QDomElement;
00028
00029 class KUrl;
00030 namespace KIO {
00031 class Job;
00032 }
00033
00034 namespace Blokkal {
00035
00036 namespace Io {
00037
00045 class BLOKKAL_EXPORT XmlRpcJob : public Blokkal::Io::Job
00046 {
00047 Q_OBJECT
00048 public:
00060 XmlRpcJob( const KUrl & url,
00061 const QString & methodName,
00062 const QList<QVariant> & params,
00063 unsigned int workArounds = 0,
00064 bool showProgressInfo = FALSE );
00065
00069 virtual ~XmlRpcJob( void );
00070
00075 enum WorkArounds {
00076 WordPressDateWorkAround = 0x01,
00077 };
00078
00084 const QVariant & response( void ) const;
00085
00089 enum ResponseType {
00090 ResponseSuccess = 1,
00091 ResponseFault = 2,
00092 ResponseError = 3,
00093 };
00094
00099 Blokkal::Io::XmlRpcJob::ResponseType responseType( void ) const;
00100
00116 static void encodeData( QDomElement & containerElement,
00117 QVariant data,
00118 unsigned int workArounds = 0 );
00119
00126 static QVariant decodeData( const QDomElement & valueElement );
00127
00128 protected Q_SLOTS:
00135 virtual void slotDataArrived( KIO::Job *job, const QByteArray & data );
00136
00137 protected:
00145 virtual void jobFinished( void );
00146
00147 private:
00148 class Private;
00149 Private * const d;
00150 };
00151
00152 }
00153
00154 }
00155
00156 #endif