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