Drive Engine  1.0.0
Plateforme de reconstruction 3D
DynamicLibraryManager.h
1 // Copyright (c) 2015. All rights reserved to DriveEngine Team.
2 
3 #pragma once
4 
5 #include "DynamicLibraryRecord.h"
6 #include <string>
7 #include <list>
8 
9 namespace DriveEngine
10 {
20  {
21  public:
22  static DynamicLibraryManager& GetInstance()
23  {
24  static DynamicLibraryManager instance;
25  return instance;
26  }
27 
28  private:
29  typedef std::list<DynamicLibraryRecord> Records;
30  Records records;
31 
35  void operator=(DynamicLibraryManager const&) = delete;
36 
37  public:
38 
66  const DynamicLibraryRecord Open(const std::string& path);
67 
87  void* Load(const std::string& functionName, const DynamicLibraryRecord& record);
88 
97  void Close(const DynamicLibraryRecord& recordIdentifier);
98 
99  private:
100 
114  Records::iterator GetRecordIterator(const DynamicLibraryRecord& record);
115 
116 #if defined WIN32
117  const std::string GetLastErrorMessage();
118 #endif
119  };
120 }
void Close(const DynamicLibraryRecord &recordIdentifier)
Closes a previously opened dynamic library.
const DynamicLibraryRecord Open(const std::string &path)
Opens a dynamic library.
Definition: DefaultCalibrationInfoList.h:12
(Internal class) Dynamic library record
Definition: DynamicLibraryRecord.h:27
void * Load(const std::string &functionName, const DynamicLibraryRecord &record)
Loads a function from a dynamic library.
Manager to load dynamically functions from external dynamic libraries.
Definition: DynamicLibraryManager.h:19