40 #ifndef __OPENFLUID_WARE_PLUGGABLEWARE_HPP__
41 #define __OPENFLUID_WARE_PLUGGABLEWARE_HPP__
51 namespace openfluid {
namespace ware {
57 #define WAREBODY_PROC_NAME "GetWareBody"
58 #define WAREBODY_PROC_DECL GetWareBody
63 #define WARESIGNATURE_PROC_NAME "GetWareSignature"
64 #define WARESIGNATURE_PROC_DECL GetWareSignature
69 #define WAREABIVERSION_PROC_NAME "GetWareABIVersion"
70 #define WAREABIVERSION_PROC_DECL GetWareABIVersion
76 #define WARELINKUID_PROC_NAME "GetWareLinkUID"
77 #define WARELINKUID_PROC_DECL GetWareLinkUID
84 #define DEFINE_WARE_LINKUID(linkuid) \
87 OPENFLUID_PLUGIN std::string WARELINKUID_PROC_DECL() \
89 return std::string(linkuid); \
101 enum WareType { UNDEFINED, OBSERVER, SIMULATOR, OTHER };
127 virtual bool isLinked()
const {
return mp_WareEnv != NULL; };
135 virtual void OPENFLUID_RaiseError(
const std::string& Msg);
142 bool OPENFLUID_GetRunEnvironment(
const std::string& Key, std::string& Val);
149 bool OPENFLUID_GetRunEnvironment(
const std::string& Key,
bool& Val);
156 {
return m_WareID; };
164 {
return m_WareType; };
179 virtual void initializeWare(
const WareID_t& ID);
181 virtual void finalizeWare();
WareID_t OPENFLUID_GetWareID() const
Definition: PluggableWare.hpp:155
std::string WareParamKey_t
Definition: TypeDefs.hpp:89
Definition: PluggableWare.hpp:97
WareType OPENFLUID_GetWareType() const
Definition: PluggableWare.hpp:163
Definition: EnvProperties.hpp:53
WareType
Definition: PluggableWare.hpp:101
void linkToRunEnvironment(const openfluid::base::EnvironmentProperties *Env)
Definition: PluggableWare.hpp:174
#define OPENFLUID_API
Definition: dllexport.hpp:87
std::string WareID_t
Definition: TypeDefs.hpp:50