Documentation for OpenFLUID 2.2.2
Loading...
Searching...
No Matches
SimulatorPluginsManager.hpp
Go to the documentation of this file.
1/*
2
3 This file is part of OpenFLUID software
4 Copyright(c) 2021-2026, INRAE
5
6
7 == GNU General Public License Usage ==
8
9 OpenFLUID is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 OpenFLUID is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with OpenFLUID. If not, see <http://www.gnu.org/licenses/>.
21
22
23 == Other Usage ==
24
25 Other Usage means a use of OpenFLUID that is inconsistent with the GPL
26 license, and requires a written agreement between You and INRA.
27 Licensees for Other Usage of OpenFLUID may use this file in accordance
28 with the terms contained in the written agreement between You and INRA.
29
30*/
31
32
33/**
34 @file SimulatorPluginsManager.hpp
35
36 @author Jean-Christophe FABRE <jean-christophe.fabre@inra.fr>
37 */
38
39
40#ifndef __OPENFLUID_MACHINE_SIMULATORPLUGINSMANAGER_HPP__
41#define __OPENFLUID_MACHINE_SIMULATORPLUGINSMANAGER_HPP__
42
43
44#include <string>
45
52
53
54namespace openfluid { namespace machine {
55
56
58 public WarePluginsManager<openfluid::ware::SimulatorSignature,openfluid::ware::PluggableSimulator,
59 openfluid::ware::GetPluggableSimulatorSignatureProc,
60 openfluid::ware::GetPluggableSimulatorBodyProc>
61{
62
64
65
66 private:
67
72 { }
73
74
76 { }
77
78
79 // =====================================================================
80 // =====================================================================
81
82
84 {
86 }
87
88
89 // =====================================================================
90 // =====================================================================
91
92
93 public:
94
95 std::string getPluginFullPath(const std::string& Filename) const
96 {
98 }
99
100
101 // =====================================================================
102 // =====================================================================
103
104
105 std::vector<std::string> getPluginsSearchPaths() const
106 {
108 }
109
110
111 // =====================================================================
112 // =====================================================================
113
114
115 std::string getPluginFilenameSuffix() const
116 {
117 return openfluid::config::SIMULATORS_PLUGINS_SUFFIX;
118 }
119
120
121 // =====================================================================
122 // =====================================================================
123
124
125 /**
126 Searches for available ghosts using the standard and user paths
127 @param[in] IDPattern if not empty, the list of available wares is filtered using the given pattern
128 based on wildcard matching
129 @return the found ghosts
130 */
131 std::vector<WareContainer<openfluid::ware::SimulatorSignature>>
132 getAvailableGhosts(const std::string& IDPattern = "") const;
133
134};
135
136
137} } // namespaces
138
139#endif /* __OPENFLUID_MACHINE_SIMULATORPLUGINSMANAGER_HPP__ */
#define OPENFLUID_SINGLETON_DEFINITION(T)
Definition SingletonMacros.hpp:55
static std::vector< std::string > getSimulatorsDirs()
static std::string getSimulatorFullPath(const std::string &Filename)
Definition SimulatorPluginsManager.hpp:61
std::vector< WareContainer< openfluid::ware::SimulatorSignature > > getAvailableGhosts(const std::string &IDPattern="") const
std::vector< std::string > getPluginsSearchPaths() const
Definition SimulatorPluginsManager.hpp:105
std::string getPluginFullPath(const std::string &Filename) const
Definition SimulatorPluginsManager.hpp:95
std::string getPluginFilenameSuffix() const
Definition SimulatorPluginsManager.hpp:115
Definition WareContainer.hpp:62
Definition WarePluginsManager.hpp:81
Abstract class for simulator plugin.
Definition PluggableSimulator.hpp:105
Definition SimulatorSignature.hpp:262
#define OPENFLUID_API
Definition dllexport.hpp:86
SimulatorSignature *(* GetPluggableSimulatorSignatureProc)()
Definition PluggableSimulator.hpp:463
PluggableSimulator *(* GetPluggableSimulatorBodyProc)()
Definition PluggableSimulator.hpp:461
Definition ApplicationException.hpp:47