You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/01/03 22:02:43 UTC
[11/30] qpid-proton git commit: PROTON-1371: [C++ binding] Large
header file cleanup - Introduce header to forward declare
types - Remove a lot of unnecessary includes in C++ header files
PROTON-1371: [C++ binding] Large header file cleanup
- Introduce <proton/fwd.hpp> header to forward declare types
- Remove a lot of unnecessary includes in C++ header files
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/5147ed30
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/5147ed30
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/5147ed30
Branch: refs/heads/go1
Commit: 5147ed30303a4ef8510a78b0e214fd954811193c
Parents: 0a2d28e
Author: Andrew Stitcher <as...@apache.org>
Authored: Mon Dec 5 12:59:21 2016 -0500
Committer: Andrew Stitcher <as...@apache.org>
Committed: Wed Dec 7 03:54:13 2016 -0500
----------------------------------------------------------------------
examples/cpp/broker.cpp | 4 ++
examples/cpp/client.cpp | 8 ++-
examples/cpp/connection_options.cpp | 2 +
examples/cpp/direct_recv.cpp | 4 ++
examples/cpp/direct_send.cpp | 5 ++
examples/cpp/flow_control.cpp | 8 ++-
examples/cpp/helloworld.cpp | 4 ++
examples/cpp/helloworld_direct.cpp | 4 ++
examples/cpp/mt/broker.cpp | 8 +++
examples/cpp/queue_browser.cpp | 3 +
examples/cpp/scheduled_send.cpp | 5 ++
examples/cpp/scheduled_send_03.cpp | 8 +++
examples/cpp/selected_recv.cpp | 3 +
examples/cpp/server.cpp | 4 ++
examples/cpp/server_direct.cpp | 5 ++
examples/cpp/service_bus.cpp | 10 ++-
examples/cpp/simple_recv.cpp | 6 +-
examples/cpp/simple_send.cpp | 7 +-
examples/cpp/ssl.cpp | 5 ++
examples/cpp/ssl_client_cert.cpp | 4 ++
.../cpp/include/proton/annotation_key.hpp | 2 +
proton-c/bindings/cpp/include/proton/binary.hpp | 2 +
.../bindings/cpp/include/proton/byte_array.hpp | 2 +
.../cpp/include/proton/codec/decoder.hpp | 2 +
.../cpp/include/proton/codec/encoder.hpp | 2 +
.../bindings/cpp/include/proton/connection.hpp | 14 +---
.../cpp/include/proton/connection_options.hpp | 15 ++---
.../bindings/cpp/include/proton/container.hpp | 12 +---
.../bindings/cpp/include/proton/decimal.hpp | 2 -
.../cpp/include/proton/default_container.hpp | 2 +-
.../bindings/cpp/include/proton/delivery.hpp | 6 +-
.../bindings/cpp/include/proton/duration.hpp | 2 +
.../bindings/cpp/include/proton/endpoint.hpp | 3 +-
.../cpp/include/proton/error_condition.hpp | 2 +-
.../bindings/cpp/include/proton/event_loop.hpp | 8 +--
proton-c/bindings/cpp/include/proton/fwd.hpp | 70 ++++++++++++++++++++
.../cpp/include/proton/internal/type_traits.hpp | 3 +
.../include/proton/io/container_impl_base.hpp | 1 +
proton-c/bindings/cpp/include/proton/link.hpp | 26 ++------
.../cpp/include/proton/listen_handler.hpp | 2 +
.../bindings/cpp/include/proton/listener.hpp | 3 +-
.../bindings/cpp/include/proton/message.hpp | 14 ++--
.../bindings/cpp/include/proton/message_id.hpp | 2 +
.../cpp/include/proton/messaging_handler.hpp | 17 +----
.../bindings/cpp/include/proton/receiver.hpp | 10 ++-
.../cpp/include/proton/receiver_options.hpp | 12 +---
.../cpp/include/proton/reconnect_timer.hpp | 3 +-
proton-c/bindings/cpp/include/proton/scalar.hpp | 7 +-
.../bindings/cpp/include/proton/scalar_base.hpp | 6 +-
proton-c/bindings/cpp/include/proton/sender.hpp | 11 +--
.../cpp/include/proton/sender_options.hpp | 12 +---
.../bindings/cpp/include/proton/session.hpp | 10 +--
.../cpp/include/proton/session_options.hpp | 6 +-
proton-c/bindings/cpp/include/proton/source.hpp | 16 ++---
.../cpp/include/proton/source_options.hpp | 7 +-
proton-c/bindings/cpp/include/proton/ssl.hpp | 5 +-
proton-c/bindings/cpp/include/proton/target.hpp | 10 +--
.../cpp/include/proton/target_options.hpp | 9 +--
.../bindings/cpp/include/proton/terminus.hpp | 13 +++-
.../bindings/cpp/include/proton/thread_safe.hpp | 8 +--
.../bindings/cpp/include/proton/timestamp.hpp | 2 +
.../bindings/cpp/include/proton/transfer.hpp | 4 +-
.../bindings/cpp/include/proton/transport.hpp | 12 +---
proton-c/bindings/cpp/include/proton/types.hpp | 4 +-
.../bindings/cpp/include/proton/types_fwd.hpp | 7 +-
proton-c/bindings/cpp/include/proton/url.hpp | 3 +-
proton-c/bindings/cpp/include/proton/uuid.hpp | 2 +-
proton-c/bindings/cpp/include/proton/value.hpp | 2 +
proton-c/bindings/cpp/src/connection.cpp | 3 +
proton-c/bindings/cpp/src/container.cpp | 1 +
proton-c/bindings/cpp/src/container_test.cpp | 2 +
proton-c/bindings/cpp/src/delivery.cpp | 2 +
proton-c/bindings/cpp/src/handler.cpp | 1 +
.../bindings/cpp/src/include/container_impl.hpp | 5 +-
.../bindings/cpp/src/include/proton_event.hpp | 2 +-
proton-c/bindings/cpp/src/include/reactor.hpp | 5 +-
proton-c/bindings/cpp/src/message.cpp | 5 +-
proton-c/bindings/cpp/src/messaging_adapter.cpp | 4 +-
proton-c/bindings/cpp/src/receiver.cpp | 6 +-
proton-c/bindings/cpp/src/sender.cpp | 6 +-
proton-c/bindings/cpp/src/session.cpp | 8 ++-
proton-c/bindings/cpp/src/terminus.cpp | 6 +-
proton-c/bindings/cpp/src/tracker.cpp | 2 +
tests/tools/apps/cpp/reactor_send.cpp | 8 ++-
84 files changed, 327 insertions(+), 241 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/broker.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/broker.cpp b/examples/cpp/broker.cpp
index 232839b..97ef206 100644
--- a/examples/cpp/broker.cpp
+++ b/examples/cpp/broker.cpp
@@ -22,8 +22,11 @@
#include "options.hpp"
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
+#include <proton/error_condition.hpp>
+#include <proton/listener.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/message.hpp>
#include <proton/receiver_options.hpp>
@@ -31,6 +34,7 @@
#include <proton/sender_options.hpp>
#include <proton/source_options.hpp>
#include <proton/target_options.hpp>
+#include <proton/tracker.hpp>
#include <proton/transport.hpp>
#include <proton/url.hpp>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/client.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/client.cpp b/examples/cpp/client.cpp
index dd22ccd..7139155 100644
--- a/examples/cpp/client.cpp
+++ b/examples/cpp/client.cpp
@@ -20,12 +20,16 @@
*/
#include "options.hpp"
+#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
-#include <proton/connection.hpp>
-#include <proton/tracker.hpp>
+#include <proton/receiver_options.hpp>
#include <proton/source_options.hpp>
+#include <proton/thread_safe.hpp>
+#include <proton/tracker.hpp>
#include <iostream>
#include <vector>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/connection_options.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/connection_options.cpp b/examples/cpp/connection_options.cpp
index f9935a8..f718060 100644
--- a/examples/cpp/connection_options.cpp
+++ b/examples/cpp/connection_options.cpp
@@ -21,8 +21,10 @@
#include <proton/connection.hpp>
#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/transport.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/direct_recv.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/direct_recv.cpp b/examples/cpp/direct_recv.cpp
index d2d3939..705b480 100644
--- a/examples/cpp/direct_recv.cpp
+++ b/examples/cpp/direct_recv.cpp
@@ -22,10 +22,14 @@
#include "options.hpp"
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
+#include <proton/message.hpp>
+#include <proton/message_id.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/link.hpp>
+#include <proton/listener.hpp>
#include <proton/value.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/direct_send.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/direct_send.cpp b/examples/cpp/direct_send.cpp
index d8427b7..7de762d 100644
--- a/examples/cpp/direct_send.cpp
+++ b/examples/cpp/direct_send.cpp
@@ -22,10 +22,15 @@
#include "options.hpp"
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
+#include <proton/message_id.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/value.hpp>
#include <proton/tracker.hpp>
+#include <proton/types.hpp>
#include <iostream>
#include <map>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/flow_control.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/flow_control.cpp b/examples/cpp/flow_control.cpp
index 99f832d..c0b8739 100644
--- a/examples/cpp/flow_control.cpp
+++ b/examples/cpp/flow_control.cpp
@@ -21,14 +21,18 @@
#include "options.hpp"
-#include <proton/listener.hpp>
#include <proton/connection.hpp>
#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/delivery.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/receiver_options.hpp>
#include <proton/sender.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
-#include <proton/delivery.hpp>
#include <iostream>
#include <sstream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/helloworld.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/helloworld.cpp b/examples/cpp/helloworld.cpp
index fa95af0..4aa5cdd 100644
--- a/examples/cpp/helloworld.cpp
+++ b/examples/cpp/helloworld.cpp
@@ -20,9 +20,13 @@
*/
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/thread_safe.hpp>
+#include <proton/tracker.hpp>
#include <proton/url.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/helloworld_direct.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/helloworld_direct.cpp b/examples/cpp/helloworld_direct.cpp
index 5421e62..b3a1af8 100644
--- a/examples/cpp/helloworld_direct.cpp
+++ b/examples/cpp/helloworld_direct.cpp
@@ -20,9 +20,13 @@
*/
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/sender.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/mt/broker.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/mt/broker.cpp b/examples/cpp/mt/broker.cpp
index 7ef90c3..83b7005 100644
--- a/examples/cpp/mt/broker.cpp
+++ b/examples/cpp/mt/broker.cpp
@@ -21,18 +21,26 @@
#include "mt_container.hpp"
#include <proton/connection.hpp>
+#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
#include <proton/error_condition.hpp>
#include <proton/listen_handler.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/sender_options.hpp>
#include <proton/source_options.hpp>
+#include <proton/target.hpp>
#include <proton/thread_safe.hpp>
+#include <proton/tracker.hpp>
#include <atomic>
+#include <deque>
#include <functional>
#include <iostream>
+#include <map>
#include <mutex>
#include <thread>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/queue_browser.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/queue_browser.cpp b/examples/cpp/queue_browser.cpp
index 649716b..583277e 100644
--- a/examples/cpp/queue_browser.cpp
+++ b/examples/cpp/queue_browser.cpp
@@ -20,11 +20,14 @@
*/
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/receiver_options.hpp>
#include <proton/source_options.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/url.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/scheduled_send.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/scheduled_send.cpp b/examples/cpp/scheduled_send.cpp
index 280c737..ef6cd27 100644
--- a/examples/cpp/scheduled_send.cpp
+++ b/examples/cpp/scheduled_send.cpp
@@ -21,8 +21,13 @@
#include "options.hpp"
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/sender.hpp>
+#include <proton/thread_safe.hpp>
+#include <proton/tracker.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/scheduled_send_03.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/scheduled_send_03.cpp b/examples/cpp/scheduled_send_03.cpp
index 5d3aaac..92e5767 100644
--- a/examples/cpp/scheduled_send_03.cpp
+++ b/examples/cpp/scheduled_send_03.cpp
@@ -21,8 +21,16 @@
#include "options.hpp"
+#include <proton/container.hpp>
+#include <proton/connection.hpp>
#include <proton/default_container.hpp>
+#include <proton/duration.hpp>
+#include <proton/function.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/sender.hpp>
+#include <proton/thread_safe.hpp>
+#include <proton/tracker.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/selected_recv.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/selected_recv.cpp b/examples/cpp/selected_recv.cpp
index 2c1a6b6..a48ef0e 100644
--- a/examples/cpp/selected_recv.cpp
+++ b/examples/cpp/selected_recv.cpp
@@ -20,10 +20,13 @@
*/
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/receiver_options.hpp>
#include <proton/source_options.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/url.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/server.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/server.cpp b/examples/cpp/server.cpp
index ec24f9f..449ce6e 100644
--- a/examples/cpp/server.cpp
+++ b/examples/cpp/server.cpp
@@ -22,8 +22,12 @@
#include "options.hpp"
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/message.hpp>
+#include <proton/message_id.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
#include <proton/url.hpp>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/server_direct.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/server_direct.cpp b/examples/cpp/server_direct.cpp
index 220934f..22d519a 100644
--- a/examples/cpp/server_direct.cpp
+++ b/examples/cpp/server_direct.cpp
@@ -21,9 +21,14 @@
#include "options.hpp"
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
+#include <proton/message_id.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/sender.hpp>
+#include <proton/sender_options.hpp>
#include <proton/source_options.hpp>
#include <proton/tracker.hpp>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/service_bus.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/service_bus.cpp b/examples/cpp/service_bus.cpp
index 73eaadb..6b57f8d 100644
--- a/examples/cpp/service_bus.cpp
+++ b/examples/cpp/service_bus.cpp
@@ -84,13 +84,19 @@ Done. No more messages.
#include <proton/connection.hpp>
#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/delivery.hpp>
+#include <proton/function.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/receiver_options.hpp>
#include <proton/sender.hpp>
+#include <proton/sender_options.hpp>
+#include <proton/source_options.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
-#include <proton/delivery.hpp>
#include <proton/url.hpp>
-#include <proton/source_options.hpp>
#include <iostream>
#include <sstream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/simple_recv.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/simple_recv.cpp b/examples/cpp/simple_recv.cpp
index 1f077d6..145eef9 100644
--- a/examples/cpp/simple_recv.cpp
+++ b/examples/cpp/simple_recv.cpp
@@ -22,11 +22,15 @@
#include "options.hpp"
#include <proton/connection.hpp>
+#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
#include <proton/delivery.hpp>
-#include <proton/messaging_handler.hpp>
#include <proton/link.hpp>
+#include <proton/message.hpp>
#include <proton/message_id.hpp>
+#include <proton/messaging_handler.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/value.hpp>
#include <iostream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/simple_send.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/simple_send.cpp b/examples/cpp/simple_send.cpp
index 9e11588..358bbec 100644
--- a/examples/cpp/simple_send.cpp
+++ b/examples/cpp/simple_send.cpp
@@ -22,10 +22,15 @@
#include "options.hpp"
#include <proton/connection.hpp>
+#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/message.hpp>
+#include <proton/message_id.hpp>
#include <proton/messaging_handler.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
-#include <proton/value.hpp>
+#include <proton/types.hpp>
#include <iostream>
#include <map>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/ssl.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/ssl.cpp b/examples/cpp/ssl.cpp
index 67394b5..2e901c2 100644
--- a/examples/cpp/ssl.cpp
+++ b/examples/cpp/ssl.cpp
@@ -23,9 +23,14 @@
#include <proton/connection_options.hpp>
#include <proton/connection.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/error_condition.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/ssl.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
#include <proton/transport.hpp>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/examples/cpp/ssl_client_cert.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/ssl_client_cert.cpp b/examples/cpp/ssl_client_cert.cpp
index 42b6593..630e74b 100644
--- a/examples/cpp/ssl_client_cert.cpp
+++ b/examples/cpp/ssl_client_cert.cpp
@@ -21,10 +21,14 @@
#include <proton/connection.hpp>
#include <proton/connection_options.hpp>
+#include <proton/container.hpp>
#include <proton/default_container.hpp>
+#include <proton/listener.hpp>
+#include <proton/message.hpp>
#include <proton/messaging_handler.hpp>
#include <proton/sasl.hpp>
#include <proton/ssl.hpp>
+#include <proton/thread_safe.hpp>
#include <proton/tracker.hpp>
#include <proton/transport.hpp>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/annotation_key.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/annotation_key.hpp b/proton-c/bindings/cpp/include/proton/annotation_key.hpp
index 23d789b..4995141 100644
--- a/proton-c/bindings/cpp/include/proton/annotation_key.hpp
+++ b/proton-c/bindings/cpp/include/proton/annotation_key.hpp
@@ -25,6 +25,8 @@
#include "./scalar_base.hpp"
#include "./symbol.hpp"
+#include <proton/type_compat.h>
+
namespace proton {
/// A key for use with AMQP annotation maps.
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/binary.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/binary.hpp b/proton-c/bindings/cpp/include/proton/binary.hpp
index d2f5b97..cf4c7a2 100644
--- a/proton-c/bindings/cpp/include/proton/binary.hpp
+++ b/proton-c/bindings/cpp/include/proton/binary.hpp
@@ -25,6 +25,8 @@
#include "./internal/export.hpp"
#include "./types_fwd.hpp"
+#include <proton/type_compat.h>
+
#include <iosfwd>
#include <string>
#include <vector>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/byte_array.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/byte_array.hpp b/proton-c/bindings/cpp/include/proton/byte_array.hpp
index d69861a..9040133 100644
--- a/proton-c/bindings/cpp/include/proton/byte_array.hpp
+++ b/proton-c/bindings/cpp/include/proton/byte_array.hpp
@@ -24,6 +24,8 @@
#include "./internal/comparable.hpp"
#include "./types_fwd.hpp"
+#include <proton/type_compat.h>
+
#include <algorithm>
#include <iterator>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/codec/decoder.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/codec/decoder.hpp b/proton-c/bindings/cpp/include/proton/codec/decoder.hpp
index 7acae9d..3dc6d57 100644
--- a/proton-c/bindings/cpp/include/proton/codec/decoder.hpp
+++ b/proton-c/bindings/cpp/include/proton/codec/decoder.hpp
@@ -27,6 +27,8 @@
#include "../types_fwd.hpp"
#include "./common.hpp"
+#include <proton/type_compat.h>
+
#include <utility>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/codec/encoder.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/codec/encoder.hpp b/proton-c/bindings/cpp/include/proton/codec/encoder.hpp
index 9183c07..24de309 100644
--- a/proton-c/bindings/cpp/include/proton/codec/encoder.hpp
+++ b/proton-c/bindings/cpp/include/proton/codec/encoder.hpp
@@ -27,6 +27,8 @@
#include "../types_fwd.hpp"
#include "./common.hpp"
+#include <proton/type_compat.h>
+
namespace proton {
class scalar_base;
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/connection.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/connection.hpp b/proton-c/bindings/cpp/include/proton/connection.hpp
index 062805f..aac3bb7 100644
--- a/proton-c/bindings/cpp/include/proton/connection.hpp
+++ b/proton-c/bindings/cpp/include/proton/connection.hpp
@@ -22,12 +22,13 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
-#include "./endpoint.hpp"
#include "./internal/object.hpp"
+#include "./endpoint.hpp"
#include "./session.hpp"
-#include <proton/types.h>
+#include <proton/type_compat.h>
#include <string>
@@ -35,15 +36,6 @@ struct pn_connection_t;
namespace proton {
-class messaging_handler;
-class connection_options;
-class sender;
-class sender_options;
-class receiver;
-class receiver_options;
-class container;
-template <class T> class thread_safe;
-
/// A connection to a remote AMQP peer.
class
PN_CPP_CLASS_EXTERN connection : public internal::object<pn_connection_t>, public endpoint {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/connection_options.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/connection_options.hpp b/proton-c/bindings/cpp/include/proton/connection_options.hpp
index d2deebf..6957fad 100644
--- a/proton-c/bindings/cpp/include/proton/connection_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/connection_options.hpp
@@ -22,12 +22,14 @@
*
*/
+#include "./fwd.hpp"
+#include "./types_fwd.hpp"
#include "./internal/config.hpp"
#include "./internal/export.hpp"
-#include "./duration.hpp"
#include "./internal/pn_unique_ptr.hpp"
-#include "./reconnect_timer.hpp"
-#include "./types_fwd.hpp"
+#include "./duration.hpp"
+
+#include <proton/type_compat.h>
#include <vector>
#include <string>
@@ -36,13 +38,6 @@ struct pn_connection_t;
namespace proton {
-class proton_handler;
-class connection;
-
-namespace io {
-class connection_driver;
-}
-
/// Options for creating a connection.
///
/// Options can be "chained" like this:
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/container.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/container.hpp b/proton-c/bindings/cpp/include/proton/container.hpp
index 7d2d34c..6fe81dc 100644
--- a/proton-c/bindings/cpp/include/proton/container.hpp
+++ b/proton-c/bindings/cpp/include/proton/container.hpp
@@ -22,6 +22,7 @@
*
*/
+#include "./fwd.hpp"
#include "./connection_options.hpp"
#include "./function.hpp"
#include "./listener.hpp"
@@ -36,17 +37,6 @@
namespace proton {
-class connection;
-class connection_options;
-class container_impl;
-class messaging_handler;
-class listen_handler;
-class listener;
-class receiver;
-class receiver_options;
-class sender;
-class sender_options;
-
/// A top-level container of connections, sessions, senders, and
/// receivers.
///
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/decimal.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/decimal.hpp b/proton-c/bindings/cpp/include/proton/decimal.hpp
index 873931b..efca029 100644
--- a/proton-c/bindings/cpp/include/proton/decimal.hpp
+++ b/proton-c/bindings/cpp/include/proton/decimal.hpp
@@ -26,8 +26,6 @@
#include "./internal/export.hpp"
#include "./internal/comparable.hpp"
-#include <proton/types.h>
-
#include <iosfwd>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/default_container.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/default_container.hpp b/proton-c/bindings/cpp/include/proton/default_container.hpp
index 0214490..3213c02 100644
--- a/proton-c/bindings/cpp/include/proton/default_container.hpp
+++ b/proton-c/bindings/cpp/include/proton/default_container.hpp
@@ -22,6 +22,7 @@
*
*/
+#include "./fwd.hpp"
#include "./container.hpp"
#include "./internal/config.hpp"
@@ -31,7 +32,6 @@
#include <string>
namespace proton {
-class messaging_handler;
// Avoid deprecated diagnostics from auto_ptr
#if defined(__GNUC__) && __GNUC__*100 + __GNUC_MINOR__ >= 406 || defined(__clang__)
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/delivery.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/delivery.hpp b/proton-c/bindings/cpp/include/proton/delivery.hpp
index 91fd143..7c89f0c 100644
--- a/proton-c/bindings/cpp/include/proton/delivery.hpp
+++ b/proton-c/bindings/cpp/include/proton/delivery.hpp
@@ -22,17 +22,13 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./internal/object.hpp"
#include "./transfer.hpp"
-#include <proton/delivery.h>
-#include <proton/disposition.h>
-
namespace proton {
-class receiver;
-
/// A received message.
///
/// A delivery attempt can fail. As a result, a particular message may
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/duration.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/duration.hpp b/proton-c/bindings/cpp/include/proton/duration.hpp
index 7110051..a190cf9 100644
--- a/proton-c/bindings/cpp/include/proton/duration.hpp
+++ b/proton-c/bindings/cpp/include/proton/duration.hpp
@@ -26,6 +26,8 @@
#include "./internal/comparable.hpp"
#include "./types_fwd.hpp"
+#include <proton/type_compat.h>
+
#include <iosfwd>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/endpoint.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/endpoint.hpp b/proton-c/bindings/cpp/include/proton/endpoint.hpp
index 4628d35..36ac981 100644
--- a/proton-c/bindings/cpp/include/proton/endpoint.hpp
+++ b/proton-c/bindings/cpp/include/proton/endpoint.hpp
@@ -22,10 +22,9 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/config.hpp"
-#include "./error_condition.hpp"
#include "./internal/export.hpp"
-#include "./internal/comparable.hpp"
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/error_condition.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/error_condition.hpp b/proton-c/bindings/cpp/include/proton/error_condition.hpp
index e75e5d0..fb39332 100644
--- a/proton-c/bindings/cpp/include/proton/error_condition.hpp
+++ b/proton-c/bindings/cpp/include/proton/error_condition.hpp
@@ -23,8 +23,8 @@
*/
#include "./internal/export.hpp"
-#include "./value.hpp"
#include "./internal/config.hpp"
+#include "./value.hpp"
#include <string>
#include <iosfwd>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/event_loop.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/event_loop.hpp b/proton-c/bindings/cpp/include/proton/event_loop.hpp
index 8288de9..d43ba4f 100644
--- a/proton-c/bindings/cpp/include/proton/event_loop.hpp
+++ b/proton-c/bindings/cpp/include/proton/event_loop.hpp
@@ -22,16 +22,12 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/config.hpp"
-#include "./function.hpp"
+#include "./internal/export.hpp"
#include <functional>
-#if PN_CPP_HAS_CPP11
-#include <future>
-#include <type_traits>
-#endif
-
struct pn_connection_t;
struct pn_session_t;
struct pn_link_t;
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/fwd.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/fwd.hpp b/proton-c/bindings/cpp/include/proton/fwd.hpp
new file mode 100644
index 0000000..c494ad3
--- /dev/null
+++ b/proton-c/bindings/cpp/include/proton/fwd.hpp
@@ -0,0 +1,70 @@
+#ifndef PROTON_FWD_HPP
+#define PROTON_FWD_HPP
+
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+namespace proton {
+
+class annotation_key;
+class connection;
+class connection_options;
+class container;
+class container_impl;
+class delivery;
+class error_condition;
+class event;
+class message;
+class message_id;
+class messaging_handler;
+class listen_handler;
+class listener;
+class receiver;
+class receiver_iterator;
+class receiver_options;
+class reconnect_timer;
+class sasl;
+class sender;
+class sender_iterator;
+class sender_options;
+class session;
+class session_options;
+class source_options;
+class ssl;
+class target_options;
+class tracker;
+class transport;
+class url;
+class void_function0;
+
+
+namespace io {
+
+class connection_driver;
+
+}
+
+template <class T> class returned;
+template <class T> class thread_safe;
+
+}
+
+#endif // PROTON_FWD_HPP
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/internal/type_traits.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/internal/type_traits.hpp b/proton-c/bindings/cpp/include/proton/internal/type_traits.hpp
index 3d66f94..4c4c7d6 100644
--- a/proton-c/bindings/cpp/include/proton/internal/type_traits.hpp
+++ b/proton-c/bindings/cpp/include/proton/internal/type_traits.hpp
@@ -30,6 +30,9 @@
#include "./config.hpp"
#include "../types_fwd.hpp"
#include "../type_id.hpp"
+
+#include <proton/type_compat.h>
+
#include <limits>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp b/proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp
index 123f00a..0aeed78 100644
--- a/proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp
+++ b/proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp
@@ -24,6 +24,7 @@
#include "../container.hpp"
+#include <future>
#include <mutex>
#include <sstream>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/link.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/link.hpp b/proton-c/bindings/cpp/include/proton/link.hpp
index 40200e8..8534f21 100644
--- a/proton-c/bindings/cpp/include/proton/link.hpp
+++ b/proton-c/bindings/cpp/include/proton/link.hpp
@@ -22,34 +22,16 @@
*
*/
-#include "./endpoint.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
-#include "./message.hpp"
-#include "./source.hpp"
-#include "./target.hpp"
+#include "./endpoint.hpp"
#include "./internal/object.hpp"
-#include "./sender_options.hpp"
-#include "./receiver_options.hpp"
-
-#include <proton/types.h>
#include <string>
-namespace proton {
+struct pn_link_t;
-class sender;
-class receiver;
-class error_condition;
-class link_context;
-class proton_event;
-class messaging_adapter;
-class proton_handler;
-class delivery;
-class connection;
-class container;
-class session;
-class sender_iterator;
-class receiver_iterator;
+namespace proton {
/// A named channel for sending or receiving messages. It is the base
/// class for sender and receiver.
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/listen_handler.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/listen_handler.hpp b/proton-c/bindings/cpp/include/proton/listen_handler.hpp
index acd7d4c..99f7558 100644
--- a/proton-c/bindings/cpp/include/proton/listen_handler.hpp
+++ b/proton-c/bindings/cpp/include/proton/listen_handler.hpp
@@ -22,6 +22,8 @@
*
*/
+#include "./fwd.hpp"
+
namespace proton {
// XXX Discuss more
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/listener.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/listener.hpp b/proton-c/bindings/cpp/include/proton/listener.hpp
index 2cdf121..4b4ca24 100644
--- a/proton-c/bindings/cpp/include/proton/listener.hpp
+++ b/proton-c/bindings/cpp/include/proton/listener.hpp
@@ -20,14 +20,13 @@
* under the License.
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include <string>
namespace proton {
-class container;
-
/// A listener for incoming connections.
class PN_CPP_CLASS_EXTERN listener {
public:
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/message.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/message.hpp b/proton-c/bindings/cpp/include/proton/message.hpp
index e9f1da4..85ccff6 100644
--- a/proton-c/bindings/cpp/include/proton/message.hpp
+++ b/proton-c/bindings/cpp/include/proton/message.hpp
@@ -22,28 +22,24 @@
*
*/
-#include "./annotation_key.hpp"
-#include "./codec/map.hpp"
-#include "./duration.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
-#include "./message_id.hpp"
+#include "./duration.hpp"
+#include "./timestamp.hpp"
#include "./value.hpp"
#include "./internal/cached_map.hpp"
#include "./internal/pn_unique_ptr.hpp"
+#include <proton/type_compat.h>
+
#include <string>
#include <vector>
-#include <utility>
struct pn_message_t;
namespace proton {
-class delivery;
-class message_id;
-class annotation_key;
-
/// An AMQP message.
///
/// Value semantics: A message can be copied or assigned to make a new
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/message_id.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/message_id.hpp b/proton-c/bindings/cpp/include/proton/message_id.hpp
index 5e0de90..ee12a17 100644
--- a/proton-c/bindings/cpp/include/proton/message_id.hpp
+++ b/proton-c/bindings/cpp/include/proton/message_id.hpp
@@ -26,6 +26,8 @@
#include "./scalar_base.hpp"
#include "./uuid.hpp"
+#include <proton/type_compat.h>
+
#include <string>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/messaging_handler.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/messaging_handler.hpp b/proton-c/bindings/cpp/include/proton/messaging_handler.hpp
index acdcd30..6653c43 100644
--- a/proton-c/bindings/cpp/include/proton/messaging_handler.hpp
+++ b/proton-c/bindings/cpp/include/proton/messaging_handler.hpp
@@ -22,26 +22,11 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
namespace proton {
-class error_condition;
-class container;
-class event;
-class transport;
-class connection;
-class session;
-class sender;
-class receiver;
-class tracker;
-class delivery;
-class message;
-class messaging_adapter;
-
-namespace io {
-class connection_driver;
-}
/// A handler for Proton messaging events.
///
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/receiver.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/receiver.hpp b/proton-c/bindings/cpp/include/proton/receiver.hpp
index 986765e..f92ac96 100644
--- a/proton-c/bindings/cpp/include/proton/receiver.hpp
+++ b/proton-c/bindings/cpp/include/proton/receiver.hpp
@@ -22,18 +22,16 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
-#include "./endpoint.hpp"
#include "./link.hpp"
-#include <proton/types.h>
+#include <proton/type_compat.h>
-#include <string>
-
-struct pn_connection_t;
+struct pn_link_t;
+struct pn_session_t;
namespace proton {
-template <class T> class thread_safe;
/// A channel for receiving messages.
class
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/receiver_options.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/receiver_options.hpp b/proton-c/bindings/cpp/include/proton/receiver_options.hpp
index 7b1b511..413e4d4 100644
--- a/proton-c/bindings/cpp/include/proton/receiver_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/receiver_options.hpp
@@ -22,23 +22,13 @@
*
*/
-#include "./internal/config.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./internal/pn_unique_ptr.hpp"
-#include "./types.hpp"
#include "./delivery_mode.hpp"
-#include "./terminus.hpp"
-
-#include <vector>
-#include <string>
namespace proton {
-class proton_handler;
-class receiver;
-class source_options;
-class target_options;
-
/// Options for creating a receiver.
///
/// Options can be "chained" like this:
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/reconnect_timer.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/reconnect_timer.hpp b/proton-c/bindings/cpp/include/proton/reconnect_timer.hpp
index 66ec6b0..766feb7 100644
--- a/proton-c/bindings/cpp/include/proton/reconnect_timer.hpp
+++ b/proton-c/bindings/cpp/include/proton/reconnect_timer.hpp
@@ -28,9 +28,8 @@
#include "./internal/export.hpp"
#include "./duration.hpp"
#include "./timestamp.hpp"
-#include "./types.hpp"
-#include <string>
+#include <proton/type_compat.h>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/scalar.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/scalar.hpp b/proton-c/bindings/cpp/include/proton/scalar.hpp
index 27de576..0559dd9 100644
--- a/proton-c/bindings/cpp/include/proton/scalar.hpp
+++ b/proton-c/bindings/cpp/include/proton/scalar.hpp
@@ -22,12 +22,9 @@
#include "./scalar_base.hpp"
-namespace proton {
+#include <proton/type_compat.h>
-namespace codec {
-class decoder;
-class encoder;
-}
+namespace proton {
/// A holder for an instance of any scalar AMQP type.
///
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/scalar_base.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/scalar_base.hpp b/proton-c/bindings/cpp/include/proton/scalar_base.hpp
index ba594c3..ca3161a 100644
--- a/proton-c/bindings/cpp/include/proton/scalar_base.hpp
+++ b/proton-c/bindings/cpp/include/proton/scalar_base.hpp
@@ -34,12 +34,14 @@
#include "./types_fwd.hpp"
#include "./uuid.hpp"
+#include <proton/type_compat.h>
+
#include <iosfwd>
#include <string>
#include <typeinfo>
namespace proton {
-class message;
+
class scalar_base;
namespace codec {
@@ -150,7 +152,7 @@ class scalar_base : private internal::comparable<scalar_base> {
binary bytes_; // Hold binary data.
/// @cond INTERNAL
- friend class proton::message;
+ friend class message;
friend class codec::encoder;
friend class codec::decoder;
template<class T> friend T internal::get(const scalar_base& s);
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/sender.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/sender.hpp b/proton-c/bindings/cpp/include/proton/sender.hpp
index 5d34b23..8979bb4 100644
--- a/proton-c/bindings/cpp/include/proton/sender.hpp
+++ b/proton-c/bindings/cpp/include/proton/sender.hpp
@@ -22,19 +22,14 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./link.hpp"
-#include "./message.hpp"
-#include "./tracker.hpp"
-#include <proton/types.h>
-
-#include <string>
-
-struct pn_connection_t;
+struct pn_link_t;
+struct pn_session_t;
namespace proton {
-template <class T> class thread_safe;
/// A channel for sending messages.
class
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/sender_options.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/sender_options.hpp b/proton-c/bindings/cpp/include/proton/sender_options.hpp
index 0a618ff..9d7bb42 100644
--- a/proton-c/bindings/cpp/include/proton/sender_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/sender_options.hpp
@@ -22,23 +22,13 @@
*
*/
-#include "./internal/config.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./internal/pn_unique_ptr.hpp"
-#include "./types.hpp"
#include "./delivery_mode.hpp"
-#include "./terminus.hpp"
-
-#include <vector>
-#include <string>
namespace proton {
-class proton_handler;
-class sender;
-class source_options;
-class target_options;
-
/// Options for creating a sender.
///
/// Options can be "chained" like this:
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/session.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/session.hpp b/proton-c/bindings/cpp/include/proton/session.hpp
index 5053f4c..cbdf1b9 100644
--- a/proton-c/bindings/cpp/include/proton/session.hpp
+++ b/proton-c/bindings/cpp/include/proton/session.hpp
@@ -22,26 +22,18 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./endpoint.hpp"
#include "./receiver.hpp"
#include "./sender.hpp"
-#include "./session_options.hpp"
-
-#include <proton/types.h>
-#include <proton/link.h>
#include <string>
-struct pn_connection_t;
struct pn_session_t;
namespace proton {
-class container;
-class messaging_handler;
-template <class T> class thread_safe;
-
/// A container of senders and receivers.
class
PN_CPP_CLASS_EXTERN session : public internal::object<pn_session_t>, public endpoint {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/session_options.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/session_options.hpp b/proton-c/bindings/cpp/include/proton/session_options.hpp
index 8bef3e8..eb47a89 100644
--- a/proton-c/bindings/cpp/include/proton/session_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/session_options.hpp
@@ -22,16 +22,12 @@
*
*/
-#include "./internal/config.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./internal/pn_unique_ptr.hpp"
-#include "./types.hpp"
namespace proton {
-class messaging_handler;
-class session;
-
/// Options for creating a session.
///
/// Options can be "chained" (see proton::connection_options).
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/source.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/source.hpp b/proton-c/bindings/cpp/include/proton/source.hpp
index 05485c3..321af9a 100644
--- a/proton-c/bindings/cpp/include/proton/source.hpp
+++ b/proton-c/bindings/cpp/include/proton/source.hpp
@@ -22,20 +22,18 @@
*
*/
-#include "./value.hpp"
-#include "./terminus.hpp"
-#include "./codec/map.hpp"
-
-#include "./internal/cached_map.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
-#include "./internal/object.hpp"
+#include "./internal/cached_map.hpp"
+#include "./symbol.hpp"
+#include "./terminus.hpp"
+#include "./value.hpp"
#include <string>
-namespace proton {
+struct pn_terminus_t;
-class sender;
-class receiver;
+namespace proton {
/// A point of origin for messages.
///
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/source_options.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/source_options.hpp b/proton-c/bindings/cpp/include/proton/source_options.hpp
index d530990..f7dde48 100644
--- a/proton-c/bindings/cpp/include/proton/source_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/source_options.hpp
@@ -22,20 +22,15 @@
*
*/
-#include "./internal/config.hpp"
#include "./internal/export.hpp"
#include "./internal/pn_unique_ptr.hpp"
-#include "./types.hpp"
-#include "./delivery_mode.hpp"
+#include "./duration.hpp"
#include "./source.hpp"
-#include <vector>
#include <string>
namespace proton {
-class proton_handler;
-
/// Options for creating a source node for a sender or receiver.
///
/// Options can be "chained" (@see proton::connection_options).
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/ssl.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/ssl.hpp b/proton-c/bindings/cpp/include/proton/ssl.hpp
index 82087e2..c6c4c93 100644
--- a/proton-c/bindings/cpp/include/proton/ssl.hpp
+++ b/proton-c/bindings/cpp/include/proton/ssl.hpp
@@ -23,7 +23,6 @@
*/
#include "./internal/export.hpp"
-#include "./internal/object.hpp"
#include <proton/ssl.h>
@@ -31,7 +30,9 @@
namespace proton {
-class connection_options;
+namespace internal {
+template <class T> class factory;
+}
/// SSL information.
class ssl {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/target.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/target.hpp b/proton-c/bindings/cpp/include/proton/target.hpp
index 5ba5281..746133a 100644
--- a/proton-c/bindings/cpp/include/proton/target.hpp
+++ b/proton-c/bindings/cpp/include/proton/target.hpp
@@ -22,17 +22,19 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
-#include "./internal/object.hpp"
-#include "./value.hpp"
#include "./terminus.hpp"
#include <string>
+struct pn_terminus_t;
+
namespace proton {
-class sender;
-class receiver;
+namespace internal {
+template <class T> class factory;
+}
/// A destination for messages.
///
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/target_options.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/target_options.hpp b/proton-c/bindings/cpp/include/proton/target_options.hpp
index e4fa2f6..547dbbe 100644
--- a/proton-c/bindings/cpp/include/proton/target_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/target_options.hpp
@@ -22,22 +22,15 @@
*
*/
-#include "./internal/config.hpp"
#include "./internal/export.hpp"
#include "./internal/pn_unique_ptr.hpp"
-#include "./types.hpp"
-#include "./delivery_mode.hpp"
+#include "./duration.hpp"
#include "./target.hpp"
-#include "./terminus.hpp"
-#include <vector>
#include <string>
namespace proton {
-class proton_handler;
-class target;
-
/// Options for creating a target node for a sender or receiver.
///
/// Options can be "chained" (see proton::connection_options).
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/terminus.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/terminus.hpp b/proton-c/bindings/cpp/include/proton/terminus.hpp
index 6c10486..b63a8ad 100644
--- a/proton-c/bindings/cpp/include/proton/terminus.hpp
+++ b/proton-c/bindings/cpp/include/proton/terminus.hpp
@@ -22,15 +22,22 @@
*
*/
+#include "./types_fwd.hpp"
#include "./internal/export.hpp"
-#include "./internal/object.hpp"
-#include "./value.hpp"
-#include <proton/link.h>
+#include <proton/terminus.h>
+
#include <string>
+struct pn_link_t;
+struct pn_terminus_t;
+
namespace proton {
+namespace internal {
+template <class T> class factory;
+}
+
/// One end of a link, either a source or a target.
///
/// The source terminus is where messages originate; the target
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/thread_safe.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/thread_safe.hpp b/proton-c/bindings/cpp/include/proton/thread_safe.hpp
index edd7af4..7851245 100644
--- a/proton-c/bindings/cpp/include/proton/thread_safe.hpp
+++ b/proton-c/bindings/cpp/include/proton/thread_safe.hpp
@@ -22,9 +22,11 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/config.hpp"
#include "./connection.hpp"
#include "./event_loop.hpp"
+#include "./function.hpp"
#include "./internal/object.hpp"
#include "./internal/type_traits.hpp"
@@ -32,12 +34,6 @@
namespace proton {
-class connection;
-class session;
-class link;
-class sender;
-class receiver;
-
namespace internal {
template <class T> struct endpoint_traits;
template<> struct endpoint_traits<connection> {};
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/timestamp.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/timestamp.hpp b/proton-c/bindings/cpp/include/proton/timestamp.hpp
index c0de3e5..6e4281b 100644
--- a/proton-c/bindings/cpp/include/proton/timestamp.hpp
+++ b/proton-c/bindings/cpp/include/proton/timestamp.hpp
@@ -22,6 +22,8 @@
#include "./duration.hpp"
+#include <proton/type_compat.h>
+
namespace proton {
/// A 64-bit timestamp in milliseconds since the Unix epoch.
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/transfer.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/transfer.hpp b/proton-c/bindings/cpp/include/proton/transfer.hpp
index c4f984a..ea073f6 100644
--- a/proton-c/bindings/cpp/include/proton/transfer.hpp
+++ b/proton-c/bindings/cpp/include/proton/transfer.hpp
@@ -22,12 +22,14 @@
*
*/
+#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./internal/object.hpp"
-#include <proton/delivery.h>
#include <proton/disposition.h>
+struct pn_delivery_t;
+
namespace proton {
/// The base class for delivery and tracker.
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/transport.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/transport.hpp b/proton-c/bindings/cpp/include/proton/transport.hpp
index 10641e0..614eff2 100644
--- a/proton-c/bindings/cpp/include/proton/transport.hpp
+++ b/proton-c/bindings/cpp/include/proton/transport.hpp
@@ -22,22 +22,14 @@
*
*/
-#include "./internal/object.hpp"
-#include "./types.hpp"
+#include "./fwd.hpp"
#include "./internal/export.hpp"
+#include "./internal/object.hpp"
struct pn_transport_t;
namespace proton {
-class connection;
-class error_condition;
-class sasl;
-
-namespace io {
-class connection_driver;
-}
-
/// A network channel supporting an AMQP connection.
class transport : public internal::object<pn_transport_t> {
/// @cond INTERNAL
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/types.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/types.hpp b/proton-c/bindings/cpp/include/proton/types.hpp
index 5aa52fd..d21cb8f 100644
--- a/proton-c/bindings/cpp/include/proton/types.hpp
+++ b/proton-c/bindings/cpp/include/proton/types.hpp
@@ -29,13 +29,14 @@
// TODO aconway 2016-03-15: described types, described arrays.
+#include "./internal/config.hpp"
+
#include "./annotation_key.hpp"
#include "./binary.hpp"
#include "./codec/deque.hpp"
#include "./codec/list.hpp"
#include "./codec/map.hpp"
#include "./codec/vector.hpp"
-#include "./internal/config.hpp"
#include "./decimal.hpp"
#include "./duration.hpp"
#include "./message_id.hpp"
@@ -45,7 +46,6 @@
#include "./types_fwd.hpp"
#include "./uuid.hpp"
#include "./value.hpp"
-#include "./internal/config.hpp"
#if PN_CPP_HAS_CPP11
#include "./codec/forward_list.hpp"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/types_fwd.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/types_fwd.hpp b/proton-c/bindings/cpp/include/proton/types_fwd.hpp
index ec35c87..ff53b0c 100644
--- a/proton-c/bindings/cpp/include/proton/types_fwd.hpp
+++ b/proton-c/bindings/cpp/include/proton/types_fwd.hpp
@@ -29,9 +29,9 @@
#include "./internal/config.hpp"
-#include <proton/type_compat.h>
-
-#include <string>
+#if PN_CPP_HAS_NULLPTR
+#include <cstddef>
+#endif
namespace proton {
@@ -44,7 +44,6 @@ class symbol;
class timestamp;
class duration;
class uuid;
-class uuid;
class value;
struct null {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/url.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/url.hpp b/proton-c/bindings/cpp/include/proton/url.hpp
index 78271b6..52e8d43 100644
--- a/proton-c/bindings/cpp/include/proton/url.hpp
+++ b/proton-c/bindings/cpp/include/proton/url.hpp
@@ -23,9 +23,10 @@
*/
#include "./internal/pn_unique_ptr.hpp"
-#include "./types_fwd.hpp"
#include "./error.hpp"
+#include <proton/type_compat.h>
+
#include <iosfwd>
#include <string>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/uuid.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/uuid.hpp b/proton-c/bindings/cpp/include/proton/uuid.hpp
index 6f3bb1c..a60c944 100644
--- a/proton-c/bindings/cpp/include/proton/uuid.hpp
+++ b/proton-c/bindings/cpp/include/proton/uuid.hpp
@@ -22,8 +22,8 @@
*
*/
-#include "./byte_array.hpp"
#include "./internal/export.hpp"
+#include "./byte_array.hpp"
#include <string>
#include <iosfwd>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/include/proton/value.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/value.hpp b/proton-c/bindings/cpp/include/proton/value.hpp
index b24f02e..3ac1763 100644
--- a/proton-c/bindings/cpp/include/proton/value.hpp
+++ b/proton-c/bindings/cpp/include/proton/value.hpp
@@ -28,6 +28,8 @@
#include "./scalar.hpp"
#include "./types_fwd.hpp"
+#include <proton/type_compat.h>
+
#include <iosfwd>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/connection.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/connection.cpp b/proton-c/bindings/cpp/src/connection.cpp
index dcc1ad5..113932c 100644
--- a/proton-c/bindings/cpp/src/connection.cpp
+++ b/proton-c/bindings/cpp/src/connection.cpp
@@ -25,7 +25,10 @@
#include "proton/container.hpp"
#include "proton/error.hpp"
#include "proton/event_loop.hpp"
+#include "proton/receiver_options.hpp"
+#include "proton/sender_options.hpp"
#include "proton/session.hpp"
+#include "proton/session_options.hpp"
#include "proton/transport.hpp"
#include "connector.hpp"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/container.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/container.cpp b/proton-c/bindings/cpp/src/container.cpp
index 0e64a58..914ee56 100644
--- a/proton-c/bindings/cpp/src/container.cpp
+++ b/proton-c/bindings/cpp/src/container.cpp
@@ -20,6 +20,7 @@
*/
#include "proton/container.hpp"
+#include "proton/error_condition.hpp"
#include "proton/listen_handler.hpp"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/container_test.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/container_test.cpp b/proton-c/bindings/cpp/src/container_test.cpp
index 062bb94..564a4ba 100644
--- a/proton-c/bindings/cpp/src/container_test.cpp
+++ b/proton-c/bindings/cpp/src/container_test.cpp
@@ -21,10 +21,12 @@
#include "test_bits.hpp"
#include "proton/connection.hpp"
#include "proton/connection_options.hpp"
+#include "proton/container.hpp"
#include "proton/default_container.hpp"
#include "proton/messaging_handler.hpp"
#include "proton/listener.hpp"
#include "proton/listen_handler.hpp"
+#include "proton/thread_safe.hpp"
#include <cstdlib>
#include <ctime>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/delivery.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/delivery.cpp b/proton-c/bindings/cpp/src/delivery.cpp
index cae2bf0..0562304 100644
--- a/proton-c/bindings/cpp/src/delivery.cpp
+++ b/proton-c/bindings/cpp/src/delivery.cpp
@@ -25,6 +25,8 @@
#include "proton_bits.hpp"
+#include <proton/delivery.h>
+
namespace {
void settle_delivery(pn_delivery_t* o, uint64_t state) {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/handler.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/handler.cpp b/proton-c/bindings/cpp/src/handler.cpp
index 453aa42..5cf6208 100644
--- a/proton-c/bindings/cpp/src/handler.cpp
+++ b/proton-c/bindings/cpp/src/handler.cpp
@@ -21,6 +21,7 @@
#include "proton/messaging_handler.hpp"
#include "proton/connection.hpp"
+#include "proton/error_condition.hpp"
#include "proton/receiver.hpp"
#include "proton/sender.hpp"
#include "proton/session.hpp"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/include/container_impl.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/include/container_impl.hpp b/proton-c/bindings/cpp/src/include/container_impl.hpp
index 0ffc2eb..b0d9634 100644
--- a/proton-c/bindings/cpp/src/include/container_impl.hpp
+++ b/proton-c/bindings/cpp/src/include/container_impl.hpp
@@ -22,12 +22,15 @@
*
*/
+#include "proton/fwd.hpp"
#include "proton/container.hpp"
#include "proton/connection.hpp"
#include "proton/connection_options.hpp"
#include "proton/duration.hpp"
#include "proton/sender.hpp"
+#include "proton/sender_options.hpp"
#include "proton/receiver.hpp"
+#include "proton/receiver_options.hpp"
#include "messaging_adapter.hpp"
#include "reactor.hpp"
@@ -41,10 +44,8 @@
namespace proton {
class dispatch_helper;
-class connection;
class connector;
class acceptor;
-class container;
class url;
class listen_handler;
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/include/proton_event.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/include/proton_event.hpp b/proton-c/bindings/cpp/src/include/proton_event.hpp
index 9b33701..00fdadf 100644
--- a/proton-c/bindings/cpp/src/include/proton_event.hpp
+++ b/proton-c/bindings/cpp/src/include/proton_event.hpp
@@ -22,6 +22,7 @@
*
*/
+#include "proton/fwd.hpp"
#include "proton/error.hpp"
#include <proton/event.h>
@@ -29,7 +30,6 @@
namespace proton {
class proton_handler;
-class container;
/** Event information for a proton::proton_handler */
class proton_event
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/include/reactor.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/include/reactor.hpp b/proton-c/bindings/cpp/src/include/reactor.hpp
index 21df5ce..7aba5f0 100644
--- a/proton-c/bindings/cpp/src/include/reactor.hpp
+++ b/proton-c/bindings/cpp/src/include/reactor.hpp
@@ -23,6 +23,7 @@
/// @cond INTERNAL
/// XXX remove
+#include "proton/fwd.hpp"
#include "proton/internal/object.hpp"
#include "proton/duration.hpp"
#include "proton/timestamp.hpp"
@@ -33,11 +34,7 @@ struct pn_io_t;
namespace proton {
-class connection;
-class container;
class acceptor;
-class url;
-class messaging_handler;
class reactor : public internal::object<pn_reactor_t> {
public:
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/message.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/message.cpp b/proton-c/bindings/cpp/src/message.cpp
index 9a9634c..eecfa3b 100644
--- a/proton-c/bindings/cpp/src/message.cpp
+++ b/proton-c/bindings/cpp/src/message.cpp
@@ -28,12 +28,13 @@
#include "proton/sender.hpp"
#include "proton/timestamp.hpp"
-#include <proton/message.h>
-
#include "msg.hpp"
#include "proton_bits.hpp"
#include "types_internal.hpp"
+#include <proton/delivery.h>
+#include <proton/message.h>
+
#include <string>
#include <algorithm>
#include <assert.h>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/messaging_adapter.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/messaging_adapter.cpp b/proton-c/bindings/cpp/src/messaging_adapter.cpp
index 928c3be..17c84cd 100644
--- a/proton-c/bindings/cpp/src/messaging_adapter.cpp
+++ b/proton-c/bindings/cpp/src/messaging_adapter.cpp
@@ -22,8 +22,10 @@
#include "messaging_adapter.hpp"
#include "proton/delivery.hpp"
-#include "proton/sender.hpp"
#include "proton/error.hpp"
+#include "proton/receiver_options.hpp"
+#include "proton/sender.hpp"
+#include "proton/sender_options.hpp"
#include "proton/tracker.hpp"
#include "proton/transport.hpp"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/receiver.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/receiver.cpp b/proton-c/bindings/cpp/src/receiver.cpp
index 2c417f0..68d55d0 100644
--- a/proton-c/bindings/cpp/src/receiver.cpp
+++ b/proton-c/bindings/cpp/src/receiver.cpp
@@ -18,9 +18,13 @@
* under the License.
*
*/
-#include "proton/link.hpp"
#include "proton/receiver.hpp"
+
#include "proton/error.hpp"
+#include "proton/link.hpp"
+#include "proton/receiver_options.hpp"
+#include "proton/source.hpp"
+#include "proton/target.hpp"
#include "msg.hpp"
#include "proton_bits.hpp"
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/sender.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/sender.cpp b/proton-c/bindings/cpp/src/sender.cpp
index f7ec686..70e9fa6 100644
--- a/proton-c/bindings/cpp/src/sender.cpp
+++ b/proton-c/bindings/cpp/src/sender.cpp
@@ -19,8 +19,12 @@
*
*/
-#include "proton/link.hpp"
#include "proton/sender.hpp"
+
+#include "proton/link.hpp"
+#include "proton/sender_options.hpp"
+#include "proton/source.hpp"
+#include "proton/target.hpp"
#include "proton/tracker.hpp"
#include <proton/delivery.h>
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/session.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/session.cpp b/proton-c/bindings/cpp/src/session.cpp
index 03d8cd1..de152d6 100644
--- a/proton-c/bindings/cpp/src/session.cpp
+++ b/proton-c/bindings/cpp/src/session.cpp
@@ -20,15 +20,17 @@
*/
#include "proton/session.hpp"
-#include <proton/connection.h>
-#include <proton/session.h>
-#include "proton/session.hpp"
#include "proton/connection.hpp"
+#include "proton/receiver_options.hpp"
+#include "proton/sender_options.hpp"
#include "proton/session_options.hpp"
#include "contexts.hpp"
#include "proton_bits.hpp"
+#include <proton/connection.h>
+#include <proton/session.h>
+
#include <string>
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/terminus.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/terminus.cpp b/proton-c/bindings/cpp/src/terminus.cpp
index 2c8da03..8065fe4 100644
--- a/proton-c/bindings/cpp/src/terminus.cpp
+++ b/proton-c/bindings/cpp/src/terminus.cpp
@@ -21,10 +21,10 @@
#include "proton/terminus.hpp"
-#include "proton_bits.hpp"
+#include "proton/duration.hpp"
+#include "proton/value.hpp"
-#include "proton/link.hpp"
-#include <proton/link.h>
+#include "proton_bits.hpp"
namespace proton {
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/proton-c/bindings/cpp/src/tracker.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/tracker.cpp b/proton-c/bindings/cpp/src/tracker.cpp
index 1d309a5..3b15ed5 100644
--- a/proton-c/bindings/cpp/src/tracker.cpp
+++ b/proton-c/bindings/cpp/src/tracker.cpp
@@ -25,6 +25,8 @@
#include "proton_bits.hpp"
+#include <proton/delivery.h>
+
namespace proton {
tracker::tracker(pn_delivery_t *d): transfer(make_wrapper(d)) {}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/5147ed30/tests/tools/apps/cpp/reactor_send.cpp
----------------------------------------------------------------------
diff --git a/tests/tools/apps/cpp/reactor_send.cpp b/tests/tools/apps/cpp/reactor_send.cpp
index 481a305..7841a5e 100644
--- a/tests/tools/apps/cpp/reactor_send.cpp
+++ b/tests/tools/apps/cpp/reactor_send.cpp
@@ -22,11 +22,17 @@
#include "options.hpp"
#include "proton/binary.hpp"
+#include "proton/codec/decoder.hpp"
#include "proton/connection.hpp"
+#include "proton/container.hpp"
#include "proton/default_container.hpp"
-#include "proton/codec/decoder.hpp"
#include "proton/delivery.hpp"
+#include "proton/message.hpp"
+#include "proton/message_id.hpp"
#include "proton/messaging_handler.hpp"
+#include "proton/receiver_options.hpp"
+#include "proton/sender.hpp"
+#include "proton/thread_safe.hpp"
#include "proton/tracker.hpp"
#include "proton/value.hpp"
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org