You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2016/05/05 19:25:57 UTC

[2/3] qpid-proton git commit: PROTON-1191: [C++ binding] Move source/target enums into terminus/source/target classes

PROTON-1191: [C++ binding] Move source/target enums into terminus/source/target classes


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

Branch: refs/heads/master
Commit: c3c477d25a5ec038081d29c2076a099d92e484e7
Parents: a65782a
Author: Andrew Stitcher <as...@apache.org>
Authored: Wed May 4 19:36:03 2016 -0400
Committer: Andrew Stitcher <as...@apache.org>
Committed: Thu May 5 15:20:29 2016 -0400

----------------------------------------------------------------------
 examples/cpp/queue_browser.cpp                  |  3 +-
 .../cpp/include/proton/delivery_mode.hpp        |  2 +-
 .../bindings/cpp/include/proton/settings.hpp    | 59 --------------------
 proton-c/bindings/cpp/include/proton/source.hpp | 12 ++++
 .../cpp/include/proton/source_options.hpp       |  6 +-
 proton-c/bindings/cpp/include/proton/target.hpp |  5 ++
 .../cpp/include/proton/target_options.hpp       |  5 +-
 .../bindings/cpp/include/proton/terminus.hpp    | 17 ++++--
 proton-c/bindings/cpp/src/node_options.cpp      | 24 ++++----
 proton-c/bindings/cpp/src/source.cpp            |  4 ++
 proton-c/bindings/cpp/src/terminus.cpp          | 10 ++--
 11 files changed, 58 insertions(+), 89 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/examples/cpp/queue_browser.cpp
----------------------------------------------------------------------
diff --git a/examples/cpp/queue_browser.cpp b/examples/cpp/queue_browser.cpp
index 2a1d9be..a1fa471 100644
--- a/examples/cpp/queue_browser.cpp
+++ b/examples/cpp/queue_browser.cpp
@@ -25,7 +25,6 @@
 #include "proton/handler.hpp"
 #include "proton/receiver_options.hpp"
 #include "proton/source_options.hpp"
-#include "proton/settings.hpp"
 #include "proton/url.hpp"
 
 #include <iostream>
