00001 #ifndef THREADEDDNSBL_H 00002 #define THREADEDDNSBL_H 00003 00004 #include <abuse/Thread.h> 00005 #include <abuse/Dnsbl.h> 00006 #include <abuse/Event.h> 00007 #include <abuse/Url.h> 00008 00009 class ThreadedDnsbl: public Thread 00010 { 00011 public: 00012 ThreadedDnsbl(const Dnsbl& dnsbl); 00013 virtual ~ThreadedDnsbl(); 00014 Result getResult()const; 00015 const Dnsbl& getDnsbl()const 00016 { 00017 return m_dnsbl; 00018 } 00019 const Event& getEvent()const; 00020 void check(const Url& url)const; 00021 void stop(); 00022 protected: 00023 virtual THREADRETVALUE run(); 00024 bool m_terminate; 00025 mutable Event m_start; 00026 Event m_stop; 00027 const Dnsbl& m_dnsbl; 00028 const Url* m_url; 00029 Result m_result; 00030 }; 00031 00032 #endif