61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
/*
|
|
* SoftSwitch.hh
|
|
*
|
|
* Created on: 3 èþë. 2020 ã.
|
|
* Author: LeonidTitov
|
|
*/
|
|
|
|
#ifndef UMLIBRARY_APPLICATION_SCHEMATIC_SOFTSWITCH_HH_
|
|
#define UMLIBRARY_APPLICATION_SCHEMATIC_SOFTSWITCH_HH_
|
|
|
|
#include "../ISetupStep.hh"
|
|
|
|
#include "../../systemic/ISignal.hh"
|
|
#include "../../systemic/IStatus.hh"
|
|
|
|
#include "../../processing/logic/SoftSwitch.hh"
|
|
|
|
namespace application { namespace schematic {
|
|
|
|
struct SoftSwitch : public ISetupStep {
|
|
|
|
static const systemic::CustomParameters::ProviderId provider_id = 0;
|
|
|
|
systemic::ISignal * input_a = nullptr;
|
|
systemic::ISignal * input_b = nullptr;
|
|
|
|
systemic::IStatus * valid_a = nullptr;
|
|
systemic::IStatus * valid_b = nullptr;
|
|
|
|
systemic::Parameter<processing::logic::SoftSwitch> parameter;
|
|
|
|
bool input( Environment & env );
|
|
void build( Environment & env );
|
|
|
|
struct Links {
|
|
Environment::SignalId value_a; //!<Âõîäíîé ñèãíàë 1.
|
|
Environment::StatusId valid_a; //!<Ïðèçíàê âàëèäíîñòè âõîäíîãî ñèãíàëà 1.
|
|
|
|
Environment::SignalId value_b; //!<Âõîäíîé ñèãíàë 2.
|
|
Environment::StatusId valid_b; //!<Ïðèçíàê âàëèäíîñòè âõîäíîãî ñèãíàëà 2.
|
|
|
|
Environment::SettingId params; //!<Ïàðàìåòðû ïåðåêëþ÷åíèÿ ñèãíàëîâ.
|
|
|
|
Environment::SignalId summary; //!<Èòîãîâûé ñèãíàë.
|
|
|
|
Environment::StatusId active_a; //!<Ïðèíàêç àêòèâíîñòè ñèãíàëà 1.
|
|
Environment::StatusId active_b; //!<Ïðèçíàê àêòèâíîñòè ñèãíàëà 2.
|
|
};
|
|
|
|
const Links & links;
|
|
const configuration::ProcessConfig & params;
|
|
|
|
SoftSwitch( const Links & links, const configuration::ProcessConfig & params ) : links(links), params(params) {}
|
|
};
|
|
|
|
}}
|
|
|
|
|
|
|
|
#endif /* UMLIBRARY_APPLICATION_SCHEMATIC_SOFTSWITCH_HH_ */
|