39 #ifndef ADVANCEDDOMAINDESCRIPTOR_HPP_
40 #define ADVANCEDDOMAINDESCRIPTOR_HPP_
57 class DomainDescriptor;
59 class AttributesDescriptor;
73 std::map<openfluid::core::AttributeName_t, std::string*>
Attributes;
102 std::map<std::string, std::map<int, AdvancedUnitDescriptor> > m_Units;
104 std::map<std::string, std::set<openfluid::core::AttributeName_t> > m_AttrsNames;
106 void dispatchUnits();
108 void dispatchAttributes();
110 void checkUnitRelations()
const;
114 void checkAttributesConsistency()
const;
116 void dispatchEvents();
125 bool isUnitExist(
const std::string& ClassName,
int ID)
const;
131 const std::map<std::string, std::map<int, AdvancedUnitDescriptor> >& getUnitsByIdByClass()
const;
148 const std::string& ClassName,
int ID)
const;
155 std::set<int> getIDsOfClass(
const std::string& ClassName)
const;
157 bool isClassNameExists(
const std::string& ClassName)
const;
163 std::set<std::string> getClassNames()
const;
165 unsigned int getUnitsCount()
const;
182 void deleteUnit(
const std::string& ClassName,
int ID);
191 std::string& getAttribute(
const std::string& ClassName,
int ID,
192 const std::string& AttrName);
199 std::set<std::string> getAttributesNames(
const std::string& ClassName)
const;
208 void addAttribute(
const std::string& ClassName,
const std::string& AttrName,
209 const std::string& DefaultValue);
217 void deleteAttribute(
const std::string& ClassName,
const std::string& AttrName);
227 void renameAttribute(
const std::string& ClassName,
const std::string& OldAttrName,
228 const std::string& NewAttrName);
298 void removeParentChildRelation(
openfluid::fluidx::UnitDescriptor * UnitDescriptor
Definition: AdvancedDomainDescriptor.hpp:71
Definition: AdvancedDomainDescriptor.hpp:66
std::string UnitClass_t
Definition: TypeDefs.hpp:69
std::map< openfluid::core::AttributeName_t, std::string * > Attributes
Definition: AdvancedDomainDescriptor.hpp:73
std::pair< UnitClass_t, UnitID_t > UnitClassID_t
Definition: TypeDefs.hpp:82
std::map< std::string, std::map< int, AdvancedUnitDescriptor > > UnitsByIdByClass_t
Definition: AdvancedDomainDescriptor.hpp:93
Definition: UnitDescriptor.hpp:51
unsigned int UnitID_t
Definition: TypeDefs.hpp:59
Definition: DomainDescriptor.hpp:53
Definition: AdvancedDomainDescriptor.hpp:89
AdvancedUnitDescriptor(openfluid::fluidx::UnitDescriptor &UnitDesc)
Definition: AdvancedDomainDescriptor.hpp:77
Class defining a discrete event, including attached information.
Definition: Event.hpp:61
unsigned long long EventID_t
Definition: EventDescriptor.hpp:51
class DLLEXPORT Event
Definition: EventsColl.hpp:52
std::list< openfluid::fluidx::EventDescriptor * > EventsDescriptors
Definition: AdvancedDomainDescriptor.hpp:75
Definition: EventDescriptor.hpp:53
#define DLLEXPORT
Definition: dllexport.hpp:51