Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
usSharedLibrary.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  http://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 #ifndef USSHAREDLIBRARY_H
23 #define USSHAREDLIBRARY_H
24 
25 #include "usCoreConfig.h"
26 #include "usSharedData.h"
27 
28 #include <string>
29 
30 US_BEGIN_NAMESPACE
31 
32 class SharedLibraryPrivate;
33 
39 class US_Core_EXPORT SharedLibrary
40 {
41 public:
42 
43  SharedLibrary();
44  SharedLibrary(const SharedLibrary& other);
45 
54  SharedLibrary(const std::string& libPath, const std::string& name);
55 
63  SharedLibrary(const std::string& absoluteFilePath);
64 
68  ~SharedLibrary();
69 
70  SharedLibrary& operator=(const SharedLibrary& other);
71 
82  void Load();
83 
91  void Load(int flags);
92 
99  void Unload();
100 
109  void SetName(const std::string& name);
110 
115  std::string GetName() const;
116 
124  std::string GetFilePath(const std::string& name) const;
125 
134  void SetFilePath(const std::string& absoluteFilePath);
135 
141  std::string GetFilePath() const;
142 
150  void SetLibraryPath(const std::string& path);
151 
157  std::string GetLibraryPath() const;
158 
166  void SetSuffix(const std::string& suffix);
167 
173  std::string GetSuffix() const;
174 
182  void SetPrefix(const std::string& prefix);
183 
189  std::string GetPrefix() const;
190 
197  void* GetHandle() const;
198 
204  bool IsLoaded() const;
205 
206 private:
207 
209 
210 };
211 
212 US_END_NAMESPACE
213 
214 #endif // USTESTUTILSHAREDLIBRARY_H
static std::string GetName(std::string fileName, std::string suffix)