1 #ifndef ERIS_TYPE_BOUND_REDISPATCH_H
2 #define ERIS_TYPE_BOUND_REDISPATCH_H
3 
4 #include <Eris/Redispatch.h>
5 #include <set>
6 
7 namespace Eris
8 {
9 
10 class TypeInfo;
11 typedef std::set<TypeInfo*> TypeInfoSet;
12 
13 class TypeBoundRedispatch : public Redispatch
14 {
15 public:
16     TypeBoundRedispatch(Connection* con, const Atlas::Objects::Root& obj, TypeInfo* unbound);
17     TypeBoundRedispatch(Connection* con, const Atlas::Objects::Root& obj, const TypeInfoSet& unbound);
18     void onBound(TypeInfo* bound);
19     void onBadType(TypeInfo* bad);
20 private:
21     Connection* m_con;
22     TypeInfoSet m_unbound;
23 };
24 
25 }
26 
27 #endif
28