Lightmetrica  0.0.1.50dbee3 (yosakoi)
 All Classes Functions Variables Typedefs Enumerations Enumerator
dynamiclibrary.h
1 /*
2  Lightmetrica : A research-oriented renderer
3 
4  Copyright (c) 2014 Hisanari Otsu
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 #ifndef LIB_LIGHTMETRICA_DYNAMIC_LIBRARY_H
22 #define LIB_LIGHTMETRICA_DYNAMIC_LIBRARY_H
23 
24 #include "common.h"
25 #include <string>
26 
27 LM_NAMESPACE_BEGIN
28 
34 {
35 public:
36 
38  ~DynamicLibrary();
39 
40 private:
41 
42  LM_DISABLE_COPY_AND_MOVE(DynamicLibrary);
43 
44 public:
45 
52  bool Load(const std::string& path);
53 
59  bool Unload();
60 
66  void* GetSymbolAddress(const std::string& symbol) const;
67 
68 private:
69 
70  class Impl;
71  Impl* p;
72 
73 };
74 
75 LM_NAMESPACE_END
76 
77 #endif // LIB_LIGHTMETRICA_DYNAMIC_LIBRARY_H
Definition: dynamiclibrary.h:33
Definition: dynamiclibrary.cpp:31
bool Unload()
Definition: dynamiclibrary.cpp:168
bool Load(const std::string &path)
Definition: dynamiclibrary.cpp:163
void * GetSymbolAddress(const std::string &symbol) const
Definition: dynamiclibrary.cpp:173