40 lines
1.0 KiB
C++
40 lines
1.0 KiB
C++
/*
|
||
* SignalActionLoggerInitializer.cpp
|
||
*
|
||
* Created on: 23 янв. 2022 г.
|
||
* Author: sozonov
|
||
*/
|
||
|
||
|
||
#include "SignalActionLogger.hh"
|
||
|
||
#include "../../systemic/ActionLogger.hpp"
|
||
#include "../../systemic/MemberFuntion.hpp"
|
||
|
||
application::log::SignalActionLogger::SignalActionLogger( const Links & links ) : links( links ) {}
|
||
|
||
|
||
bool application::log::SignalActionLogger::input( Environment & env ) {
|
||
|
||
return ( signal = env.signals.get( links.signal ) );
|
||
|
||
}
|
||
|
||
void application::log::SignalActionLogger::build( Environment & env ) {
|
||
typedef systemic::SignalActionLogger SigActionLogger;
|
||
|
||
SigActionLogger * loggable = memories::instance_object<SigActionLogger>( env.static_setup_ma, *signal);
|
||
|
||
|
||
env.rholder.share<logging::ILoggable>(*loggable, links.signals_log);
|
||
|
||
|
||
typedef systemic::detail::MemberFuntion<SigActionLogger, void, &SigActionLogger::logging > ActionLogging;
|
||
ActionLogging * action_log = memories::instance_object<ActionLogging>( env.static_setup_ma, *loggable );
|
||
env.rholder.share<Action>( *action_log, links.logging );
|
||
|
||
|
||
}
|
||
|
||
|