40 #ifndef __SIMULATORSIGNATURE_HPP__
41 #define __SIMULATORSIGNATURE_HPP__
44 #include <openfluid/config.hpp>
58 #define BEGIN_SIMULATOR_SIGNATURE(id) \
59 openfluid::ware::SimulatorSignature* WARESIGNATURE_PROC_DECL() \
61 openfluid::ware::SimulatorSignature* Signature = new openfluid::ware::SimulatorSignature(); \
62 Signature->setABIVersion(openfluid::config::FULL_VERSION); \
69 #define END_SIMULATOR_SIGNATURE \
81 #define DECLARE_DOMAIN(domain) Signature->Domain = domain;
86 #define DECLARE_PROCESS(process) Signature->Process = process;
91 #define DECLARE_METHOD(method) Signature->Method = method;
104 #define DECLARE_SIMULATOR_PARAM(name,description,unit) \
105 Signature->HandledData.SimulatorParams.push_back(openfluid::ware::SignatureHandledDataItem((name),(""),description,unit));
120 #define DECLARE_PRODUCED_VAR(name,uclass,description,unit) \
121 Signature->HandledData.ProducedVars.push_back(openfluid::ware::SignatureHandledTypedDataItem((name),uclass,description,unit));
130 #define DECLARE_UPDATED_VAR(name,uclass,description,unit) \
131 Signature->HandledData.UpdatedVars.push_back(openfluid::ware::SignatureHandledTypedDataItem((name),uclass,description,unit));
140 #define DECLARE_REQUIRED_VAR(name,uclass,description,unit) \
141 Signature->HandledData.RequiredVars.push_back(openfluid::ware::SignatureHandledTypedDataItem((name),uclass,description,unit));
151 #define DECLARE_USED_VAR(name,uclass,description,unit) \
152 Signature->HandledData.UsedVars.push_back(openfluid::ware::SignatureHandledTypedDataItem((name),uclass,description,unit));
162 #define DECLARE_PRODUCED_ATTRIBUTE(name,uclass,description,unit) \
163 Signature->HandledData.ProducedAttribute.push_back(openfluid::ware::SignatureHandledDataItem((name),uclass,description,unit));
172 #define DECLARE_REQUIRED_ATTRIBUTE(name,uclass,description,unit) \
173 Signature->HandledData.RequiredAttribute.push_back(openfluid::ware::SignatureHandledDataItem((name),uclass,description,unit));
182 #define DECLARE_USED_ATTRIBUTE(name,uclass,description,unit) \
183 Signature->HandledData.UsedAttribute.push_back(openfluid::ware::SignatureHandledDataItem((name),uclass,description,unit));
189 #define DECLARE_USED_EVENTS(uclass) Signature->HandledData.UsedEventsOnUnits.push_back(uclass);
198 #define DECLARE_UPDATED_UNITSGRAPH(description) Signature->HandledUnitsGraph.UpdatedUnitsGraph = (description);
207 #define DECLARE_UPDATED_UNITSCLASS(uclass,description) Signature->HandledUnitsGraph.UpdatedUnitsClass.push_back(openfluid::ware::SignatureHandledUnitsClassItem(uclass,description));
214 #define DECLARE_REQUIRED_EXTRAFILE(name) \
215 Signature->HandledData.RequiredExtraFiles.push_back(name);
221 #define DECLARE_USED_EXTRAFILE(name) \
222 Signature->HandledData.UsedExtraFiles.push_back(name);
227 #define DECLARE_SCHEDULING_UNDEFINED \
228 Signature->TimeScheduling.setAsUndefined();
233 #define DECLARE_SCHEDULING_DEFAULT \
234 Signature->TimeScheduling.setAsDefaultDeltaT();
240 #define DECLARE_SCHEDULING_FIXED(deltat) \
241 Signature->TimeScheduling.setAsFixed(deltat);
248 #define DECLARE_SCHEDULING_RANGE(min,max) \
249 Signature->TimeScheduling.setAsRange(min,max);
257 namespace openfluid {
namespace ware {
284 DataName(
""),UnitClass(
""),Description(
""),DataUnit(
"") {}
287 std::string DDescription, std::string DUnit) :
288 DataName(DName),UnitClass(UClass),Description(DDescription),DataUnit(DUnit) {}
308 std::string DDescription, std::string DUnit);
323 UnitsClass(
""),Description(
"") {}
326 std::string DDescription) :
327 UnitsClass(UClass),Description(DDescription) {}
344 std::vector<SignatureHandledTypedDataItem>
UsedVars;
379 UpdatedUnitsGraph.clear();
397 Type(UNDEFINED), Min(0), Max(0)
472 Domain(
""),Process(
""),Method(
"")
std::vector< std::string > UsedExtraFiles
Definition: SimulatorSignature.hpp:356
std::string SimProcess_t
Definition: SimulatorSignature.hpp:262
SignatureHandledDataItem(std::string DName, openfluid::core::UnitClass_t UClass, std::string DDescription, std::string DUnit)
Definition: SimulatorSignature.hpp:286
SignatureHandledTypedDataItem()
Definition: SimulatorSignature.hpp:304
Definition: WareSignature.hpp:119
SimProcess_t Process
Definition: SimulatorSignature.hpp:449
std::vector< SignatureHandledDataItem > UsedAttribute
Definition: SimulatorSignature.hpp:352
std::string Description
Definition: SimulatorSignature.hpp:320
std::vector< openfluid::core::UnitClass_t > UsedEventsOnUnits
Definition: SimulatorSignature.hpp:358
std::string SimMethod_t
Definition: SimulatorSignature.hpp:260
void setAsDefaultDeltaT()
Definition: SimulatorSignature.hpp:407
SignatureTimeScheduling TimeScheduling
Definition: SimulatorSignature.hpp:469
Definition: SimulatorSignature.hpp:384
std::string SimDomain_t
Definition: SimulatorSignature.hpp:264
SimDomain_t Domain
Definition: SimulatorSignature.hpp:444
std::vector< SignatureHandledDataItem > RequiredAttribute
Definition: SimulatorSignature.hpp:350
std::string DataUnit
Definition: SimulatorSignature.hpp:281
SignatureHandledUnitsGraph()
Definition: SimulatorSignature.hpp:377
SignatureHandledUnitsClassItem()
Definition: SimulatorSignature.hpp:322
SignatureHandledUnitsClassItem(openfluid::core::UnitClass_t UClass, std::string DDescription)
Definition: SimulatorSignature.hpp:325
SignatureHandledDataItem()
Definition: SimulatorSignature.hpp:283
SimMethod_t Method
Definition: SimulatorSignature.hpp:454
SchedulingType
Definition: SimulatorSignature.hpp:388
std::string UnitClass_t
Definition: TypeDefs.hpp:69
Definition: SimulatorSignature.hpp:388
openfluid::core::Duration_t Max
Definition: SimulatorSignature.hpp:394
std::vector< SignatureHandledTypedDataItem > ProducedVars
Definition: SimulatorSignature.hpp:338
Definition: SimulatorSignature.hpp:369
std::vector< SignatureHandledTypedDataItem > RequiredVars
Definition: SimulatorSignature.hpp:342
SignatureHandledData()
Definition: SimulatorSignature.hpp:361
std::vector< SignatureHandledTypedDataItem > UsedVars
Definition: SimulatorSignature.hpp:344
std::vector< SignatureHandledDataItem > ProducedAttribute
Definition: SimulatorSignature.hpp:348
openfluid::core::UnitClass_t UnitClass
Definition: SimulatorSignature.hpp:279
std::vector< SignatureHandledUnitsClassItem > UpdatedUnitsClass
Definition: SimulatorSignature.hpp:375
std::string UpdatedUnitsGraph
Definition: SimulatorSignature.hpp:373
Type
Definition: Value.hpp:68
SchedulingType Type
Definition: SimulatorSignature.hpp:390
openfluid::core::Value::Type DataType
Definition: SimulatorSignature.hpp:302
openfluid::core::UnitClass_t UnitsClass
Definition: SimulatorSignature.hpp:319
SimulatorSignature()
Definition: SimulatorSignature.hpp:471
void setAsRange(openfluid::core::Duration_t MinVal, openfluid::core::Duration_t MaxVal)
Definition: SimulatorSignature.hpp:421
Definition: SimulatorSignature.hpp:315
Definition: SimulatorSignature.hpp:274
SignatureTimeScheduling()
Definition: SimulatorSignature.hpp:396
SignatureHandledUnitsGraph HandledUnitsGraph
Definition: SimulatorSignature.hpp:464
SignatureHandledData HandledData
Definition: SimulatorSignature.hpp:459
Definition: SimulatorSignature.hpp:435
unsigned long long Duration_t
Definition: DateTime.hpp:68
std::vector< SignatureHandledTypedDataItem > UpdatedVars
Definition: SimulatorSignature.hpp:340
void setAsFixed(openfluid::core::Duration_t Val)
Definition: SimulatorSignature.hpp:414
void setAsUndefined()
Definition: SimulatorSignature.hpp:400
std::string DataName
Definition: SimulatorSignature.hpp:278
std::string Description
Definition: SimulatorSignature.hpp:280
openfluid::core::Duration_t Min
Definition: SimulatorSignature.hpp:392
Definition: SimulatorSignature.hpp:295
std::vector< SignatureHandledDataItem > SimulatorParams
Definition: SimulatorSignature.hpp:346
Definition: SimulatorSignature.hpp:334
std::vector< std::string > RequiredExtraFiles
Definition: SimulatorSignature.hpp:354
#define DLLEXPORT
Definition: dllexport.hpp:51