/* * ICommandExecutor.h * * Created on: 28 авг. 2019 г. * Author: titov */ #ifndef SOURCE_TECHNOLOGICAL_ICOMMANDEXECUTOR_H_ #define SOURCE_TECHNOLOGICAL_ICOMMANDEXECUTOR_H_ #include namespace technological { //!Модуль осуществляет выполнение команды. struct ICommandExecutor { //!Тип кода команды. typedef unsigned int CommandCode; //!Запрос на выполнение команды. /*!Функция осущетсвляет запрос на выполнение команды. * \param[in] code Код команды. * \param[in] args Аргументы команды. * \param[in] size Размер аргументов команды. * \return Признак того что команда принята к выполнению. */ virtual bool execute( CommandCode code, const char * args, std::size_t size ) = 0; //!Признак завершения выполнения команды. virtual CommandCode isComplite() const = 0; //!Сброс выполнения команды. virtual void reset() = 0; }; } #endif /* SOURCE_TECHNOLOGICAL_ICOMMANDEXECUTOR_H_ */