/* * 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 Action; systemic::IParameterProvider * provider_interface = nullptr; ResourceKeeper * 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_ */