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