/* */ #ifndef _D_DOWNLOAD_HANDLER_H_ #define _D_DOWNLOAD_HANDLER_H_ #include "common.h" class RequestGroup; class Logger; class RequestGroupCriteria; typedef SharedHandle RequestGroupCriteriaHandle; class DownloadHandler { protected: RequestGroupCriteriaHandle _criteria; const Logger* _logger; private: bool forwardMatch(const string& target, const Strings& candidates) const; bool exactMatch(const string& target, const Strings& candidates) const; public: DownloadHandler(); virtual ~DownloadHandler(); bool canHandle(const RequestGroup* requestGroup) const; void setCriteria(const RequestGroupCriteriaHandle& criteria); }; #endif // _D_DOWNLOAD_HANDLER_H_