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 #include <qmap.h>
00025
00026 #include <kdedmodule.h>
00027 #include <kurl.h>
00028
00029 #include <time.h>
00030
00031 class DCOPClientTransaction;
00032 class KInstance;
00033
00034 namespace KPAC
00035 {
00036 class Downloader;
00037 class Script;
00038
00039 class ProxyScout : public KDEDModule
00040 {
00041 Q_OBJECT
00042 K_DCOP
00043 public:
00044 ProxyScout( const QCString& );
00045 virtual ~ProxyScout();
00046
00047 k_dcop:
00048 QString proxyForURL( const KURL& url );
00049 ASYNC blackListProxy( const QString& proxy );
00050 ASYNC reset();
00051
00052 private slots:
00053 void downloadResult( bool );
00054
00055 private:
00056 bool startDownload();
00057 QString handleRequest( const KURL& url );
00058
00059 KInstance* m_instance;
00060 Downloader* m_downloader;
00061 Script* m_script;
00062
00063 struct QueuedRequest
00064 {
00065 QueuedRequest() : transaction( 0 ) {}
00066 QueuedRequest( const KURL& );
00067
00068 DCOPClientTransaction* transaction;
00069 KURL url;
00070 };
00071 typedef QValueList< 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