1 #ifndef ERIS_TYPE_SERVICE_H
2 #define ERIS_TYPE_SERVICE_H
4 #include <Atlas/Objects/ObjectsFwd.h>
6 #include <sigc++/trackable.h>
7 #include <sigc++/signal.h>
18 typedef TypeInfo* TypeInfoPtr;
19 typedef std::set<TypeInfoPtr> TypeInfoSet;
52 void handleOperation(
const Atlas::Objects::Operation::RootOperation&);
59 void recvTypeInfo(
const Atlas::Objects::Root &atype);
60 void recvError(
const Atlas::Objects::Operation::Get& get);
64 typedef std::map<std::string, TypeInfoPtr> TypeInfoMap;
76 #endif // of ERIS_TYPE_SERVICE_H
void sendRequest(const std::string &id)
request the information about a type from the server.
Definition: TypeService.cpp:129
sigc::signal< void, TypeInfoPtr > BoundType
emitted when a new type is available and bound to it's parents
Definition: TypeService.h:45
TypeInfoMap m_types
The easy bit : a simple map from 'string-id' (e.g 'look' or 'farmer') to the corresponding TypeInfo i...
Definition: TypeService.h:68
sigc::signal< void, TypeInfoPtr > BadType
emitted when a type is confirmed as being undefined
Definition: TypeService.h:48
A service class querying and caching types.
Definition: TypeService.h:25
TypeInfoPtr findTypeByName(const std::string &tynm)
Lookup the requested type, by name, and return NULL if it's unknown.
Definition: TypeService.cpp:54
const TypeInfoSet & getParents() const
Gets the currently resolved parent TypeInfo instances.
Definition: TypeInfo.h:206
TypeInfoPtr getTypeByName(const std::string &tynm)
find the TypeInfo for the named type; this may involve a search, or a map lookup.
Definition: TypeService.cpp:62
TypeInfoPtr getTypeForAtlas(const Atlas::Objects::Root &obj)
retrive the TypeInfo for an object; this should be faster (hopefully constant time) since it can take...
Definition: TypeService.cpp:76
Definition: Exceptions.h:29
The representation of an Atlas type (i.e a class or operation definition).
Definition: TypeInfo.h:38
virtual void send(const Atlas::Objects::Root &obj)
Transmit an Atlas::Objects instance to the server.
Definition: Connection.cpp:147
Underlying Atlas connection, providing a send interface, and receive (dispatch) system.
Definition: Connection.h:40