00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef PEEKABOT_CLIENT_DELAYED_DISPATCH_HH_INCLUDED
00012 #define PEEKABOT_CLIENT_DELAYED_DISPATCH_HH_INCLUDED
00013
00014
00015 #include <boost/utility.hpp>
00016 #include <boost/shared_ptr.hpp>
00017
00018 #include "../Visibility.hh"
00019
00020
00021 namespace peekabot
00022 {
00023 class Action;
00024
00025 namespace client
00026 {
00027 class Status;
00028 class ClientImpl;
00029
00042 class PEEKABOT_API DelayedDispatch
00043 {
00044 public:
00045 DelayedDispatch(
00046 boost::shared_ptr<ClientImpl> client,
00047 boost::shared_ptr<Action> action,
00048 bool master_only = false);
00049
00050 DelayedDispatch(
00051 boost::shared_ptr<ClientImpl> client,
00052 Action *action,
00053 bool master_only = false);
00054
00055 ~DelayedDispatch();
00056
00061 Status status();
00062
00063 private:
00064 boost::shared_ptr<ClientImpl> m_client;
00065
00066 boost::shared_ptr<Action> m_action;
00067
00068 bool m_master_only;
00069 };
00070 }
00071 }
00072
00073
00074 #endif // PEEKABOT_CLIENT_DELAYED_DISPATCH_HH_INCLUDED