@@ -43,7 +42,7 @@ class browser : public proton::handler {
 
     void on_container_start(proton::container &c) override {
         proton::connection conn = c.connect(url);
-        source_options browsing = source_options().distribution_mode(proton::COPY);
+        source_options browsing = source_options().distribution_mode(proton::source::COPY);
         conn.open_receiver(url.path(), proton::receiver_options().source(browsing));
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/delivery_mode.hpp b/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
index 677ce7e..913f43b 100644
--- a/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
+++ b/proton-c/bindings/cpp/include/proton/delivery_mode.hpp
@@ -28,7 +28,7 @@ namespace proton {
 enum delivery_mode {
     // No set policy.  The application must settle messages itself
     // according to its own policy.
-    DELIVERY_MODE_NONE = 0,
+    NONE = 0,
     // Outgoing messages are settled immediately by the link.
     // There are no duplicates.
     AT_MOST_ONCE,

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/proton-c/bindings/cpp/include/proton/settings.hpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/include/proton/settings.hpp b/proton-c/bindings/cpp/include/proton/settings.hpp
deleted file mode 100644
index c655399..0000000
--- a/proton-c/bindings/cpp/include/proton/settings.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef PROTON_CPP_SETTINGS_H
-#define PROTON_CPP_SETTINGS_H
-
-/*
- *
- * 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.
- *
- */
-
-#include "proton/link.h"
-
-namespace proton {
-
-// Source/target settings
-
-/// Durability
-enum durability_mode {
-    NONE = PN_NONDURABLE,
-    CONFIGURATION = PN_CONFIGURATION,
-    UNSETTLED_STATE = PN_DELIVERIES
-};
-
-/// Expiry policy
-enum expiry_policy {
-    LINK_CLOSE = PN_EXPIRE_WITH_LINK,
-    SESSION_CLOSE = PN_EXPIRE_WITH_SESSION,
-    CONNECTION_CLOSE = PN_EXPIRE_WITH_CONNECTION,
-    NEVER = PN_EXPIRE_NEVER
-};
-
-
-// Source setting
-
-/// Distribution mode
-enum distribution_mode {
-    MODE_UNSPECIFIED = PN_DIST_MODE_UNSPECIFIED,
-    COPY = PN_DIST_MODE_COPY,
-    MOVE = PN_DIST_MODE_MOVE
-};
-
-
-}
-
-#endif // PROTON_CPP_SETTINGS_H

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/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 ef6f1a3..efe5889 100644
--- a/proton-c/bindings/cpp/include/proton/source.hpp
+++ b/proton-c/bindings/cpp/include/proton/source.hpp
@@ -46,9 +46,21 @@ class source : public terminus {
 
     source() : terminus() {}
 
+    enum distribution_mode {
+      UNSPECIFIED = PN_DIST_MODE_UNSPECIFIED,
+      COPY = PN_DIST_MODE_COPY,
+      MOVE = PN_DIST_MODE_MOVE
+    };
+
+    using terminus::durability_mode;
+    using terminus::expiry_policy;
+
     /// The address of the source.
     PN_CPP_EXTERN std::string address() const;
 
+    /// Get the distribution mode.
+    PN_CPP_EXTERN enum distribution_mode distribution_mode() const;
+
     /// Obtain the set of message filters.
     PN_CPP_EXTERN filter_map filters() const;
     /// @cond INTERNAL

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/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 b1676b7..0a1d280 100644
--- a/proton-c/bindings/cpp/include/proton/source_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/source_options.hpp
@@ -65,16 +65,16 @@ class source_options {
     PN_CPP_EXTERN source_options& dynamic(bool);
 
     /// Control whether messsages are browsed or consumed.
-    PN_CPP_EXTERN source_options& distribution_mode(enum distribution_mode);
+    PN_CPP_EXTERN source_options& distribution_mode(enum source::distribution_mode);
 
     /// Control the persistence of source state.
-    PN_CPP_EXTERN source_options& durability_mode(enum durability_mode);
+    PN_CPP_EXTERN source_options& durability_mode(enum source::durability_mode);
 
     /// The expiry period after which the source is discarded.
     PN_CPP_EXTERN source_options& timeout(duration);
 
     /// Control when the clock for expiration begins.
-    PN_CPP_EXTERN source_options& expiry_policy(enum expiry_policy);
+    PN_CPP_EXTERN source_options& expiry_policy(enum source::expiry_policy);
 
     /// Specify a filter mechanism on the source that restricts
     /// message flow to a subset of the available messages.

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/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 ca7dc69..0415038 100644
--- a/proton-c/bindings/cpp/include/proton/target.hpp
+++ b/proton-c/bindings/cpp/include/proton/target.hpp
@@ -41,7 +41,12 @@ class receiver;
 class target : public terminus {
   public:
     target() : terminus() {}
+
+    using terminus::durability_mode;
+    using terminus::expiry_policy;
+
     PN_CPP_EXTERN std::string address() const;
+
     /// @cond INTERNAL
   private:
     target(pn_terminus_t* t);

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/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 f23aca3..8863598 100644
--- a/proton-c/bindings/cpp/include/proton/target_options.hpp
+++ b/proton-c/bindings/cpp/include/proton/target_options.hpp
@@ -27,6 +27,7 @@
 #include "proton/pn_unique_ptr.hpp"
 #include "proton/types.hpp"
 #include "proton/delivery_mode.hpp"
+#include "proton/target.hpp"
 #include "proton/terminus.hpp"
 
 #include <vector>
@@ -65,13 +66,13 @@ class target_options {
     PN_CPP_EXTERN target_options& dynamic(bool);
 
     /// Control the persistence of target state.
-    PN_CPP_EXTERN target_options& durability_mode(enum durability_mode);
+    PN_CPP_EXTERN target_options& durability_mode(enum target::durability_mode);
 
     /// The expiry period after which the target is discarded.
     PN_CPP_EXTERN target_options& timeout(duration);
 
     /// Control when the clock for expiration begins.
-    PN_CPP_EXTERN target_options& expiry_policy(enum expiry_policy);
+    PN_CPP_EXTERN target_options& expiry_policy(enum target::expiry_policy);
 
 
     /// @cond INTERNAL

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/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 7ee60f4..cdcb7d3 100644
--- a/proton-c/bindings/cpp/include/proton/terminus.hpp
+++ b/proton-c/bindings/cpp/include/proton/terminus.hpp
@@ -25,7 +25,6 @@
 #include "proton/export.hpp"
 #include "proton/object.hpp"
 #include "proton/value.hpp"
-#include "proton/settings.hpp"
 
 #include "proton/link.h"
 #include <string>
@@ -46,6 +45,19 @@ class terminus {
   public:
     terminus() : object_(0), parent_(0) {}
 
+    enum durability_mode {
+      NONDURABLE = PN_NONDURABLE,
+      CONFIGURATION = PN_CONFIGURATION,
+      UNSETTLED_STATE = PN_DELIVERIES
+    };
+
+    enum expiry_policy {
+      LINK_CLOSE = PN_EXPIRE_WITH_LINK,
+      SESSION_CLOSE = PN_EXPIRE_WITH_SESSION,
+      CONNECTION_CLOSE = PN_EXPIRE_WITH_CONNECTION,
+      NEVER = PN_EXPIRE_NEVER
+    };
+
     /// Control when the clock for expiration begins.
     PN_CPP_EXTERN enum expiry_policy expiry_policy() const;
 
@@ -53,9 +65,6 @@ class terminus {
     /// duration is rounded to the nearest second.
     PN_CPP_EXTERN duration timeout() const;
 
-    /// Get the distribution mode.
-    PN_CPP_EXTERN enum distribution_mode distribution_mode() const;
-
     /// Get the durability flag.
     PN_CPP_EXTERN enum durability_mode durability_mode();
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/proton-c/bindings/cpp/src/node_options.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/node_options.cpp b/proton-c/bindings/cpp/src/node_options.cpp
index ade5dd9..1053560 100644
--- a/proton-c/bindings/cpp/src/node_options.cpp
+++ b/proton-c/bindings/cpp/src/node_options.cpp
@@ -73,11 +73,11 @@ void node_address(terminus &t, option<std::string> &addr, option<bool> &dynamic)
     }
 }
 
-void node_durability(terminus &t, option<enum durability_mode> &mode) {
+void node_durability(terminus &t, option<enum terminus::durability_mode> &mode) {
     if (mode.set) pn_terminus_set_durability(unwrap(t), pn_durability_t(mode.value));
 }
 
-void node_expiry(terminus &t, option<enum expiry_policy> &policy, option<duration> &d) {
+void node_expiry(terminus &t, option<enum terminus::expiry_policy> &policy, option<duration> &d) {
     if (policy.set) pn_terminus_set_expiry_policy(unwrap(t), pn_expiry_policy_t(policy.value));
     if (d.set) timeout(t, d.value);
 }
@@ -89,10 +89,10 @@ class source_options::impl {
   public:
     option<std::string> address;
     option<bool> dynamic;
-    option<enum durability_mode> durability_mode;
+    option<enum source::durability_mode> durability_mode;
     option<duration> timeout;
-    option<enum expiry_policy> expiry_policy;
-    option<enum distribution_mode> distribution_mode;
+    option<enum source::expiry_policy> expiry_policy;
+    option<enum source::distribution_mode> distribution_mode;
     option<source::filter_map> filters;
 
     void apply(source& s) {
@@ -135,10 +135,10 @@ void source_options::update(const source_options& x) { impl_->update(*x.impl_);
 
 source_options& source_options::address(const std::string &addr) { impl_->address = addr; return *this; }
 source_options& source_options::dynamic(bool b) { impl_->dynamic = b; return *this; }
-source_options& source_options::durability_mode(enum durability_mode m) { impl_->durability_mode = m; return *this; }
+source_options& source_options::durability_mode(enum source::durability_mode m) { impl_->durability_mode = m; return *this; }
 source_options& source_options::timeout(duration d) { impl_->timeout = d; return *this; }
-source_options& source_options::expiry_policy(enum expiry_policy m) { impl_->expiry_policy = m; return *this; }
-source_options& source_options::distribution_mode(enum distribution_mode m) { impl_->distribution_mode = m; return *this; }
+source_options& source_options::expiry_policy(enum source::expiry_policy m) { impl_->expiry_policy = m; return *this; }
+source_options& source_options::distribution_mode(enum source::distribution_mode m) { impl_->distribution_mode = m; return *this; }
 source_options& source_options::filters(const source::filter_map &map) { impl_->filters = map; return *this; }
 
 void source_options::apply(source& s) const { impl_->apply(s); }
@@ -149,9 +149,9 @@ class target_options::impl {
   public:
     option<std::string> address;
     option<bool> dynamic;
-    option<enum durability_mode> durability_mode;
+    option<enum target::durability_mode> durability_mode;
     option<duration> timeout;
-    option<enum expiry_policy> expiry_policy;
+    option<enum target::expiry_policy> expiry_policy;
 
     void apply(target& t) {
         node_address(t, address, dynamic);
@@ -184,9 +184,9 @@ void target_options::update(const target_options& x) { impl_->update(*x.impl_);
 
 target_options& target_options::address(const std::string &addr) { impl_->address = addr; return *this; }
 target_options& target_options::dynamic(bool b) { impl_->dynamic = b; return *this; }
-target_options& target_options::durability_mode(enum durability_mode m) { impl_->durability_mode = m; return *this; }
+target_options& target_options::durability_mode(enum target::durability_mode m) { impl_->durability_mode = m; return *this; }
 target_options& target_options::timeout(duration d) { impl_->timeout = d; return *this; }
-target_options& target_options::expiry_policy(enum expiry_policy m) { impl_->expiry_policy = m; return *this; }
+target_options& target_options::expiry_policy(enum target::expiry_policy m) { impl_->expiry_policy = m; return *this; }
 
 void target_options::apply(target& s) const { impl_->apply(s); }
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/proton-c/bindings/cpp/src/source.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/source.cpp b/proton-c/bindings/cpp/src/source.cpp
index 3816c78..1c9a5bd 100644
--- a/proton-c/bindings/cpp/src/source.cpp
+++ b/proton-c/bindings/cpp/src/source.cpp
@@ -43,6 +43,10 @@ std::string source::address() const {
     return str(pn_terminus_get_address(authoritative));
 }
 
+enum source::distribution_mode source::distribution_mode() const {
+  return (enum distribution_mode)pn_terminus_get_distribution_mode(object_);
+}
+
 source::filter_map source::filters() const {
     codec::decoder d(pn_terminus_filter(object_));
     filter_map map;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/c3c477d2/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 7d3bc5b..138a42c 100644
--- a/proton-c/bindings/cpp/src/terminus.cpp
+++ b/proton-c/bindings/cpp/src/terminus.cpp
@@ -19,6 +19,8 @@
  *
  */
 
+#include "proton/terminus.hpp"
+
 #include "proton_bits.hpp"
 
 #include "proton/link.hpp"
@@ -30,7 +32,7 @@ terminus::terminus(pn_terminus_t* t) :
     object_(t), parent_(0)
 {}
 
-enum expiry_policy terminus::expiry_policy() const {
+enum terminus::expiry_policy terminus::expiry_policy() const {
     return (enum expiry_policy)pn_terminus_get_expiry_policy(object_);
 }
 
@@ -38,11 +40,7 @@ duration terminus::timeout() const {
     return duration::SECOND * pn_terminus_get_timeout(object_);
 }
 
-enum distribution_mode terminus::distribution_mode() const {
-    return (enum distribution_mode)pn_terminus_get_distribution_mode(object_);
-}
-
-enum durability_mode terminus::durability_mode() {
+enum terminus::durability_mode terminus::durability_mode() {
     return (enum durability_mode) pn_terminus_get_durability(object_);
 }
 


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