/* * TwoActionLoggerInitializer.cpp * * Created on: 24 ÿíâ. 2022 ã. * Author: sozonov */ #include "TwoSignalActionLogger.hh" #include "../../systemic/ActionLogger.hpp" #include "../../systemic/MemberFuntion.hpp" application::log::TwoSignalActionLogger::TwoSignalActionLogger( const Links & links ) : links( links ) {} bool application::log::TwoSignalActionLogger::input( Environment & env ) { return ( ( signal_f = env.signals.get( links.first_signal ) ) and ( signal_s = env.signals.get( links.second_signal ) ) ); } void application::log::TwoSignalActionLogger::build( Environment & env ) { typedef systemic::TwoSignalActionLogger SigActionLogger; SigActionLogger * loggable = memories::instance_object( env.static_setup_ma, *signal_f, *signal_s ); env.rholder.share(*loggable, links.signals_log); typedef systemic::detail::MemberFuntion ActionLogging; ActionLogging * action_log = memories::instance_object( env.static_setup_ma, *loggable ); env.rholder.share( *action_log, links.logging ); }