#ifndef COMMAND_H #define COMMAND_H #include #include #include namespace nemo_interface { class Task { public: typedef std::function p)> Functor; typedef std::function BooleanFunctor; Task(const Functor &onExec); void exec(std::promise p); bool isReady(); // default == true bool isExpired(); // default == false void setOnExec(const Functor &onExec); void setIsReady(const BooleanFunctor &isReady); void setIsExpired(const BooleanFunctor &isExpired); private: Functor _onExec; BooleanFunctor _isExpired; BooleanFunctor _isReady; }; } // namespace nemo_interface #endif // COMMAND_H