40 #ifndef __OPENFLUID_WARE_PLUGGABLEWARE_HPP__
41 #define __OPENFLUID_WARE_PLUGGABLEWARE_HPP__
50 namespace openfluid {
namespace ware {
56 #define WAREBODY_PROC_NAME "GetWareBody"
57 #define WAREBODY_PROC_DECL GetWareBody
62 #define WARESIGNATURE_PROC_NAME "GetWareSignature"
63 #define WARESIGNATURE_PROC_DECL GetWareSignature
68 #define WAREABIVERSION_PROC_NAME "GetWareABIVersion"
69 #define WAREABIVERSION_PROC_DECL GetWareABIVersion
75 #define WARELINKUID_PROC_NAME "GetWareLinkUID"
76 #define WARELINKUID_PROC_DECL GetWareLinkUID
83 #define DEFINE_WARE_LINKUID(linkuid) \
86 OPENFLUID_PLUGIN std::string WARELINKUID_PROC_DECL() \
88 return std::string(linkuid); \
122 virtual bool isLinked()
const {
return mp_WareEnv !=
nullptr; };
130 virtual void OPENFLUID_RaiseError(
const std::string& Msg);
137 bool OPENFLUID_GetRunEnvironment(
const std::string& Key, std::string& Val);
144 bool OPENFLUID_GetRunEnvironment(
const std::string& Key,
bool& Val);
151 {
return m_WareID; };
159 {
return m_WareType; };
174 virtual void initializeWare(
const WareID_t& ID);
176 virtual void finalizeWare();
#define OPENFLUID_API
Definition: dllexport.hpp:87
WareType
Definition: TypeDefs.hpp:62
Definition: MapValue.hpp:134
WareID_t OPENFLUID_GetWareID() const
Definition: PluggableWare.hpp:150
WareType OPENFLUID_GetWareType() const
Definition: PluggableWare.hpp:158
void linkToRunEnvironment(const openfluid::core::MapValue *Env)
Definition: PluggableWare.hpp:169
Definition: PluggableWare.hpp:97
std::string WareParamKey_t
Definition: TypeDefs.hpp:126
std::string WareID_t
Definition: TypeDefs.hpp:50