Stroika Library 3.0d23
 
Loading...
Searching...
No Matches
Samples/AppSettings/Sources/Main.cpp
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2026. All rights reserved
3 */
4#include "Stroika/Frameworks/StroikaPreComp.h"
5
8#include "Stroika/Foundation/Execution/CommandLine.h"
11
12#include "AppConfiguration.h"
13#include "MoreConfiguration.h"
14
15using namespace std;
16
17using namespace Stroika::Foundation;
19using namespace Stroika::Foundation::Execution;
21using namespace Stroika::Foundation::Memory;
22
23using namespace StroikaSample;
24using namespace StroikaSample::AppSettings;
25
26int main ([[maybe_unused]] int argc, [[maybe_unused]] const char* argv[])
27{
29 Stroika_Foundation_Debug_OptionalizeTraceArgs ("main", "argv={}"_f, Characters::ToString (vector<const char*>{argv, argv + argc}))};
30
31 Logger::Activator logMgrActivator; // OptionsFile uses this by default...'
32
33 // for a test app, writing to stdout, seems a plausible default...
34 Logger::sThe.AddAppender (
35 MakeSharedPtr<Logger::StreamAppender> (FileOutputStream::New (STDOUT_FILENO, FileStream::AdoptFDPolicy::eDisconnectOnDestruction)));
36
37 // Simple example using OpensFile, and ModuleGetterSetter
38 [[maybe_unused]] uint16_t usePort = gAppConfiguration->WebServerPort.value_or (AppConfigurationType::kWebServerPort_Default);
39
40 // Fancier examples
41 TestUse1 ();
42 TestUse2 ();
43 TestUse3 ();
44 TestUse4 ();
45
46 return EXIT_SUCCESS;
47}
#define Stroika_Foundation_Debug_OptionalizeTraceArgs(...)
Definition Trace.h:278
STL namespace.