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_ ()
55 AppConfigurationType::kMapper,
64 OptionsFile::mkFilenameMapper (
"Put-Your-App-Name-Here"sv)}
65 , fActualCurrentConfigData_{fOptionsFile_.Read<AppConfigurationType> (AppConfigurationType{})}
67 Set (fActualCurrentConfigData_);
70AppConfigurationType AppConfiguration_Storage_IMPL_::Get ()
const
72 return fActualCurrentConfigData_;
75void AppConfiguration_Storage_IMPL_::Set (
const AppConfigurationType& v)
77 fActualCurrentConfigData_ = v;
78 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)