/* */ #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 DHTAbstractTask:public DHTTask { private: bool finished_; SharedHandle localNode_; DHTRoutingTable* routingTable_; DHTMessageDispatcher* dispatcher_; DHTMessageFactory* factory_; DHTTaskQueue* taskQueue_; protected: void setFinished(bool f) { finished_ = f; } public: DHTAbstractTask(); virtual bool finished(); DHTRoutingTable* getRoutingTable() const { return routingTable_; } void setRoutingTable(DHTRoutingTable* routingTable); DHTMessageDispatcher* getMessageDispatcher() const { return dispatcher_; } void setMessageDispatcher(DHTMessageDispatcher* dispatcher); DHTMessageFactory* getMessageFactory() const { return factory_; } void setMessageFactory(DHTMessageFactory* factory); DHTTaskQueue* getTaskQueue() const { return taskQueue_; } void setTaskQueue(DHTTaskQueue* taskQueue); const SharedHandle& getLocalNode() const { return localNode_; } void setLocalNode(const SharedHandle& localNode); }; } // namespace aria2 #endif // D_DHT_ABSTRACT_TASK_H