00001 #ifndef PROTON_MESSAGING_HANDLER_HPP
00002 #define PROTON_MESSAGING_HANDLER_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "./internal/export.hpp"
00026
00027 namespace proton {
00028
00029 class error_condition;
00030 class container;
00031 class event;
00032 class transport;
00033 class connection;
00034 class session;
00035 class sender;
00036 class receiver;
00037 class tracker;
00038 class delivery;
00039 class message;
00040 class messaging_adapter;
00041
00042 namespace io {
00043 class connection_engine;
00044 }
00045
00074 class
00075 PN_CPP_CLASS_EXTERN messaging_handler {
00076 public:
00077 PN_CPP_EXTERN messaging_handler();
00078 PN_CPP_EXTERN virtual ~messaging_handler();
00079
00082 PN_CPP_EXTERN virtual void on_container_start(container &c);
00083
00086 PN_CPP_EXTERN virtual void on_container_stop(container &c);
00087
00089 PN_CPP_EXTERN virtual void on_message(delivery &d, message &m);
00090
00092 PN_CPP_EXTERN virtual void on_sendable(sender &s);
00093
00095 PN_CPP_EXTERN virtual void on_transport_open(transport &t);
00096
00098 PN_CPP_EXTERN virtual void on_transport_close(transport &t);
00099
00102 PN_CPP_EXTERN virtual void on_transport_error(transport &t);
00103
00105 PN_CPP_EXTERN virtual void on_connection_open(connection &c);
00106
00108 PN_CPP_EXTERN virtual void on_connection_close(connection &c);
00109
00111 PN_CPP_EXTERN virtual void on_connection_error(connection &c);
00112
00114 PN_CPP_EXTERN virtual void on_session_open(session &s);
00115
00117 PN_CPP_EXTERN virtual void on_session_close(session &s);
00118
00120 PN_CPP_EXTERN virtual void on_session_error(session &s);
00121
00123 PN_CPP_EXTERN virtual void on_receiver_open(receiver& l);
00124
00126 PN_CPP_EXTERN virtual void on_receiver_detach(receiver& l);
00127
00129 PN_CPP_EXTERN virtual void on_receiver_close(receiver& l);
00130
00132 PN_CPP_EXTERN virtual void on_receiver_error(receiver& l);
00133
00135 PN_CPP_EXTERN virtual void on_sender_open(sender& l);
00136
00138 PN_CPP_EXTERN virtual void on_sender_detach(sender& l);
00139
00141 PN_CPP_EXTERN virtual void on_sender_close(sender& l);
00142
00144 PN_CPP_EXTERN virtual void on_sender_error(sender& l);
00145
00147 PN_CPP_EXTERN virtual void on_tracker_accept(tracker &d);
00148
00150 PN_CPP_EXTERN virtual void on_tracker_reject(tracker &d);
00151
00153 PN_CPP_EXTERN virtual void on_tracker_release(tracker &d);
00154
00156 PN_CPP_EXTERN virtual void on_tracker_settle(tracker &d);
00157
00159 PN_CPP_EXTERN virtual void on_delivery_settle(delivery &d);
00160
00163 PN_CPP_EXTERN virtual void on_sender_drain_start(sender &s);
00164
00167 PN_CPP_EXTERN virtual void on_receiver_drain_finish(receiver &r);
00168
00170 PN_CPP_EXTERN virtual void on_error(const error_condition &c);
00171 };
00172
00173 }
00174
00175 #endif // PROTON_MESSAGING_HANDLER_HPP