00001 #ifndef ERIS_REDISPATCH_H
00002 #define ERIS_REDISPATCH_H
00003
00004 #include <Atlas/Objects/Root.h>
00005 #include <Atlas/Objects/SmartPtr.h>
00006
00007 #include <sigc++/trackable.h>
00008
00009 namespace Eris
00010 {
00011
00012
00013 class Connection;
00014
00015 class Redispatch : public sigc::trackable
00016 {
00017 protected:
00018 Redispatch(Connection* con, const Atlas::Objects::Root& obj) :
00019 m_obj(obj),
00020 m_con(con)
00021 {
00022
00023 }
00024
00025 void post();
00026
00027 void postModified(const Atlas::Objects::Root& obj);
00028
00029 void fail();
00030
00031 const Atlas::Objects::Root m_obj;
00032
00033 private:
00034 Connection* m_con;
00035 };
00036
00037 }
00038
00039 #endif