KIO
proxyscout.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KPAC_PROXYSCOUT_H
00022 #define KPAC_PROXYSCOUT_H
00023
00024
00025 #include <QtCore/QMap>
00026
00027 #include <kdedmodule.h>
00028 #include <kurl.h>
00029 #include <QtDBus/QtDBus>
00030
00031 #include <time.h>
00032 #include <kcomponentdata.h>
00033
00034 namespace KPAC
00035 {
00036 class Downloader;
00037 class Script;
00038
00039 class ProxyScout : public KDEDModule
00040 {
00041 Q_OBJECT
00042 Q_CLASSINFO("D-Bus Interface", "org.kde.KPAC.ProxyScout")
00043 public:
00044 ProxyScout(QObject* parent, const QList<QVariant>&);
00045 virtual ~ProxyScout();
00046
00047 public Q_SLOTS:
00048 Q_SCRIPTABLE QString proxyForUrl( const QString& checkUrl, const QDBusMessage & );
00049 Q_SCRIPTABLE Q_NOREPLY void blackListProxy( const QString& proxy );
00050 Q_SCRIPTABLE Q_NOREPLY void reset();
00051
00052 private Q_SLOTS:
00053 void downloadResult( bool );
00054
00055 private:
00056 bool startDownload();
00057 QString handleRequest( const KUrl& url );
00058
00059 KComponentData m_componentData;
00060 Downloader* m_downloader;
00061 Script* m_script;
00062
00063 struct QueuedRequest
00064 {
00065 QueuedRequest() {}
00066 QueuedRequest( const QDBusMessage&, const KUrl& );
00067
00068 QDBusMessage transaction;
00069 KUrl url;
00070 };
00071 typedef QList< QueuedRequest > RequestQueue;
00072 RequestQueue m_requestQueue;
00073
00074 typedef QMap< QString, time_t > BlackList;
00075 BlackList m_blackList;
00076 time_t m_suspendTime;
00077 };
00078 }
00079
00080 #endif // KPAC_PROXYSCOUT_H
00081
00082