40#ifndef __OPENFLUID_WARE_PLUGGABLEWARE_HPP__
41#define __OPENFLUID_WARE_PLUGGABLEWARE_HPP__
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 const std::string* WARELINKUID_PROC_DECL() \
88 return new std::string(linkuid); \
110 WareType m_WareType = WareType::UNDEFINED;
121 bool m_Initialized =
false;
125 return mp_WareEnv !=
nullptr;
Definition MapValue.hpp:93
Definition PluggableWare.hpp:98
virtual void OPENFLUID_RaiseError(const std::string &Msg)
PluggableWare & operator=(PluggableWare &&)=default
virtual void finalizeWare()
PluggableWare(WareType WType)
virtual ~PluggableWare()=default
WareID_t OPENFLUID_GetWareID() const
Definition PluggableWare.hpp:206
static bool isWellFormatted(const openfluid::ware::WareParamKey_t &ParameterKey)
bool OPENFLUID_GetRunEnvironment(const std::string &Key, bool &Val)
virtual void initializeWare(const WareID_t &ID)
virtual bool isLinked() const
Definition PluggableWare.hpp:123
PluggableWare(PluggableWare &&)=default
WareType OPENFLUID_GetWareType() const
Definition PluggableWare.hpp:216
PluggableWare & operator=(const PluggableWare &)=delete
bool OPENFLUID_GetRunEnvironment(const std::string &Key, std::string &Val)
void linkToRunEnvironment(const openfluid::core::MapValue *Env)
Definition PluggableWare.hpp:239
PluggableWare(const PluggableWare &)=delete
#define OPENFLUID_API
Definition dllexport.hpp:86
WareType
Definition TypeDefs.hpp:61
std::string WareID_t
Definition TypeDefs.hpp:49
std::string WareParamKey_t
Definition TypeDefs.hpp:142
Definition ApplicationException.hpp:47