00001 #ifndef DNSBLCACHE_H 00002 #define DNSBLCACHE_H 00003 00004 #include <abuse/Url.h> 00005 #include <abuse/Dnsbl.h> 00006 #include <stdexcept> 00007 00008 class cache_miss: public std::exception 00009 { 00010 }; 00011 00012 class DnsblCache 00013 { 00014 public: 00015 virtual ~DnsblCache(){} 00016 virtual Result get(const Url& what,std::string* comments=NULL)const throw(cache_miss)=0; 00017 virtual void put(const Url& what,Result entry,const std::string* comments=NULL)=0; 00018 virtual void setValidity(int hours)=0; 00019 virtual int getValidity()const=0; 00020 00021 }; 00022 00023 #endif