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_ */
|