proxyscout.h
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
This file is part of the documentation for kio Library Version 3.4.0.