MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/technological/ITechFunction.hh

41 lines
882 B
C++

/*
* ITechFunction.h
*
* Created on: 23 íîÿá. 2016 ã.
* Author: titov
*/
#ifndef SOURCE_TECHNOLOGICAL_ITECHFUNCTION_H_
#define SOURCE_TECHNOLOGICAL_ITECHFUNCTION_H_
#include <cstddef>
namespace technological {
struct ITechFunction {
enum State : short {
FAILURE = -1,
DISABLE = 0,
EXECUTE = 1,
FINISHED = 2
};
//!Çàïóñê êîíêðåòíîé ïðîöåäóðû íàñòðîéêè è äèàãíîñòèêè.
virtual bool run( const char * value, std::size_t size ) = 0;
//!Îñòàíîâêà êîêíðåòíîé ïðîöåäóðû íàñòðîéêè è äèàãíîñòèêè.
virtual void stop() = 0;
//!Ïîëó÷åíèå çíà÷åíèé êîíêðåòíîé ïðîöåäóðû.
virtual bool getResult( char * value, std::size_t size ) const = 0;
//!Ïîëó÷åíèå ñîñòîÿíèå âûïîëíåíèÿ òåõíîëîãè÷åñêîé ôóíêöèè.
virtual short getState() const = 0;
virtual ~ITechFunction() = default;
};
}
#endif /* SOURCE_TECHNOLOGICAL_ITECHFUNCTION_H_ */