PROTON-1543: Another slate of doc improvements

 - Transition the message properties and annotations API from
   unsettled to settled
 - Cleanups for messaging_handler and the multithreading page
 - Fix doc warnings and add missing docs
 - Handle new macros in doxygen preprocessing
 - Hide the currently problematic work docs


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/55564c80
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/55564c80
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/55564c80

Branch: refs/heads/go1
Commit: 55564c80b2ea41b3fc4e7be4394a9b280b0cca89
Parents: 6b2e7dc
Author: Justin Ross <jr...@apache.org>
Authored: Fri Oct 13 16:02:28 2017 -0700
Committer: Justin Ross <jr...@apache.org>
Committed: Fri Oct 13 16:02:28 2017 -0700

----------------------------------------------------------------------
 proton-c/bindings/cpp/docs/mt.md                | 41 +++++----
 proton-c/bindings/cpp/docs/user.doxygen.in      |  2 +-
 .../bindings/cpp/include/proton/connection.hpp  | 22 ++---
 .../cpp/include/proton/default_container.hpp    |  2 +-
 .../bindings/cpp/include/proton/function.hpp    |  2 +-
 .../bindings/cpp/include/proton/listener.hpp    |  5 ++
 .../bindings/cpp/include/proton/message.hpp     | 25 +++---
 .../cpp/include/proton/messaging_handler.hpp    | 94 +++++++++++---------
 .../bindings/cpp/include/proton/thread_safe.hpp |  3 +
 proton-c/bindings/cpp/include/proton/url.hpp    |  2 +-
 .../bindings/cpp/include/proton/work_queue.hpp  | 42 +++++----
 proton-c/include/proton/message.h               | 10 +--
 12 files changed, 132 insertions(+), 118 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/proton-c/bindings/cpp/docs/mt.md
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/docs/mt.md b/proton-c/bindings/cpp/docs/mt.md
index 293290c..3be1bc2 100644
--- a/proton-c/bindings/cpp/docs/mt.md
+++ b/proton-c/bindings/cpp/docs/mt.md
@@ -4,38 +4,37 @@ Full multithreading support is available with C++11 and 
later. Limited
 multithreading is possible with older versions of C++.  See the last
 section of this page for more information.
 
-The `proton::container` handles multiple connections concurrently in a thread
-pool, created using `proton::container::run()`. As AMQP events occur on a
-connection the container calls `proton::messaging_handler` event callbacks.  
The
-calls for each connection are *serialized* - callbacks for the same connection
-are never made concurrently.
-
-
-You assign a handler to a connection in `proton::container::connect()` or
-`proton::listen_handler::on_accept()` with
-`proton::connection_options::handler()`.  We recommend you create a separate
-handler for each connection.  That means the handler doesn't need locks or 
other
-synchronization to protect it against concurrent use by proton threads.
-(If you use the handler concurrently from non-proton threads then you will need
-synchronization.)
+`proton::container` handles multiple connections concurrently in a
+thread pool, created using `proton::container::run()`. As AMQP events
+occur on a connection the container calls `proton::messaging_handler`
+event callbacks.  The calls for each connection are *serialized* -
+callbacks for the same connection are never made concurrently.
+
+You assign a handler to a connection in `proton::container::connect()`
+or `proton::listen_handler::on_accept()` with
+`proton::connection_options::handler()`.  We recommend you create a
+separate handler for each connection.  That means the handler doesn't
+need locks or other synchronization to protect it against concurrent
+use by Proton threads.  If you use the handler concurrently from
+non-Proton threads then you will need synchronization.
 
 The examples @ref multithreaded_client.cpp and @ref
 multithreaded_client_flow_control.cpp illustrate these points.
 
-
 ## Thread-safety rules
 
-The `proton::container` is thread-safe *with C++11 or greater*.  An application
-thread can open (or listen for) new connections at any time. The container uses
-threads that call proton::container::run() to handle network IO, and call
-user-defined `proton::messaging_handler` callbacks.
+`proton::container` is thread-safe *with C++11 or greater*.  An
+application thread can open (or listen for) new connections at any
+time. The container uses threads that call `proton::container::run()`
+to handle network IO and call user-defined `proton::messaging_handler`
+callbacks.
 
