1 #ifndef ERIS_TYPE_INFO_H
2 #define ERIS_TYPE_INFO_H
4 #include <Eris/Types.h>
5 #include <Eris/TypeService.h>
7 #include <sigc++/trackable.h>
15 typedef std::map<std::string, Element> MapType;
37 class TypeInfo :
virtual public sigc::trackable
70 const std::string&
getName()
const;
98 const Atlas::Message::Element*
getAttribute(
const std::string& attributeName)
const;
112 void setAttribute(
const std::string& attributeName,
const Atlas::Message::Element& element);
142 virtual void onAttributeChanges(
const std::string& attributeName,
const Atlas::Message::Element& element);
156 void extractDefaultAttributes(
const Atlas::Objects::Root& atype);
159 TypeInfoSet m_parents;
161 TypeInfoSet m_children;
164 TypeInfoSet m_ancestors;
167 const std::string m_name;
170 StringSet m_unresolvedChildren;
176 unsigned int m_moveCount;
183 Atlas::Message::MapType m_attributes;