Medical Imaging Interaction Toolkit  2023.12.99-1652ac8d
Medical Imaging Interaction Toolkit
usModuleSettings.h
Go to the documentation of this file.
1 /*============================================================================
2 
3  Library: CppMicroServices
4 
5  Copyright (c) German Cancer Research Center (DKFZ)
6  All rights reserved.
7 
8  Licensed under the Apache License, Version 2.0 (the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  https://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 ============================================================================*/
21 
22 
23 #ifndef USMODULESETTINGS_H
24 #define USMODULESETTINGS_H
25 
26 #include "usCoreConfig.h"
27 
28 #include <vector>
29 #include <string>
30 
32 
48 {
49 public:
50 
51  typedef std::vector<std::string> PathList;
52 
71  static std::string CURRENT_MODULE_PATH();
72 
77  static bool IsThreadingSupportEnabled();
78 
87  static bool IsAutoLoadingEnabled();
88 
98  static void SetAutoLoadingEnabled(bool enable);
99 
104  static PathList GetAutoLoadPaths();
105 
111  static void SetAutoLoadPaths(const PathList& paths);
112 
119  static void AddAutoLoadPath(const std::string& path);
120 
132  static void SetStoragePath(const std::string& path);
133 
141  static std::string GetStoragePath();
142 
152  static void SetLogLevel(MsgType level);
153 
159  static MsgType GetLogLevel();
160 
161 private:
162 
163  // purposely not implemented
164  ModuleSettings();
166  ModuleSettings& operator=(const ModuleSettings&);
167 };
168 
170 
171 #endif // USMODULESETTINGS_H
us::MsgType
MsgType
Definition: usCoreConfig.h:31
us::ModuleSettings
Definition: usModuleSettings.h:47
usCoreConfig.h
US_BEGIN_NAMESPACE
#define US_BEGIN_NAMESPACE
Definition: usGlobalConfig.h:76
us::ModuleSettings::PathList
std::vector< std::string > PathList
Definition: usModuleSettings.h:51
US_END_NAMESPACE
#define US_END_NAMESPACE
Definition: usGlobalConfig.h:77
US_Core_EXPORT
#define US_Core_EXPORT
Definition: usCoreExport.h:21