/* */ #ifndef CONTROL_CHAIN_H #define CONTROL_CHAIN_H namespace aria2 { // This class template is used to transit to the next state using // T. The main application is embed to the Command classes and get // next Command from the previous Command. template struct ControlChain { virtual ~ControlChain() {} // Currently, the implementation must returns 0. virtual int run(T t, DownloadEngine* e) = 0; }; } // namespace aria2 #endif // CONTROL_CHAIN_H