27 lines
886 B
C++
27 lines
886 B
C++
/*
|
|
* ControlStateExternal.cpp
|
|
*
|
|
* Created on: 27 ńĺíň. 2021 ă.
|
|
* Author: titov
|
|
*/
|
|
|
|
#include "ControlStateExternal.hh"
|
|
|
|
#include <shared_mutex>
|
|
|
|
technological::drivecontrol::ControlStateExternalComplite::ControlStateExternalComplite(
|
|
IExecutorState & state, systemic::IStatus & status, CommandCode self_code, CommandCode disable_code ) : state(state), status(status),
|
|
self_code(self_code), disable_code(disable_code) {}
|
|
|
|
bool technological::drivecontrol::ControlStateExternalArgs::execute(
|
|
CommandCode code, const char * _1, std::size_t _2 ) {
|
|
|
|
std::shared_lock<systemic::SharedData> args_lock( args );
|
|
|
|
return state.execute(code, args.get().first, args.get().second);
|
|
|
|
}
|
|
|
|
technological::drivecontrol::ControlStateExternalArgs::ControlStateExternalArgs(
|
|
IExecutorState & state, systemic::SharedData args ) : args(args), state(state) {}
|