4#include "Stroika/Frameworks/StroikaPreComp.h"
8#include "AppConfiguration.h"
18using namespace StroikaSample;
21using StroikaSample::AppSettings::Private_::AppConfiguration_Storage_IMPL_;
31 mapper.
AddClass<AppConfigurationType> ({
32 {
"WebServerPort"sv, &AppConfigurationType::WebServerPort},
42AppConfiguration_Storage_IMPL_::AppConfiguration_Storage_IMPL_ ()
54 AppConfigurationType::kMapper,
63OptionsFile::mkFilenameMapper (L
"Put-Your-App-Name-Here"sv)}
64 , fActualCurrentConfigData_{fOptionsFile_.Read<AppConfigurationType> (AppConfigurationType{})}
66 Set (fActualCurrentConfigData_);
69AppConfigurationType AppConfiguration_Storage_IMPL_::Get ()
const
71 return fActualCurrentConfigData_;
74void AppConfiguration_Storage_IMPL_::Set (
const AppConfigurationType& v)
76 fActualCurrentConfigData_ = v;
77 fOptionsFile_.Write (v);
Set<T> is a container of T, where once an item is added, additionally adds () do nothing.
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...
nonvirtual void AddClass(const Traversal::Iterable< StructFieldInfo > &fieldDescriptions, const ClassMapperOptions< CLASS > &mapperOptions={})
nonvirtual void AddCommonType(ARGS &&... args)