#ifndef COMMAND_H #define COMMAND_H #include <QFuture> #include <functional> namespace nemo_interface { class Command { public: enum class ERROR { NO_ERROR, NETWORK_TIMEOUT, PARAMETER_ERROR, UNEXPECTED_SERVER_RESPONSE }; typedef QFuture<ERROR> ReturnType; typedef std::function<ReturnType()> Functor; Command(Functor onExec); QFuture<ERROR> exec(); private: Functor _onExec; }; } // namespace nemo_interface #endif // COMMAND_H