-The `proton::container` ensures that calls to event callbacks for each
+`proton::container` ensures that calls to event callbacks for each
 connection instance are *serialized* (not called concurrently), but
 callbacks for different connections can be safely executed in
 parallel.
 
-The `proton::connection` and related objects (`proton::session`,
+`proton::connection` and related objects (`proton::session`,
 `proton::sender`, `proton::receiver`, `proton::delivery`) are *not*
 thread-safe and are subject to the following rules.
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/proton-c/bindings/cpp/docs/user.doxygen.in
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/docs/user.doxygen.in 
b/proton-c/bindings/cpp/docs/user.doxygen.in
index f829086..855be07 100644
--- a/proton-c/bindings/cpp/docs/user.doxygen.in
+++ b/proton-c/bindings/cpp/docs/user.doxygen.in
@@ -44,7 +44,7 @@ SORT_MEMBER_DOCS        = NO
 ENABLE_PREPROCESSING    = YES
 MACRO_EXPANSION         = YES
 EXPAND_ONLY_PREDEF      = YES
-PREDEFINED              = protected=private PN_CPP_EXTERN= PN_CPP_OVERRIDE= 
PN_CPP_HAS_CPP11=1 PN_CPP_HAS_SHARED_PTR=1 PN_CPP_HAS_UNIQUE_PTR=1 
PN_CPP_HAS_LONG_LONG=1 PN_CPP_HAS_NULLPTR=1 PN_CPP_HAS_RVALUE_REFERENCES=1 
PN_CPP_HAS_OVERRIDE=override PN_CPP_HAS_EXPLICIT_CONVERSIONS=1 
PN_CPP_HAS_DEFAULTED_FUNCTIONS=1 PN_CPP_HAS_DELETED_FUNCTIONS=1 
PN_CPP_HAS_STD_FUNCTION=1 PN_CPP_HAS_CHRONO=1 PN_CPP_SUPPORTS_THREADS=1
+PREDEFINED              = protected=private PN_CPP_DEPRECATED(x)= 
PN_CPP_EXTERN= PN_CPP_OVERRIDE= PN_CPP_HAS_CPP11=1 PN_CPP_HAS_SHARED_PTR=1 
PN_CPP_HAS_UNIQUE_PTR=1 PN_CPP_HAS_LONG_LONG=1 PN_CPP_HAS_NULLPTR=1 
PN_CPP_HAS_RVALUE_REFERENCES=1 PN_CPP_HAS_OVERRIDE=override 
PN_CPP_HAS_EXPLICIT_CONVERSIONS=1 PN_CPP_HAS_DEFAULTED_FUNCTIONS=1 
PN_CPP_HAS_DELETED_FUNCTIONS=1 PN_CPP_HAS_STD_FUNCTION=1 PN_CPP_HAS_CHRONO=1 
PN_CPP_SUPPORTS_THREADS=1
 EXCLUDE_SYMBOLS         = internal internal::*
 
 # Configuration options related to warning and progress messages

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 cc372be..603d5dd 100644
--- a/proton-c/bindings/cpp/include/proton/connection.hpp
+++ b/proton-c/bindings/cpp/include/proton/connection.hpp
@@ -145,22 +145,22 @@ PN_CPP_CLASS_EXTERN connection : public 
internal::object<pn_connection_t>, publi
 
     /// **Unsettled API** - Trigger an event from another thread.
     ///
-    /// `wake()` can be called from any thread. The Proton library
+    /// This method can be called from any thread. The Proton library
     /// will call `messaging_handler::on_connection_wake()` as soon as
     /// possible in the correct event-handling thread.
     ///
-    /// @note
+    /// **Thread-safety** - This is the *only* `proton::connection`
+    /// function that can be called from outside the handler thread.
     ///
-    /// * Thread-safe: This is the *only* @ref connection function
-    ///   that can be called from outside the handler thread.
-    /// * Multiple calls to `wake()` may be coalesced into a single
-    ///   call to `messaging_handler::on_connection_wake()` that
-    ///   occurs after all of them.
-    /// * Spurious `messaging_handler::on_connection_wake()` calls can
-    ///   occur even if the application does not call `wake()`.
+    /// @note Spurious `messaging_handler::on_connection_wake()` calls
+    /// can occur even if the application does not call `wake()`.
     ///
-    /// The @ref work_queue interface provides an easier way execute
-    /// code safely in the event-handler thread.
+    /// @note Multiple calls to `wake()` may be coalesced into a
+    /// single call to `messaging_handler::on_connection_wake()` that
+    /// occurs after all of them.
+    ///
+    /// The `proton::work_queue` interface provides an easier way
+    /// execute code safely in the event-handler thread.
     PN_CPP_EXTERN void wake() const;
 
     /// @cond INTERNAL

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 b387ab4..ba49be9 100644
--- a/proton-c/bindings/cpp/include/proton/default_container.hpp
+++ b/proton-c/bindings/cpp/include/proton/default_container.hpp
@@ -25,7 +25,7 @@
 #include "./internal/export.hpp"
 
 /// @file
-/// @copybrief proton::default_container
+/// **Deprecated** - Use the API in `container.hpp`.
 
 namespace proton {
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/proton-c/bindings/cpp/include/proton/function.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/function.hpp 
b/proton-c/bindings/cpp/include/proton/function.hpp
index dd89760..2089717 100644
--- a/proton-c/bindings/cpp/include/proton/function.hpp
+++ b/proton-c/bindings/cpp/include/proton/function.hpp
@@ -21,7 +21,7 @@
  */
 
 /// @file
-/// @copybrief void_function0
+/// **Deprecated** - Use the API in `work_queue.hpp`.
 
 /// @cond INTERNAL
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 d8421be..f344892 100644
--- a/proton-c/bindings/cpp/include/proton/listener.hpp
+++ b/proton-c/bindings/cpp/include/proton/listener.hpp
@@ -38,8 +38,13 @@ class PN_CPP_CLASS_EXTERN listener {
   public:
     /// Create an empty listener.
     PN_CPP_EXTERN listener();
+
+    /// Copy a listener.
     PN_CPP_EXTERN listener(const listener&);
+
     PN_CPP_EXTERN ~listener();
+
+    /// Copy a listener.
     PN_CPP_EXTERN listener& operator=(const listener&);
 
     /// Stop listening on the address provided to the call to

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 07d4132..2273076 100644
--- a/proton-c/bindings/cpp/include/proton/message.hpp
+++ b/proton-c/bindings/cpp/include/proton/message.hpp
@@ -49,12 +49,10 @@ namespace proton {
 /// message.
 class message {
   public:
-    /// **Unsettled API** - A map of string keys and AMQP scalar
-    /// values.
+    /// A map of string keys and AMQP scalar values.
     typedef map<std::string, scalar> property_map;
 
-    /// **Unsettled API** - A map of AMQP annotation keys and AMQP
-    /// values.
+    /// A map of AMQP annotation keys and AMQP values.
     typedef map<annotation_key, value> annotation_map;
 
     /// Create an empty message.
@@ -290,25 +288,30 @@ class message {
 
     /// @}
 
-    /// @name **Unsettled API** - Application properties
+    /// @name Extended attributes
     /// @{
 
-    /// **Unsettled API** - Get the application properties map.  It can
+    /// Get the application properties map.  It can
     /// be modified in place.
     PN_CPP_EXTERN property_map& properties();
 
-    /// **Unsettled API** - examine the application properties map.
+    /// Examine the application properties map.
     PN_CPP_EXTERN const property_map& properties() const;
 
-    /// @name **Unsettled API** - Annotations
-    ///
-    /// Normally used by messaging infrastructure, not applications.
-    /// @{
+    /// Get the message annotations map.  It can
+    /// be modified in place.
     PN_CPP_EXTERN annotation_map& message_annotations();
+
+    /// Examine the meessage annotations map.
     PN_CPP_EXTERN const annotation_map& message_annotations() const;
 
+    /// Get the delivery annotations map.  It can
+    /// be modified in place.
     PN_CPP_EXTERN annotation_map& delivery_annotations();
+
+    /// Examine the delivery annotations map.
     PN_CPP_EXTERN const annotation_map& delivery_annotations() const;
+
     /// @}
 
     /// Default priority assigned to new messages.

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 938d3ff..841de7b 100644
--- a/proton-c/bindings/cpp/include/proton/messaging_handler.hpp
+++ b/proton-c/bindings/cpp/include/proton/messaging_handler.hpp
@@ -41,13 +41,14 @@ namespace proton {
 ///
 /// - If `X` is closed cleanly, with no error status, then `on_X_close`
 ///   is called.
+///
 /// - If `X` is closed with an error, then `on_X_error` is called,
 ///   followed by `on_X_close`. The error condition is also available
 ///   in `on_X_close` from `X::error()`.
 ///
 /// By default, if you do not implement `on_X_error`, it will call
 /// `on_error`.  If you do not implement `on_error` it will throw a
-/// @ref proton::error exception, which may not be what you want but
+/// `proton::error` exception, which may not be what you want but
 /// does help to identify forgotten error handling quickly.
 ///
 /// #### Resource cleanup
@@ -65,112 +66,117 @@ PN_CPP_CLASS_EXTERN messaging_handler {
     PN_CPP_EXTERN virtual ~messaging_handler();
 
     /// The container event loop is starting.
-    /// This is the first event received after calling container::run
-    PN_CPP_EXTERN virtual void on_container_start(container &c);
+    ///
+    /// This is the first event received after calling
+    /// `container::run()`.
+    PN_CPP_EXTERN virtual void on_container_start(container&);
 
     /// The container event loop is stopping.
-    /// This is the last event received before the container event loop stops.
-    PN_CPP_EXTERN virtual void on_container_stop(container &c);
+    ///
+    /// This is the last event received before the container event
+    /// loop stops.
+    PN_CPP_EXTERN virtual void on_container_stop(container&);
 
     /// A message is received.
-    PN_CPP_EXTERN virtual void on_message(delivery &d, message &m);
+    PN_CPP_EXTERN virtual void on_message(delivery&, message&);
 
     /// A message can be sent.
-    PN_CPP_EXTERN virtual void on_sendable(sender &s);
+    PN_CPP_EXTERN virtual void on_sendable(sender&);
 
     /// The underlying network transport is open
-    PN_CPP_EXTERN virtual void on_transport_open(transport &t);
+    PN_CPP_EXTERN virtual void on_transport_open(transport&);
 
     /// The underlying network transport has closed.
-    PN_CPP_EXTERN virtual void on_transport_close(transport &t);
+    PN_CPP_EXTERN virtual void on_transport_close(transport&);
 
     /// The underlying network transport has closed with an error
     /// condition.
-    PN_CPP_EXTERN virtual void on_transport_error(transport &t);
+    PN_CPP_EXTERN virtual void on_transport_error(transport&);
 
     /// The remote peer opened the connection.
-    PN_CPP_EXTERN virtual void on_connection_open(connection &c);
+    PN_CPP_EXTERN virtual void on_connection_open(connection&);
 
     /// The remote peer closed the connection.
-    PN_CPP_EXTERN virtual void on_connection_close(connection &c);
+    PN_CPP_EXTERN virtual void on_connection_close(connection&);
 
     /// The remote peer closed the connection with an error condition.
-    PN_CPP_EXTERN virtual void on_connection_error(connection &c);
+    PN_CPP_EXTERN virtual void on_connection_error(connection&);
 
     /// The remote peer opened the session.
-    PN_CPP_EXTERN virtual void on_session_open(session &s);
+    PN_CPP_EXTERN virtual void on_session_open(session&);
 
     /// The remote peer closed the session.
-    PN_CPP_EXTERN virtual void on_session_close(session &s);
+    PN_CPP_EXTERN virtual void on_session_close(session&);
 
     /// The remote peer closed the session with an error condition.
-    PN_CPP_EXTERN virtual void on_session_error(session &s);
+    PN_CPP_EXTERN virtual void on_session_error(session&);
 
     /// The remote peer opened the link.
-    PN_CPP_EXTERN virtual void on_receiver_open(receiver& l);
+    PN_CPP_EXTERN virtual void on_receiver_open(receiver&);
 
     /// The remote peer detached the link.
-    PN_CPP_EXTERN virtual void on_receiver_detach(receiver& l);
+    PN_CPP_EXTERN virtual void on_receiver_detach(receiver&);
 
     /// The remote peer closed the link.
-    PN_CPP_EXTERN virtual void on_receiver_close(receiver& l);
+    PN_CPP_EXTERN virtual void on_receiver_close(receiver&);
 
     /// The remote peer closed the link with an error condition.
-    PN_CPP_EXTERN virtual void on_receiver_error(receiver& l);
+    PN_CPP_EXTERN virtual void on_receiver_error(receiver&);
 
     /// The remote peer opened the link.
-    PN_CPP_EXTERN virtual void on_sender_open(sender& l);
+    PN_CPP_EXTERN virtual void on_sender_open(sender&);
 
     /// The remote peer detached the link.
-    PN_CPP_EXTERN virtual void on_sender_detach(sender& l);
+    PN_CPP_EXTERN virtual void on_sender_detach(sender&);
 
     /// The remote peer closed the link.
-    PN_CPP_EXTERN virtual void on_sender_close(sender& l);
+    PN_CPP_EXTERN virtual void on_sender_close(sender&);
 
     /// The remote peer closed the link with an error condition.
-    PN_CPP_EXTERN virtual void on_sender_error(sender& l);
+    PN_CPP_EXTERN virtual void on_sender_error(sender&);
 
     /// The receiving peer accepted a transfer.
-    PN_CPP_EXTERN virtual void on_tracker_accept(tracker &d);
+    PN_CPP_EXTERN virtual void on_tracker_accept(tracker&);
 
     /// The receiving peer rejected a transfer.
-    PN_CPP_EXTERN virtual void on_tracker_reject(tracker &d);
+    PN_CPP_EXTERN virtual void on_tracker_reject(tracker&);
 
     /// The receiving peer released a transfer.
-    PN_CPP_EXTERN virtual void on_tracker_release(tracker &d);
+    PN_CPP_EXTERN virtual void on_tracker_release(tracker&);
 
     /// The receiving peer settled a transfer.
-    PN_CPP_EXTERN virtual void on_tracker_settle(tracker &d);
+    PN_CPP_EXTERN virtual void on_tracker_settle(tracker&);
 
     /// The sending peer settled a transfer.
-    PN_CPP_EXTERN virtual void on_delivery_settle(delivery &d);
+    PN_CPP_EXTERN virtual void on_delivery_settle(delivery&);
 
     /// **Unsettled API** - The receiving peer has requested a drain of
     /// remaining credit.
-    PN_CPP_EXTERN virtual void on_sender_drain_start(sender &s);
+    PN_CPP_EXTERN virtual void on_sender_drain_start(sender&);
 
     /// **Unsettled API** - The credit outstanding at the time of the
-    /// call to receiver::drain has been consumed or returned.
-    PN_CPP_EXTERN virtual void on_receiver_drain_finish(receiver &r);
+    /// drain request has been consumed or returned.
+    PN_CPP_EXTERN virtual void on_receiver_drain_finish(receiver&);
 
-    /// **Unsettled API** - an event that can be triggered from another thread.
-    ///
-    /// on_connection_wake() can be triggered by any thread calling 
connection::wake()
-    /// It is used to notify the application's @ref messaging_handler instance
-    /// that something needs attention.
+    /// **Unsettled API** - An event that can be triggered from
+    /// another thread.
     ///
-    /// The application handler and the triggering thread must use some form of
-    /// thread-safe state or communication to tell the handler what it needs 
to do.
+    /// This event is triggered by a call to `connection::wake()`.  It
+    /// is used to notify the application that something needs
+    /// attention.
     ///
-    /// @note spurious calls to on_connection_wake() can occur without any
-    /// application call to connection::wake()
+    /// **Thread-safety** - The application handler and the triggering
+    /// thread must use some form of thread-safe state or
+    /// communication to tell the handler what it needs to do.  See
+    /// `proton::work_queue` for an easier way to execute code safely
+    /// in the handler thread.
     ///
-    /// @see work_queue provides an easier way execute code safely in the
-    /// handler thread.
+    /// @note Spurious calls to `on_connection_wake()` can occur
+    /// without any application call to `connection::wake()`.
     PN_CPP_EXTERN virtual void on_connection_wake(connection&);
 
     /// Fallback error handling.
-    PN_CPP_EXTERN virtual void on_error(const error_condition &c);
+    PN_CPP_EXTERN virtual void on_error(const error_condition&);
 };
 
 } // proton

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 81b10b1..dace332 100644
--- a/proton-c/bindings/cpp/include/proton/thread_safe.hpp
+++ b/proton-c/bindings/cpp/include/proton/thread_safe.hpp
@@ -20,6 +20,9 @@
  * under the License.
  */
 
+/// @file
+/// **Deprecated** - No longer used.
+
 // Removed. Place-holder for for #include compatibility.
 
 #endif // PROTON_THREAD_SAFE_HPP

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/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 c07f68a..e4c418f 100644
--- a/proton-c/bindings/cpp/include/proton/url.hpp
+++ b/proton-c/bindings/cpp/include/proton/url.hpp
@@ -31,7 +31,7 @@
 #include <string>
 
 /// @file
-/// @copybrief proton::url
+/// **Deprecated** - Use a third-party URL library.
 
 namespace proton {
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/proton-c/bindings/cpp/include/proton/work_queue.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/work_queue.hpp 
b/proton-c/bindings/cpp/include/proton/work_queue.hpp
index 6caea6b..2576193 100644
--- a/proton-c/bindings/cpp/include/proton/work_queue.hpp
+++ b/proton-c/bindings/cpp/include/proton/work_queue.hpp
@@ -44,13 +44,10 @@ struct pn_link_t;
 
 namespace proton {
 
-/// **Unsettled API** - A work item for a @ref work_queue "work queue".
-///
-/// It can be created from a function that takes no parameters and
-/// returns no value.
+/// @cond INTERNAL
+
 namespace v03 {
 
-/// @cond INTERNAL
 struct invocable {
     invocable() {}
     virtual ~invocable() {}
@@ -78,18 +75,19 @@ struct invocable_wrapper {
 
     invocable* wrapped_;
 };
-/// @endcond
 
+/// **Unsettled API** - A work item for a @ref work_queue "work queue".
+///
+/// It can be created from a function that takes no parameters and
+/// returns no value.
 class work {
   public:
-    /// **Unsettled API**
+    /// Create a work item.
     work() {}
 
-    /// @cond INTERNAL
     work(const invocable& i): item_(i) {}
-    /// @endcond
 
-    /// **Unsettled API**
+    /// Invoke the work item.
     void operator()() { item_(); }
 
     ~work() {}
@@ -98,9 +96,9 @@ class work {
     invocable_wrapper item_;
 };
 
-/// @cond INTERNAL
 // Utilities to make work from functions/member functions (C++03 version)
 // Lots of repetition to handle functions/member functions with up to 3 
arguments
+
 template <class R>
 struct work0 : public invocable_cloner<work0<R> > {
     R (* fn_)();
@@ -212,10 +210,9 @@ struct work_pmf3 : public 
invocable_cloner<work_pmf3<R,T,A,B,C> > {
         (holder_.*fn_)(a_, b_, c_);
     }
 };
-/// @endcond
 
-/// make_work is the equivalent of C++11 std::bind for C++03
-/// It will bind both free functions and pointers to member functions
+/// `make_work` is the equivalent of C++11 `std::bind` for C++03.  It
+/// will bind both free functions and pointers to member functions.
 template <class R, class T>
 work make_work(R (T::*f)(), T* t) {
     return work_pmf0<R, T>(f, *t);
@@ -256,20 +253,22 @@ work make_work(R (*f)(A, B, C), A a, B b, C c) {
     return work3<R, A, B, C>(f, a, b, c);
 }
 
-}
+} // v03
 
 #if PN_CPP_HAS_LAMBDAS && PN_CPP_HAS_VARIADIC_TEMPLATES
+
 namespace v11 {
+
 class work {
   public:
     /// **Unsettled API**
     work() {}
 
     /// **Unsettled API**
+    ///
     /// Construct a unit of work from anything
     /// function-like that takes no arguments and returns
     /// no result.
-    ///
     template <class T,
         // Make sure we don't match the copy or move constructors
         class = typename std::enable_if<!std::is_same<typename 
std::decay<T>::type,work>::value>::type
@@ -277,6 +276,7 @@ class work {
     work(T&& f): item_(std::forward<T>(f)) {}
 
     /// **Unsettled API**
+    ///
     /// Execute the piece of work
     void operator()() { item_(); }
 
@@ -286,17 +286,19 @@ class work {
     std::function<void()> item_;
 };
 
-/// **Unsettled API**
+/// **Unsettled API** - Make a unit of work.
+///
 /// Make a unit of work from either a function or a member function
 /// and an object pointer.
 ///
-/// This C++11 version is just a wrapper for std::bind
+/// **C++ versions** - This C++11 version is just a wrapper for
+/// `std::bind`.
 template <class... Rest>
 work make_work(Rest&&... r) {
     return std::bind(std::forward<Rest>(r)...);
 }
 
-}
+} // v11
 
 using v11::work;
 using v11::make_work;
@@ -308,6 +310,8 @@ using v03::make_work;
 
 #endif
 
+/// @endcond
+
 /// **Unsettled API** - A context for thread-safe execution of work.
 ///
 /// Event-handler functions associated with a single

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/55564c80/proton-c/include/proton/message.h
----------------------------------------------------------------------
diff --git a/proton-c/include/proton/message.h 
b/proton-c/include/proton/message.h
index 741f3ac..d379436 100644
--- a/proton-c/include/proton/message.h
+++ b/proton-c/include/proton/message.h
@@ -138,10 +138,6 @@ PN_EXTERN bool           
pn_message_is_inferred(pn_message_t *msg);
  */
 PN_EXTERN int            pn_message_set_inferred(pn_message_t *msg, bool 
inferred);
 
-/**@group standard message headers and properties
- *@{
- */
-
 /**
  * Get the durable flag for a message.
  *
@@ -684,7 +680,7 @@ PN_EXTERN pn_data_t *pn_message_instructions(pn_message_t 
*msg);
 PN_EXTERN pn_data_t *pn_message_annotations(pn_message_t *msg);
 
 /**
- * Get/set the properties for a message.
+ * Get and set the properties for a message.
  *
  * This operation returns a pointer to a ::pn_data_t representing the
  * content of the properties section of a message. The pointer is
@@ -699,10 +695,8 @@ PN_EXTERN pn_data_t *pn_message_annotations(pn_message_t 
*msg);
  */
 PN_EXTERN pn_data_t *pn_message_properties(pn_message_t *msg);
 
-/**@}*/
-
 /**
- * Get/set the body of a message.
+ * Get and set the body of a message.
  *
  * This operation returns a pointer to a ::pn_data_t representing the
  * body of a message. The pointer is valid until the message is freed


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to