Repository: qpid-proton Updated Branches: refs/heads/master 603c0e725 -> 45d59f762
PROTON-1138: Capture and update header comments from review; some minor formatting adjustments Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/45d59f76 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/45d59f76 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/45d59f76 Branch: refs/heads/master Commit: 45d59f7627670f7f7db204de6d13a9ec6cfc09b8 Parents: 603c0e7 Author: Justin Ross <[email protected]> Authored: Wed Feb 17 09:37:16 2016 -0800 Committer: Justin Ross <[email protected]> Committed: Wed Feb 17 09:37:16 2016 -0800 ---------------------------------------------------------------------- .../bindings/cpp/include/proton/acceptor.hpp | 7 +++---- .../bindings/cpp/include/proton/comparable.hpp | 8 ++++++-- .../bindings/cpp/include/proton/condition.hpp | 11 ++++++---- proton-c/bindings/cpp/include/proton/config.hpp | 5 ++++- .../bindings/cpp/include/proton/connection.hpp | 2 +- .../cpp/include/proton/connection_options.hpp | 18 ++++++++++++----- .../bindings/cpp/include/proton/container.hpp | 4 +++- .../bindings/cpp/include/proton/duration.hpp | 2 +- .../bindings/cpp/include/proton/endpoint.hpp | 9 ++++++--- proton-c/bindings/cpp/include/proton/error.hpp | 21 +++++++++++++------- proton-c/bindings/cpp/include/proton/event.hpp | 10 +++++++++- .../bindings/cpp/include/proton/handler.hpp | 11 ++++++++++ .../cpp/include/proton/id_generator.hpp | 8 ++++++-- proton-c/bindings/cpp/include/proton/io.hpp | 3 --- proton-c/bindings/cpp/include/proton/link.hpp | 11 ++++++---- .../cpp/include/proton/link_options.hpp | 2 +- .../bindings/cpp/include/proton/message.hpp | 10 ++++++++++ .../cpp/include/proton/pn_unique_ptr.hpp | 3 ++- 18 files changed, 104 insertions(+), 41 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/acceptor.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/acceptor.hpp b/proton-c/bindings/cpp/include/proton/acceptor.hpp index ebca8ba..06709f4 100644 --- a/proton-c/bindings/cpp/include/proton/acceptor.hpp +++ b/proton-c/bindings/cpp/include/proton/acceptor.hpp @@ -33,11 +33,10 @@ namespace proton { /// A context for accepting inbound connections. /// /// @see container::listen -class acceptor : public object<pn_acceptor_t> -{ +class acceptor : public object<pn_acceptor_t> { public: /// @cond INTERNAL - /// XXX important to expose? + /// XXX important to expose? - make these private acceptor(pn_acceptor_t* a=0) : object<pn_acceptor_t>(a) {} /// @endcond @@ -54,4 +53,4 @@ class acceptor : public object<pn_acceptor_t> } -#endif // PROTON_CPP_ACCEPTOR_H +#endif // PROTON_CPP_ACCEPTOR_H http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/comparable.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/comparable.hpp b/proton-c/bindings/cpp/include/proton/comparable.hpp index 6871b31..6c64249 100644 --- a/proton-c/bindings/cpp/include/proton/comparable.hpp +++ b/proton-c/bindings/cpp/include/proton/comparable.hpp @@ -1,5 +1,6 @@ #ifndef COMPARABLE_HPP #define COMPARABLE_HPP + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -19,11 +20,14 @@ * under the License. */ +/// @cond INTERNAL +/// XXX revisit with alan - adds spurious superclasses +/// XXX decision - remove; use type traits to include this behavior -///@cond INTERNAL namespace proton { -/// Base class for comparable types with operator< and operator==. Provides remaining operators. +/// Base class for comparable types with operator< and +/// operator==. Provides remaining operators. template <class T> class comparable {}; template <class T> bool operator>(const comparable<T> &a, const comparable<T> &b) { http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/condition.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/condition.hpp b/proton-c/bindings/cpp/include/proton/condition.hpp index fc93985..341cd78 100644 --- a/proton-c/bindings/cpp/include/proton/condition.hpp +++ b/proton-c/bindings/cpp/include/proton/condition.hpp @@ -38,14 +38,14 @@ class condition { condition(pn_condition_t* c) : condition_(c) {} /// @endcond - /// @cond INTERNAL - /// XXX want to discuss /// No condition set. PN_CPP_EXTERN bool operator!() const; + /// XXX add C++11 explicit bool conversion with a note about + /// C++11-only usage + /// No condition has been set. PN_CPP_EXTERN bool empty() const; - /// @endcond /// Condition name. PN_CPP_EXTERN std::string name() const; @@ -53,11 +53,14 @@ class condition { /// Descriptive string for condition. PN_CPP_EXTERN std::string description() const; - /// Extra information for condition n*/ + /// Extra information for condition. PN_CPP_EXTERN value info() const; + /// @cond INTERNAL /// Simple printable string for condition. + /// XXX not sure about this as a convention PN_CPP_EXTERN std::string str() const; + /// @endcond private: pn_condition_t* condition_; http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/config.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/config.hpp b/proton-c/bindings/cpp/include/proton/config.hpp index dea4c9e..2f5a889 100644 --- a/proton-c/bindings/cpp/include/proton/config.hpp +++ b/proton-c/bindings/cpp/include/proton/config.hpp @@ -21,7 +21,7 @@ */ /// @cond INTERNAL -/// XXX discuss +/// XXX discuss some more - not clear this should be public /// @file /// @@ -32,6 +32,9 @@ /// default. Otherwise they can be enabled or disabled separately /// with -D on the compile line. +/// XXX resolve the difference in usage between PN_HAS_CPP11 and the +/// others + #ifndef PN_HAS_CPP11 #if (defined(__cplusplus) && __cplusplus >= 201100) #define PN_HAS_CPP11 1 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 d22f313..e841748 100644 --- a/proton-c/bindings/cpp/include/proton/connection.hpp +++ b/proton-c/bindings/cpp/include/proton/connection.hpp @@ -64,7 +64,7 @@ PN_CPP_CLASS_EXTERN connection : public object<pn_connection_t>, public endpoint PN_CPP_EXTERN std::string host() const; /// @cond INTERNAL - /// XXX this should be a connection option, right? + /// XXX this should be a connection option, right? - make private /// Set the AMQP host name for the connection PN_CPP_EXTERN void host(const std::string& h); /// @endcond http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 cea1900..ae437a2 100644 --- a/proton-c/bindings/cpp/include/proton/connection_options.hpp +++ b/proton-c/bindings/cpp/include/proton/connection_options.hpp @@ -70,6 +70,8 @@ class connection_options { /// Copy options. PN_CPP_EXTERN connection_options& operator=(const connection_options&); + // XXX add C++11 move operations + /// Override with options from other. PN_CPP_EXTERN void override(const connection_options& other); @@ -82,6 +84,7 @@ class connection_options { /// Set the maximum channels. PN_CPP_EXTERN connection_options& max_channels(uint16_t max); + // XXX document relationship to heartbeat interval /// Set the idle timeout. PN_CPP_EXTERN connection_options& idle_timeout(duration); @@ -95,10 +98,12 @@ class connection_options { /// @cond INTERNAL - /// XXX more discussion + /// XXX more discussion - not clear we want to support this + /// capability PN_CPP_EXTERN connection_options& link_prefix(const std::string &id); - /// XXX settle questions about reconnect_timer + /// XXX settle questions about reconnect_timer - consider simply + /// reconnect_options and making reconnect_timer internal PN_CPP_EXTERN connection_options& reconnect(const reconnect_timer &); /// @endcond @@ -111,10 +116,10 @@ class connection_options { /// @cond INTERNAL - /// XXX remove + /// XXX remove - confirmed PN_CPP_EXTERN connection_options& peer_hostname(const std::string &name); - /// XXX ssl_ prefix + /// XXX remove - confirmed PN_CPP_EXTERN connection_options& resume_id(const std::string &id); /// @endcond @@ -123,7 +128,7 @@ class connection_options { PN_CPP_EXTERN connection_options& sasl_enabled(bool); /// @cond INTERNAL - /// XXX sasl_ prefix + /// XXX sasl_ prefix - confirmed PN_CPP_EXTERN connection_options& allow_insecure_mechs(bool); PN_CPP_EXTERN connection_options& allowed_mechs(const std::string &); /// @endcond @@ -131,8 +136,11 @@ class connection_options { /// Set the SASL configuration name. PN_CPP_EXTERN connection_options& sasl_config_name(const std::string &); + /// @cond INTERNAL + /// XXX not clear this should be exposed /// Set the SASL configuration path. PN_CPP_EXTERN connection_options& sasl_config_path(const std::string &); + /// @endcond private: void apply(connection&) const; http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 8b33ca4..2d64948 100644 --- a/proton-c/bindings/cpp/include/proton/container.hpp +++ b/proton-c/bindings/cpp/include/proton/container.hpp @@ -62,6 +62,8 @@ class container { /// random ID is generated. PN_CPP_EXTERN container(const std::string& id=""); + // XXX why "" above and std::string below? + /// Create a container with an event handler. /// /// Container ID should be unique within your system. By default a @@ -101,7 +103,7 @@ class container { /// @cond INTERNAL - /// XXX remove + /// XXX remove or make private /// The reactor associated with this container. PN_CPP_EXTERN class reactor reactor() const; http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 200064d..f206849 100644 --- a/proton-c/bindings/cpp/include/proton/duration.hpp +++ b/proton-c/bindings/cpp/include/proton/duration.hpp @@ -32,7 +32,7 @@ namespace proton { class duration : public comparable<duration> { public: /// @cond INTERNAL - /// XXX public and mutable? + /// XXX public and mutable? - make this private uint64_t milliseconds; /// @endcond http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 6f3af4d..8a8712e 100644 --- a/proton-c/bindings/cpp/include/proton/endpoint.hpp +++ b/proton-c/bindings/cpp/include/proton/endpoint.hpp @@ -45,6 +45,8 @@ PN_CPP_CLASS_EXTERN endpoint { /// @see connection::find_links, connection::find_sessions typedef int state; + // XXX use an enum instead to handle name collision + PN_CPP_EXTERN static const state LOCAL_UNINIT; ///< Local endpoint is uninitialized PN_CPP_EXTERN static const state REMOTE_UNINIT; ///< Remote endpoint is uninitialized PN_CPP_EXTERN static const state LOCAL_ACTIVE; ///< Local endpoint is active @@ -54,6 +56,7 @@ PN_CPP_CLASS_EXTERN endpoint { PN_CPP_EXTERN static const state LOCAL_MASK; ///< Mask including all LOCAL_ bits (UNINIT, ACTIVE, CLOSED) PN_CPP_EXTERN static const state REMOTE_MASK; ///< Mask including all REMOTE_ bits (UNINIT, ACTIVE, CLOSED) + /// XXX add endpoint state boolean operations /// Get the local error condition. virtual condition local_condition() const = 0; @@ -73,7 +76,7 @@ PN_CPP_CLASS_EXTERN endpoint { }; /// @cond INTERNAL -/// XXX important to expose? +/// XXX move to internal template <class T> class iter_base : public comparable<iter_base<T> > { public: @@ -92,6 +95,8 @@ template <class T> class iter_base : public comparable<iter_base<T> > { endpoint::state state_; }; +/// @endcond + /// An iterator range. template<class I> class range { public: @@ -104,8 +109,6 @@ template<class I> class range { I begin_, end_; }; -/// @endcond - } #endif // PROTON_CPP_H http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/error.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/error.hpp b/proton-c/bindings/cpp/include/proton/error.hpp index aa579f9..6877bcc 100644 --- a/proton-c/bindings/cpp/include/proton/error.hpp +++ b/proton-c/bindings/cpp/include/proton/error.hpp @@ -38,6 +38,7 @@ struct PN_CPP_CLASS_EXTERN error : public std::runtime_error { /// @cond INTERNAL /// XXX do we intend users to construct these (and subclasses)? + /// XXX don't need to be extern? PN_CPP_EXTERN explicit error(const std::string&); /// @endcond }; @@ -51,17 +52,17 @@ PN_CPP_CLASS_EXTERN timeout_error : public error { }; /// @cond INTERNAL -/// XXX change namespace - +/// XXX change namespace to proton::amqp with encoder and decoder? + /// Raised if there is an error decoding AMQP data as a C++ value. struct -PN_CPP_CLASS_EXTERN decode_error : public error { +PN_CPP_CLASS_EXTERN decode_error : public error { PN_CPP_EXTERN explicit decode_error(const std::string&); }; /// Raised if there is an error encoding a C++ value as AMQP data. struct -PN_CPP_CLASS_EXTERN encode_error : public error { +PN_CPP_CLASS_EXTERN encode_error : public error { PN_CPP_EXTERN explicit encode_error(const std::string&); }; @@ -69,16 +70,22 @@ PN_CPP_CLASS_EXTERN encode_error : public error { /// @cond INTERNAL /// XXX need to discuss - + +/// XXX move this with connection_engine to an io package? /// Error reading or writing external IO. struct -PN_CPP_CLASS_EXTERN io_error : public error { +PN_CPP_CLASS_EXTERN io_error : public error { + // XXX needs to remain public and exposed - it's part of the connection_engine SPI PN_CPP_EXTERN explicit io_error(const std::string&); }; +/// XXX do we need something this fine grained? and is it really an +/// *io* error? +/// XXX doesn't appear to be thrown anywhere - consider removing /// Attempt to use a closed resource (connnection, session, or link). +/// XXX decision - remove struct -PN_CPP_CLASS_EXTERN closed_error : public io_error { +PN_CPP_CLASS_EXTERN closed_error : public io_error { PN_CPP_EXTERN explicit closed_error(const std::string& = default_msg); static const std::string default_msg; }; http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/event.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/event.hpp b/proton-c/bindings/cpp/include/proton/event.hpp index 05d6cc0..48c6739 100644 --- a/proton-c/bindings/cpp/include/proton/event.hpp +++ b/proton-c/bindings/cpp/include/proton/event.hpp @@ -42,8 +42,13 @@ class event { public: virtual PN_CPP_EXTERN ~event() {} + /// @cond INTERNAL + /// XXX Perhaps remove /// Return the name of the event type. virtual PN_CPP_EXTERN std::string name() const = 0; + /// @endcond + + // XXX all throw proton::error if the type in question is not available /// Get the container. /// @@ -51,7 +56,7 @@ class event { /// container virtual PN_CPP_EXTERN class container& container() const = 0; - /// Get transport + /// Get transport. virtual PN_CPP_EXTERN class transport transport() const = 0; /// Get connection. virtual PN_CPP_EXTERN class connection connection() const = 0; @@ -82,6 +87,9 @@ class event { /// /// @throw proton::error if no message virtual PN_CPP_EXTERN class message &message() const = 0; + + // XXX Should we have a notion of application data? Perhaps this + // is relevant to timer and app events. }; } http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/handler.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/handler.hpp b/proton-c/bindings/cpp/include/proton/handler.hpp index 83a80d2..511779c 100644 --- a/proton-c/bindings/cpp/include/proton/handler.hpp +++ b/proton-c/bindings/cpp/include/proton/handler.hpp @@ -78,6 +78,11 @@ PN_CPP_CLASS_EXTERN handler /// A message can be sent. PN_CPP_EXTERN virtual void on_sendable(event &e); + // XXX _open is not present because it's + + // XXX you get close and error on a failure, and you get the error first + // XXX - for each _error item, document that you will get _close as well + /// The underlying network transport has closed. PN_CPP_EXTERN virtual void on_transport_close(event &e); /// The underlying network transport has closed with an error @@ -114,6 +119,11 @@ PN_CPP_CLASS_EXTERN handler /// The remote peer settled an outgoing message. PN_CPP_EXTERN virtual void on_delivery_settle(event &e); + // XXX are we missing on_delivery_modify? + // XXX on_delivery_accept (and co) is a more discriminated on_delivery_settle + + // XXX note that AMQP modified state is indicated in _release + /// The remote peer declared a transaction. PN_CPP_EXTERN virtual void on_transaction_declare(event &e); /// The remote peer committed a transaction. @@ -123,6 +133,7 @@ PN_CPP_CLASS_EXTERN handler /// @cond INTERNAL /// XXX settle API questions around task + /// XXX register functions instead of having these funny generic events /// A timer fired. PN_CPP_EXTERN virtual void on_timer(event &e); /// @endcond http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/id_generator.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/id_generator.hpp b/proton-c/bindings/cpp/include/proton/id_generator.hpp index 156d6ff..687d27e 100644 --- a/proton-c/bindings/cpp/include/proton/id_generator.hpp +++ b/proton-c/bindings/cpp/include/proton/id_generator.hpp @@ -25,7 +25,9 @@ namespace proton { -///@cond INTERNAL +/// @cond INTERNAL +/// XXX should this be in the interface at all? +/// XXX decision - make this private class id_generator { public: PN_CPP_EXTERN id_generator(const std::string &prefix=""); @@ -39,5 +41,7 @@ class id_generator { }; } -///@endcond + +/// @endcond + #endif http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/io.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/io.hpp b/proton-c/bindings/cpp/include/proton/io.hpp index 8bead5a..63c78a6 100644 --- a/proton-c/bindings/cpp/include/proton/io.hpp +++ b/proton-c/bindings/cpp/include/proton/io.hpp @@ -64,10 +64,7 @@ struct guard { /// An IO resource. typedef int64_t descriptor; -/// @cond INTERNAL -/// don't know what it is PN_CPP_EXTERN extern const descriptor INVALID_DESCRIPTOR; -/// @endcond /// Return a string describing the most recent IO error. PN_CPP_EXTERN std::string error_str(); http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 e9fb51b..90cb2f9 100644 --- a/proton-c/bindings/cpp/include/proton/link.hpp +++ b/proton-c/bindings/cpp/include/proton/link.hpp @@ -95,6 +95,7 @@ PN_CPP_CLASS_EXTERN link : public object<pn_link_t> , public endpoint { /// @cond INTERNAL /// XXX revisit mind-melting API inherited from C + /// XXX flush() ? drain, and drain_completed (sender and receiver ends) PN_CPP_EXTERN int drained(); /// @endcond @@ -120,7 +121,7 @@ PN_CPP_CLASS_EXTERN link : public object<pn_link_t> , public endpoint { PN_CPP_EXTERN class session session() const; /// @cond INTERNAL - /// XXX settle open questions + /// XXX settle open questions - remove from API /// Set a custom handler for this link. PN_CPP_EXTERN void handler(proton_handler &); @@ -130,19 +131,21 @@ PN_CPP_CLASS_EXTERN link : public object<pn_link_t> , public endpoint { /// @cond INTERNAL - /// XXX ask about use case, revisit names + /// XXX ask about use case, revisit names - make private /// Get message data from current delivery on link. PN_CPP_EXTERN ssize_t recv(char* buffer, size_t size); - /// XXX ask about use case, revisit names + /// XXX ask about use case, revisit names - make private /// Advance the link one delivery. PN_CPP_EXTERN bool advance(); - /// XXX remove + /// XXX make private /// Navigate the links in a connection - get next link with state. PN_CPP_EXTERN link next(endpoint::state) const; /// XXX local versus remote, mutability + /// XXX - remove setters + /// XXX - local_sender_settle_mode and local_receiver_settle_mode PN_CPP_EXTERN link_options::sender_settle_mode sender_settle_mode(); PN_CPP_EXTERN void sender_settle_mode(link_options::sender_settle_mode); PN_CPP_EXTERN link_options::receiver_settle_mode receiver_settle_mode(); http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/link_options.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/link_options.hpp b/proton-c/bindings/cpp/include/proton/link_options.hpp index 932e8b3..da7ed2c 100644 --- a/proton-c/bindings/cpp/include/proton/link_options.hpp +++ b/proton-c/bindings/cpp/include/proton/link_options.hpp @@ -86,7 +86,7 @@ class link_options { /// Receiver settlement behaviour for a link. enum receiver_settle_mode { SETTLE_ALWAYS = PN_RCV_FIRST, - SETTLE_SECOND= PN_RCV_SECOND + SETTLE_SECOND = PN_RCV_SECOND }; /// @endcond http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/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 645da86..045143f 100644 --- a/proton-c/bindings/cpp/include/proton/message.hpp +++ b/proton-c/bindings/cpp/include/proton/message.hpp @@ -60,7 +60,10 @@ class message { PN_CPP_EXTERN message(const message&); #if PN_HAS_CPP11 + /// Move a message. PN_CPP_EXTERN message(message&&); + + // XXX move assignment operator? - do this in general for CPP11 #endif /// Create a message with its body set from any value that can be @@ -84,6 +87,7 @@ class message { /// @cond INTERNAL /// XXX consider just user, in order to be consistent with similar /// fields elsewhere in the API + /// XXX ask gordon about use case - decision sort of: "user" instead of "user_id" PN_CPP_EXTERN void user_id(const std::string &user); PN_CPP_EXTERN std::string user_id() const; /// @endcond @@ -100,6 +104,8 @@ class message { /// @cond INTERNAL /// XXX should a delivery know its own link already? + /// XXX also, determine the use case for this + /// XXX decision - 1) lose the link arg, 2) make private /// /// Decode the message corresponding to a delivery from a link. PN_CPP_EXTERN void decode(proton::link, proton::delivery); @@ -142,9 +148,11 @@ class message { PN_CPP_EXTERN void content_encoding(const std::string &s); PN_CPP_EXTERN std::string content_encoding() const; + // XXX amqp_timestamp -> timestamp PN_CPP_EXTERN void expiry_time(amqp_timestamp t); PN_CPP_EXTERN amqp_timestamp expiry_time() const; + // XXX amqp_timestamp -> timestamp PN_CPP_EXTERN void creation_time(amqp_timestamp t); PN_CPP_EXTERN amqp_timestamp creation_time() const; @@ -158,6 +166,7 @@ class message { /// body of the message will be encoded as AMQP VALUE sections /// regardless of their type. PN_CPP_EXTERN bool inferred() const; + /// Set the inferred flag for a message. PN_CPP_EXTERN void inferred(bool); @@ -270,6 +279,7 @@ class message { /// @cond INTERNAL /// XXX settle necessity (there were some other options) + /// XXX decision - declare this separately; it is part of the api friend PN_CPP_EXTERN void swap(message&, message&); /// @endcond }; http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/45d59f76/proton-c/bindings/cpp/include/proton/pn_unique_ptr.hpp ---------------------------------------------------------------------- diff --git a/proton-c/bindings/cpp/include/proton/pn_unique_ptr.hpp b/proton-c/bindings/cpp/include/proton/pn_unique_ptr.hpp index 12636eb..1e90583 100644 --- a/proton-c/bindings/cpp/include/proton/pn_unique_ptr.hpp +++ b/proton-c/bindings/cpp/include/proton/pn_unique_ptr.hpp @@ -21,7 +21,8 @@ /// @cond INTERNAL /// XXX discuss where this gets exposed - +/// XXX decision - move to proton::internal and leave it undocumented + #include "proton/config.hpp" #include <memory> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
