59 lines
1.7 KiB
C++
59 lines
1.7 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_ */
|