Blue Brain BioExplorer
PluginManager.h
Go to the documentation of this file.
1 /*
2  *
3  * The Blue Brain BioExplorer is a tool for scientists to extract and analyse
4  * scientific data from visualization
5  *
6  * This file is part of Blue Brain BioExplorer <https://github.com/BlueBrain/BioExplorer>
7  *
8  * Copyright 2020-2024 Blue BrainProject / EPFL
9  *
10  * This program is free software: you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License as published by the Free Software
12  * Foundation, either version 3 of the License, or (at your option) any later
13  * version.
14  *
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License along with
21  * this program. If not, see <https://www.gnu.org/licenses/>.
22  */
23 
24 #pragma once
25 
29 
30 #include <vector>
31 
32 namespace core
33 {
37 {
38 public:
44  PluginManager(int argc, const char** argv);
45 
47  void initPlugins(PluginAPI* api);
48 
50  void destroyPlugins();
51 
53  void preRender();
54 
56  void postRender();
57 
58 private:
59  std::vector<DynamicLib> _libs;
60  std::vector<std::unique_ptr<ExtensionPlugin>> _extensions;
61 
62  void _loadPlugin(const char* name, int argc, const char* argv[]);
63 };
64 } // namespace core
PluginManager(int argc, const char **argv)
Constructor.
void initPlugins(PluginAPI *api)