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
48 inline bool isBound()
const;
53 bool hasUnresolvedChildren()
const;
59 void resolveChildren();
63 bool operator==(
const TypeInfo &x)
const;
66 bool operator<(
const TypeInfo &x)
const;
70 const std::string& getName()
const;
76 const TypeInfoSet & getChildren()
const;
82 const TypeInfoSet & getParents()
const;
89 const Atlas::Message::MapType& getAttributes()
const;
98 const Atlas::Message::Element* getAttribute(
const std::string& attributeName)
const;
112 void setAttribute(
const std::string& attributeName,
const Atlas::Message::Element& element);
128 void processTypeData(
const Atlas::Objects::Root& atype);
142 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;
186 inline const Atlas::Message::MapType& TypeInfo::getAttributes()
const 191 inline bool TypeInfo::isBound()
const 196 inline const std::string& TypeInfo::getName()
const 201 inline const TypeInfoSet & TypeInfo::getChildren()
const 206 inline const TypeInfoSet & TypeInfo::getParents()
const sigc::signal< void > Bound
Emitted when the type is bound, i.e there is an unbroken graph of TypeInfo instances through every an...
Definition: TypeInfo.h:133
The representation of an Atlas type (i.e a class or operation definition).
Definition: TypeInfo.h:37
Definition: TypeBoundRedispatch.h:13
Definition: Account.cpp:33
A service class querying and caching types.
Definition: TypeService.h:24
sigc::signal< void, const std::string &, const Atlas::Message::Element & > AttributeChanges
Emitted before an attribute changes.
Definition: TypeInfo.h:104
Definition: BaseConnection.h:15