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