37 lines
1.2 KiB
C++
37 lines
1.2 KiB
C++
|
|
/*
|
|||
|
|
* ICommandExecutor.h
|
|||
|
|
*
|
|||
|
|
* Created on: 28 авг. 2019 г.
|
|||
|
|
* Author: titov
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef SOURCE_TECHNOLOGICAL_ICOMMANDEXECUTOR_H_
|
|||
|
|
#define SOURCE_TECHNOLOGICAL_ICOMMANDEXECUTOR_H_
|
|||
|
|
|
|||
|
|
#include <cstddef>
|
|||
|
|
|
|||
|
|
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_ */
|