/* */ #ifndef _D_DHT_ABSTRACT_TASK_H_ #define _D_DHT_ABSTRACT_TASK_H_ #include "DHTTask.h" #include "SharedHandle.h" #include "DHTConstants.h" namespace aria2 { class DHTNode; class DHTRoutingTable; class DHTMessageDispatcher; class DHTMessageFactory; class DHTMessage; class DHTTaskQueue; class Logger; class DHTAbstractTask:public DHTTask { protected: bool _finished; Logger* _logger; SharedHandle _localNode; WeakHandle _routingTable; WeakHandle _dispatcher; WeakHandle _factory; WeakHandle _taskQueue; public: DHTAbstractTask(); virtual bool finished(); void setRoutingTable(const WeakHandle routingTable); void setMessageDispatcher(const WeakHandle dispatcher); void setMessageFactory(const WeakHandle factory); void setTaskQueue(const WeakHandle taskQueue); void setLocalNode(const SharedHandle& localNode); }; } // namespace aria2 #endif // _D_DHT_ABSTRACT_TASK_H_