annotate Samples/CommonHelpers.h @ 1382:9d138883be66

Proper command-line parameter management for SDL sample
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 22 Apr 2020 19:55:34 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1382
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
1 #pragma once
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
2
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
3 #include <string>
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
4 #include <iostream>
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
5
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
6 #include <Core/Logging.h>
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
7
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
8 namespace OrthancStoneHelpers
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
9 {
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
10 inline void SetLogLevel(std::string logLevel)
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
11 {
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
12 boost::to_lower(logLevel);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
13 if (logLevel == "warning")
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
14 {
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
15 Orthanc::Logging::EnableInfoLevel(false);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
16 Orthanc::Logging::EnableTraceLevel(false);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
17 }
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
18 else if (logLevel == "info")
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
19 {
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
20 Orthanc::Logging::EnableInfoLevel(true);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
21 Orthanc::Logging::EnableTraceLevel(false);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
22 }
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
23 else if (logLevel == "trace")
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
24 {
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
25 Orthanc::Logging::EnableInfoLevel(true);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
26 Orthanc::Logging::EnableTraceLevel(true);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
27 }
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
28 else
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
29 {
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
30 std::cerr << "Unknown log level \"" << logLevel << "\". Will use TRACE as default!";
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
31 Orthanc::Logging::EnableInfoLevel(true);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
32 Orthanc::Logging::EnableTraceLevel(true);
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
33 }
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
34 }
9d138883be66 Proper command-line parameter management for SDL sample
Benjamin Golinvaux <bgo@osimis.io>
parents:
diff changeset
35 }