00001 #ifndef ABUSEADDIESCACHE_H
00002 #define ABUSEADDIESCACHE_H
00003
00004 #include <string>
00005 #include <list>
00006 #include <abuse/Url.h>
00007 #include <stdexcept>
00008
00015
00016
00017
00018
00019 class NotFoundException: public std::runtime_error
00020 {
00021 public:
00023
00024
00025
00026 NotFoundException():std::runtime_error("Not found"){}
00027 };
00035
00036
00037 class AbuseAddiesCache
00038 {
00039 public:
00041 virtual ~AbuseAddiesCache(){}
00043
00048 virtual std::list<std::string> query(const Url& url)const throw(std::runtime_error)=0;
00050
00055 virtual std::list<std::string> query(const std::string& domain)const throw(std::runtime_error)=0;
00057
00062 virtual void add(const UrlRange& range,const std::list<std::string>& addies){}
00063
00064 };
00066 #endif