Qpid Proton C++  0.17.0
messaging_handler.hpp
1 #ifndef PROTON_MESSAGING_HANDLER_HPP
2 #define PROTON_MESSAGING_HANDLER_HPP
3 
4 /*
5  *
6  * Licensed to the Apache Software Foundation (ASF) under one
7  * or more contributor license agreements. See the NOTICE file
8  * distributed with this work for additional information
9  * regarding copyright ownership. The ASF licenses this file
10  * to you under the Apache License, Version 2.0 (the
11  * "License"); you may not use this file except in compliance
12  * with the License. You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing,
17  * software distributed under the License is distributed on an
18  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19  * KIND, either express or implied. See the License for the
20  * specific language governing permissions and limitations
21  * under the License.
22  *
23  */
24 
25 #include "./fwd.hpp"
26 #include "./internal/export.hpp"
27 
28 namespace proton {
29 
30 
59 class
60 PN_CPP_CLASS_EXTERN messaging_handler {
61  public:
62  PN_CPP_EXTERN messaging_handler();
63  PN_CPP_EXTERN virtual ~messaging_handler();
64 
67  PN_CPP_EXTERN virtual void on_container_start(container &c);
68 
71  PN_CPP_EXTERN virtual void on_container_stop(container &c);
72 
74  PN_CPP_EXTERN virtual void on_message(delivery &d, message &m);
75 
77  PN_CPP_EXTERN virtual void on_sendable(sender &s);
78 
80  PN_CPP_EXTERN virtual void on_transport_open(transport &t);
81 
83  PN_CPP_EXTERN virtual void on_transport_close(transport &t);
84 
87  PN_CPP_EXTERN virtual void on_transport_error(transport &t);
88 
90  PN_CPP_EXTERN virtual void on_connection_open(connection &c);
91 
93  PN_CPP_EXTERN virtual void on_connection_close(connection &c);
94 
96  PN_CPP_EXTERN virtual void on_connection_error(connection &c);
97 
99  PN_CPP_EXTERN virtual void on_session_open(session &s);
100 
102  PN_CPP_EXTERN virtual void on_session_close(session &s);
103 
105  PN_CPP_EXTERN virtual void on_session_error(session &s);
106 
108  PN_CPP_EXTERN virtual void on_receiver_open(receiver& l);
109 
111  PN_CPP_EXTERN virtual void on_receiver_detach(receiver& l);
112 
114  PN_CPP_EXTERN virtual void on_receiver_close(receiver& l);
115 
117  PN_CPP_EXTERN virtual void on_receiver_error(receiver& l);
118 
120  PN_CPP_EXTERN virtual void on_sender_open(sender& l);
121 
123  PN_CPP_EXTERN virtual void on_sender_detach(sender& l);
124 
126  PN_CPP_EXTERN virtual void on_sender_close(sender& l);
127 
129  PN_CPP_EXTERN virtual void on_sender_error(sender& l);
130 
132  PN_CPP_EXTERN virtual void on_tracker_accept(tracker &d);
133 
135  PN_CPP_EXTERN virtual void on_tracker_reject(tracker &d);
136 
138  PN_CPP_EXTERN virtual void on_tracker_release(tracker &d);
139 
141  PN_CPP_EXTERN virtual void on_tracker_settle(tracker &d);
142 
144  PN_CPP_EXTERN virtual void on_delivery_settle(delivery &d);
145 
148  PN_CPP_EXTERN virtual void on_sender_drain_start(sender &s);
149 
152  PN_CPP_EXTERN virtual void on_receiver_drain_finish(receiver &r);
153 
155  PN_CPP_EXTERN virtual void on_error(const error_condition &c);
156 };
157 
158 } // proton
159 
160 #endif // PROTON_MESSAGING_HANDLER_HPP
An AMQP message.
Definition: message.hpp:47
A top-level container of connections, sessions, senders, and receivers.
Definition: container.hpp:50
A channel for sending messages.
Definition: sender.hpp:35
A connection to a remote AMQP peer.
Definition: connection.hpp:40
A container of senders and receivers.
Definition: session.hpp:38
A received message.
Definition: delivery.hpp:36
A tracker for a sent message.
Definition: tracker.hpp:37
A channel for receiving messages.
Definition: receiver.hpp:37
A handler for Proton messaging events.
Definition: messaging_handler.hpp:59
A network channel supporting an AMQP connection.
Definition: transport.hpp:34
The main Proton namespace.
Definition: annotation_key.hpp:30
Describes an endpoint error state.
Definition: error_condition.hpp:37