MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/application/basic/PrivateParamProvider.hh

59 lines
1.5 KiB
C++

/*
* PrivateParamProvider.hh
*
* Created on: 30 àâã. 2021 ã.
* Author: sozonov
*/
#ifndef UMLIBRARY_APPLICATION_BASIC_PRIVATEPARAMPROVIDER_HH_
#define UMLIBRARY_APPLICATION_BASIC_PRIVATEPARAMPROVIDER_HH_
#include "../ISetupStep.hh"
#include "../../systemic/IFunctor.hh"
#include "../../systemic/IParameterProvider.hh"
#include "../../communication/service/FailureOperator.hh"
namespace application { namespace basic {
//!Êîïèðîâàíèå èíòåðôåéñà ïðåäîñòàâëåíèÿ ïàðàìåòðîâ.
struct PrivateParamProvider : public ISetupStep {
typedef systemic::IFunctor<void> Action;
systemic::IParameterProvider * provider_interface = nullptr;
ResourceKeeper<systemic::IParameterProvider> * provider = nullptr;
systemic::SharedData platform_string;
const systemic::CustomParameters::ProviderId const_prov = 0;
struct Links {
Environment::Id param_provider; //!<Èíòåðôåéñ ïðîâîäíèêà ïàðàìåòðîâ..
Environment::SettingId params; //!<Ïîëüçîâàòåëüñêèå íàñòðîêè.
Environment::Id transfer; //!<Ïåðåäà÷à äàííûõ èç ïîëÿ ñ íàñòðîéêàìè âî âíåøíóþ ïàìÿòü.
};
const Links & links;
struct Setting {
uint32_t parameter_id; //!<Èäåíòèôèêàòîð íàñòðîåê.
};
const Setting & setting;
bool input( Environment & env );
bool prepare();
void build( Environment & env );
PrivateParamProvider( const Links & links , const Setting & setting);
};
}}
#endif /* UMLIBRARY_APPLICATION_BASIC_PRIVATEPARAMPROVIDER_HH_ */