You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jr...@apache.org on 2018/03/20 18:33:40 UTC

[5/9] qpid-proton git commit: PROTON-1799: Remove deprecated bindings and APIs

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/javascript/qpid-proton-messenger/LICENSE
----------------------------------------------------------------------
diff --git a/proton-c/bindings/javascript/qpid-proton-messenger/LICENSE b/proton-c/bindings/javascript/qpid-proton-messenger/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/proton-c/bindings/javascript/qpid-proton-messenger/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/javascript/qpid-proton-messenger/README.md
----------------------------------------------------------------------
diff --git a/proton-c/bindings/javascript/qpid-proton-messenger/README.md b/proton-c/bindings/javascript/qpid-proton-messenger/README.md
deleted file mode 100644
index 35d1917..0000000
--- a/proton-c/bindings/javascript/qpid-proton-messenger/README.md
+++ /dev/null
@@ -1,94 +0,0 @@
-**qpid-proton-messenger**
----------------------
-Apache qpid proton messenger AMQP 1.0 library
-http://qpid.apache.org/proton/
-https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git
-
-This library provides JavaScript bindings for Apache qpid proton messenger giving AMQP 1.0 support to Node.js and browsers.
-
-**Important Note - Modern Browser Needed**
-The JavaScript binding requires ArrayBuffer/TypedArray and WebSocket support. Both of these are available in most "modern" browser versions. The author has only tried running on FireFox and Chrome, though recent Safari, Opera and IE10+ *should* work too - YMMV. It might be possible to polyfill for older browsers but the author hasn't tried this.
-
-**Important Note - WebSocket Transport!!!**
-Before going any further it is really important to realise that the JavaScript bindings to Proton are somewhat different to the bindings for other languages because of the restrictions of the execution environment. 
-
-In particular it is very important to note that the JavaScript bindings by default use a WebSocket transport and not a TCP transport, so whilst it's possible to create Server style applications that clients can connect to (e.g. recv.js and send.js) note that:
-JavaScript clients cannot *directly* talk to "normal" AMQP applications such as qpidd or (by default) the Java Broker because they use a standard TCP transport.
-
-This is a slightly irksome issue, but there's no getting away from it because it's a security restriction imposed by the browser environment.
-
-**Full README**
-https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;a=blob;f=proton-c/bindings/javascript/README;h=8bfde56632a22bffce4afe791321f4900c5d38d2;hb=HEAD
-
-**Examples**
-The examples in the main Proton repository are the best starting point:
-https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;a=tree;f=examples/messenger/javascript;h=37964f32a6b3d63e802000b0a2a974ed017e4688;hb=HEAD
-
-In practice the examples follow a fairly similar pattern to the Python bindings the most important thing to bear in mind though is that JavaScript is completely asynchronous/non-blocking, which can catch the unwary.
-
-An application follows the following (rough) steps:
-
-(optional) Set the heap size.
-It's important to realise that most of the library code is compiled C code and the runtime uses a "virtual heap" to support the underlying malloc/free. This is implemented internally as an ArrayBuffer with a default size of 16777216.
-
-To allocate a larger heap an application must set the PROTON_TOTAL_MEMORY global. In Node.js this would look like (see send.js):
-
-    PROTON_TOTAL_MEMORY = 50000000; // Note no var - it needs to be global.
-
-In a browser it would look like (see send.html):
-
-    <script type="text/javascript">PROTON_TOTAL_MEMORY = 50000000</script>
-
-Load the library and create a message and messenger.
-In Node.js this would look like (see send.js):
-
-    var proton = require("qpid-proton-messenger");
-    var message = new proton.Message();
-    var messenger = new proton.Messenger();
-
-In a browser it would look like (see send.html):
-
-    <script type="text/javascript" src="../../../node_modules/qpid-proton-messenger/lib/proton-messenger.js"></script>
-    <script type="text/javascript" >
-    var message = new proton.Message();
-    var messenger = new proton.Messenger();
-
-Set up event handlers as necessary.
-
-    messenger.on('error', <error callback>);
-    messenger.on('work', <work callback>);
-    messenger.on('subscription', <subscription callback>);
-
-The work callback is triggered on WebSocket events, so in general you would use this to send and receive messages, for example in recv.js we have:
-
-    var pumpData = function() {
-        while (messenger.incoming()) {
-            var t = messenger.get(message);
-    
-        console.log("Address: " + message.getAddress());
-        console.log("Subject: " + message.getSubject());
-    
-        // body is the body as a native JavaScript Object, useful for most real cases.
-        //console.log("Content: " + message.body);
-    
-        // data is the body as a proton.Data Object, used in this case because
-        // format() returns exactly the same representation as recv.c
-        console.log("Content: " + message.data.format());
-    
-        messenger.accept(t);
-       }
-    };
-    messenger.on('work', pumpData);
-
-
-The subscription callback is triggered when the address provided in a call to
-
-    messenger.subscribe(<address>);
-
-Gets resolved. An example of its usage can be found in qpid-config.js which is
-a fully functioning and complete port of the python qpid-config tool. It also
-illustrates how to do asynchronous request/response based applications.
-
-Aside from the asynchronous aspects the rest of the API is essentially the same
-as the Python binding aside from minor things such as camel casing method names etc.
-

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/javascript/qpid-proton-messenger/lib/.gitignore
----------------------------------------------------------------------
diff --git a/proton-c/bindings/javascript/qpid-proton-messenger/lib/.gitignore b/proton-c/bindings/javascript/qpid-proton-messenger/lib/.gitignore
deleted file mode 100644
index 2b1f291..0000000
--- a/proton-c/bindings/javascript/qpid-proton-messenger/lib/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# 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.
-#
-
-# Currently empty .gitignore
-# Used to ensure git creates the otherwise empty directory

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/javascript/qpid-proton-messenger/package.json
----------------------------------------------------------------------
diff --git a/proton-c/bindings/javascript/qpid-proton-messenger/package.json b/proton-c/bindings/javascript/qpid-proton-messenger/package.json
deleted file mode 100644
index 0544e28..0000000
--- a/proton-c/bindings/javascript/qpid-proton-messenger/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "name" : "qpid-proton-messenger",
-    "version": "0.9.0",
-    "description": "apache qpid proton messenger AMQP 1.0 library",
-    "homepage": "http://qpid.apache.org/proton",
-    "license": "Apache-2.0",
-    "repository": {
-        "type": "git",
-        "url": "https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git"
-    },
-    "main" : "./lib/proton-messenger.js",
-    "dependencies": {
-        "ws": "0.5.0",
-        "crypto": "latest",
-        "fs": "latest",
-        "path": "latest"
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/javascript/subscription.js
----------------------------------------------------------------------
diff --git a/proton-c/bindings/javascript/subscription.js b/proton-c/bindings/javascript/subscription.js
deleted file mode 100644
index 89fd1a3..0000000
--- a/proton-c/bindings/javascript/subscription.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.
- *
- */
-
-/*****************************************************************************/
-/*                                                                           */
-/*                               Subscription                                */
-/*                                                                           */
-/*****************************************************************************/
-
-/**
- * Constructs a Subscription instance.
- * @classdesc This class is a wrapper for Messenger's subscriptions.
- * Subscriptions should never be *directly* instantiated by client code only via
- * Messenger.subscribe() or Messenger.incomingSubscription(), so we declare the
- * constructor in the scope of the package and don't export it via Module.
- * @constructor Subscription
- * @param {number} subscription a pointer to the underlying subscription object.
- * @param {string} source the address that we want to subscribe to.
- * @param {number} fd the file descriptor associated with the subscription. This
- *                 is used internally to tidy up during error handling.
- */
-var Subscription = function(subscription, source, fd) { // Subscription Constructor.
-    this._subscription = subscription;
-    this.source = source;
-    this.fd = fd;
-    if (source.indexOf('~') !== -1) {
-        this.passive = true;
-    } else {
-        this.passive = false;
-    }
-};
-
-/**
- * TODO Not sure exactly what pn_subscription_get_context does.
- * @method getContext
- * @memberof! Subscription#
- * @returns the Subscription's Context.
- */
-Subscription.prototype['getContext'] = function() {
-    return _pn_subscription_get_context(this._subscription);
-};
-
-/**
- * TODO Not sure exactly what pn_subscription_set_context does.
- * @method setContext
- * @memberof! Subscription#
- * @param context the Subscription's new Context.
- */
-Subscription.prototype['setContext'] = function(context) {
-    _pn_subscription_set_context(this._subscription, context);
-};
-
-/**
- * @method getAddress
- * @memberof! Subscription#
- * @returns the Subscription's Address.
- */
-Subscription.prototype['getAddress'] = function() {
-    if (this.passive) {
-        return this.source;
-    }
-    return Pointer_stringify(_pn_subscription_address(this._subscription));
-};
-

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/node/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/bindings/node/CMakeLists.txt b/proton-c/bindings/node/CMakeLists.txt
deleted file mode 100644
index d70ab1f..0000000
--- a/proton-c/bindings/node/CMakeLists.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-#
-# 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.
-#
-cmake_minimum_required(VERSION 2.8.12)
-
-if (NOT BUILD_WITH_CXX)
-  message(FATAL_ERROR "ERROR: node bindings require CXX build to be enabled.\n"
-    "Please set BUILD_WITH_CXX before rebuilding.")
-endif()
-
-find_package(SWIG REQUIRED)
-include(${SWIG_USE_FILE})
-
-# NB: *may* require cmake 3.1 or newer to successfully detect swig3.0 binary
-#     ahead of swig2.0 binary (see commit 7400695 in kitware/cmake)
-if (${SWIG_VERSION} VERSION_LESS 3.0)
-  message(FATAL_ERROR "ERROR: swig-${SWIG_VERSION} does not support generation"
-    " of Node.js bindings.\nPlease upgrade to swig-3.0 or newer to build these"
-  )
-endif()
-
-configure_file (
-  "${CMAKE_CURRENT_SOURCE_DIR}/../../include/proton/version.h.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/../../include/proton/version.h"
-)
-configure_file (
-  "${CMAKE_CURRENT_SOURCE_DIR}/binding.gyp.in"
-  "${CMAKE_CURRENT_BINARY_DIR}/binding.gyp"
-)
-
-include_directories("${CMAKE_CURRENT_BINARY_DIR}/../../src")
-include_directories("${CMAKE_CURRENT_BINARY_DIR}/../../include")
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../src")
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../include")
-
-find_path (NODE_ROOT_DIR "node/node.h" "src/node.h" HINTS /usr/include/nodejs)
-# message("NODE_ROOT_DIR=${NODE_ROOT_DIR}")
-include_directories("${NODE_ROOT_DIR}/src")
-include_directories("${NODE_ROOT_DIR}/deps/v8/include")
-include_directories("${NODE_ROOT_DIR}/deps/uv/include")
-
-set(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
-set(CMAKE_SWIG_FLAGS "-node;-I${CMAKE_CURRENT_SOURCE_DIR}/../../include")
-set_source_files_properties(javascript.i PROPERTIES CPLUSPLUS ON)
-swig_add_library(cproton LANGUAGE javascript SOURCES javascript.i)
-set_target_properties (cproton PROPERTIES LINKER_LANGUAGE CXX)
-list(APPEND SWIG_MODULE_cproton_javascript_EXTRA_DEPS
-  ${CMAKE_CURRENT_SOURCE_DIR}/../../proton-c/include/proton/cproton.i
-  ${PROTON_HEADERS}
-)
-set_target_properties (cproton PROPERTIES
-  COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -DBUILDING_NODE_EXTENSION"
-  PREFIX ""
-  SUFFIX ".node"
-)
-swig_link_libraries(cproton qpid-proton)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/node/binding.gyp.in
----------------------------------------------------------------------
diff --git a/proton-c/bindings/node/binding.gyp.in b/proton-c/bindings/node/binding.gyp.in
deleted file mode 100644
index c93cde4..0000000
--- a/proton-c/bindings/node/binding.gyp.in
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-    "targets": [{
-        "target_name": "cproton",
-        "type": "loadable_module",
-        "sources": ["javascriptJAVASCRIPT_wrap.cxx"],
-        "conditions": [
-            ["OS=='win'", {
-                "cflags_cc+": ["/W3", "/Zi"],
-                'msvs_settings': {
-                  'VCCLCompilerTool': {
-                    'AdditionalOptions': [ '/EHsc' ],
-                    'ShowIncludes': 'false',
-                    'PreprocessorDefinitions': [ '_WIN32_WINNT=0x0600', 'PN_NODEFINE_SSIZE_T' ]
-                  }
-                },
-                "include_dirs+": [".", "@Proton_SOURCE_DIR@/proton-c/include"],
-                "libraries": ["qpid-proton"],
-            }],
-            ["OS=='linux'", {
-                "cflags_cc+": ["-Wall", "-Wno-comment", "-g"],
-                "include_dirs+": [".", "@Proton_SOURCE_DIR@/proton-c/include"],
-                "libraries": ["-lqpid-proton", "-L@Proton_BINARY_DIR@/proton-c", "-Wl,-rpath=\'$$ORIGIN\'"],
-            }],
-            ["OS=='mac'", {
-                "cflags_cc+": ["-Wall", "-Wno-comment", "-g"],
-                "include_dirs+": [".", "@Proton_SOURCE_DIR@/proton-c/include"],
-                "libraries": ["-lqpid-proton", "@Proton_BINARY_DIR@/proton-c", "-Wl,-install_name,@rpath/proton.node", "-Wl,-rpath,@loader_path/", "-Wl,-headerpad_max_install_names"],
-            }],
-        ]
-    }]
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/node/javascript.i
----------------------------------------------------------------------
diff --git a/proton-c/bindings/node/javascript.i b/proton-c/bindings/node/javascript.i
deleted file mode 100644
index d812475..0000000
--- a/proton-c/bindings/node/javascript.i
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.
- */
-
-%module cproton
-
-// provided by SWIG development libraries
-%include javascript.swg
-
-%header %{
-/* Include the headers needed by the code in this wrapper file */
-#include <proton/types.h>
-#include <proton/connection.h>
-#include <proton/condition.h>
-#include <proton/delivery.h>
-#include <proton/driver.h>
-#include <proton/driver_extras.h>
-#include <proton/event.h>
-#include <proton/handlers.h>
-#include <proton/message.h>
-#include <proton/messenger.h>
-#include <proton/reactor.h>
-#include <proton/session.h>
-#include <proton/url.h>
-%}
-
-%include "proton/cproton.i"

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/CMakeLists.txt b/proton-c/bindings/perl/CMakeLists.txt
deleted file mode 100644
index 28f07bf..0000000
--- a/proton-c/bindings/perl/CMakeLists.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-#
-# 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.
-#
-
-# Always need to treat SWIG files as C
-set_source_files_properties(cproton.i perl.i PROPERTIES CPLUSPLUS NO)
-
-# Need to pass in the same compiler flags used to build Perl itself
-execute_process(COMMAND perl -MConfig -e "print \$Config{ccflags}"
-  OUTPUT_VARIABLE PERLCFLAGS)
-
-# Disable harmlesss warnings from the generted perlPERL_wrap.c
-set(PERLCFLAGS "${PERLCFLAGS} -w")
-
-include_directories("${PERL_INCLUDE_PATH}")
-
-if (CHECK_SYSINSTALL_PERL)
-  execute_process(COMMAND perl -V:installvendorarch
-    OUTPUT_VARIABLE PERL_VENDORARCH_OUTPUT_VARIABLE
-    RESULT_VARIABLE PERL_VENDORARCH_RESULT_VARIABLE)
-
-  if (NOT PERL_VENDORARCH_RESULT_VARIABLE)
-    string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORARCH ${PERL_VENDORARCH_OUTPUT_VARIABLE})
-    file(TO_CMAKE_PATH "${PERL_VENDORARCH}" PERL_VENDORARCH_DIR_DEFAULT)
-  else ()
-    set (PERL_VENDORARCH_DIR_DEFAULT ${PERL_VENDORARCH_RESULT_VARIABLE})
-  endif ()
-else (CHECK_SYSINSTALL_PERL)
-  set (PERL_VENDORARCH_DIR_DEFAULT ${BINDINGS_DIR}/perl)
-endif (CHECK_SYSINSTALL_PERL)
-
-if (NOT PERL_VENDORARCH_DIR)
-  set (PERL_VENDORARCH_DIR ${PERL_VENDORARCH_DIR_DEFAULT})
-endif()
-
-set (CMAKE_C_FLAGS ${PERLCFLAGS})
-list(APPEND SWIG_MODULE_cproton_perl_EXTRA_DEPS
-    ${CMAKE_SOURCE_DIR}/proton-c/include/proton/cproton.i
-    ${PROTON_HEADERS}
-)
-swig_add_library(cproton_perl LANGUAGE perl SOURCES perl.i)
-set_target_properties(cproton_perl PROPERTIES PREFIX "")
-swig_link_libraries(cproton_perl ${BINDING_DEPS} ${PERL_LIBRARY})
-
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cproton_perl.so
-        DESTINATION ${PERL_VENDORARCH_DIR}/auto/cproton_perl
-        COMPONENT Perl)
-
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cproton_perl.pm
-        DESTINATION ${PERL_VENDORARCH_DIR}
-        COMPONENT Perl)
-
-install(FILES lib/qpid_proton.pm
-        DESTINATION ${PERL_VENDORARCH_DIR}
-        COMPONENT Perl)
-
-INSTALL(DIRECTORY lib/qpid
-        DESTINATION ${PERL_VENDORARCH_DIR}
-        COMPONENT Perl)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/LICENSE
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/LICENSE b/proton-c/bindings/perl/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/proton-c/bindings/perl/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/MANIFEST
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/MANIFEST b/proton-c/bindings/perl/MANIFEST
deleted file mode 100644
index a1e191c..0000000
--- a/proton-c/bindings/perl/MANIFEST
+++ /dev/null
@@ -1,10 +0,0 @@
-CMakeLists.txt
-lib/qpid/proton/Message.pm
-lib/qpid/proton/Messenger.pm
-lib/qpid_proton.pm
-LICENSE
-Makefile.PL
-MANIFEST
-perl.i
-README
-TODO

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/Makefile.PL
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/Makefile.PL b/proton-c/bindings/perl/Makefile.PL
deleted file mode 100644
index e06ccd5..0000000
--- a/proton-c/bindings/perl/Makefile.PL
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/perl -w
-
-use ExtUtils::MakeMaker;
-
-WriteMakefile(
-    NAME         => 'cproton_perl',
-    DISTNAME     => 'perl-qpid_proton',
-    VERSION      => '0.3',
-    PREREQ_PM    => {},
-    LIBS         => ["-lqpid-proton"],
-    C            => ['cproton_perl.c'],
-);

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/README
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/README b/proton-c/bindings/perl/README
deleted file mode 100644
index 7dda9a4..0000000
--- a/proton-c/bindings/perl/README
+++ /dev/null
@@ -1,17 +0,0 @@
-Qpid Proton Perl Language Bindings
-==================================
-
-KNOWN ISSUES
-============
-
-
-SUPPORT
-=======
-
-To report bugs in the bindings, or to request an enhancement, please file
-a tracker request:
-
-    https://issues.apache.org/jira/browse/PROTON
-
-You can also directly interact with the development team and other users
-in the #qpid channel on irc.freenode.net.

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/TODO
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/TODO b/proton-c/bindings/perl/TODO
deleted file mode 100644
index c007a5b..0000000
--- a/proton-c/bindings/perl/TODO
+++ /dev/null
@@ -1,2 +0,0 @@
-Qpid Proton Perl Language Bindings TODO List
-============================================

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/lib/qpid/proton.pm
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/lib/qpid/proton.pm b/proton-c/bindings/perl/lib/qpid/proton.pm
deleted file mode 100644
index b50092b..0000000
--- a/proton-c/bindings/perl/lib/qpid/proton.pm
+++ /dev/null
@@ -1,75 +0,0 @@
-#
-# 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.
-#
-
-=pod
-
-=head1 NAME
-
-qpid::proton;
-
-=head1 DESCRIPTION
-
-=cut
-
-package qpid::proton;
-
-
-=pod
-
-=head2 MAPS
-
-Moving values from a map within a B<qpid::proton::Data> object into a
-Perl B<Hash> object is done using the following:
-
-=over
-
-=item %hash = qpid::proton::get_map_from( [DATA] );
-
-=back
-
-=cut
-
-sub get_map_from {
-    my $data = $_[0];
-
-    die "data cannot be nil" unless defined($data);
-
-    my $type = $data->get_type;
-
-    die "current node is not a map" if !($type == qpid::proton::MAP);
-
-    my $result;
-    my $count = $data->get_map;
-
-    $data->enter;
-    for($i = 0; $i < $count/2; $i++) {
-        $data->next;
-        my $type = $data->get_type;
-        my $key = $type->get($data);
-        $data->next;
-        $type = $data->get_type;
-        my $value = $type->get($data);
-        $result{$key} = $value;
-    }
-    $data->exit;
-
-    return $result;
-}
-
-1;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/lib/qpid/proton/Constants.pm
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/lib/qpid/proton/Constants.pm b/proton-c/bindings/perl/lib/qpid/proton/Constants.pm
deleted file mode 100644
index 2cb93e7..0000000
--- a/proton-c/bindings/perl/lib/qpid/proton/Constants.pm
+++ /dev/null
@@ -1,172 +0,0 @@
-#
-# 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.
-#
-
-package qpid::proton;
-
-use constant {
-    VERSION_MAJOR => $cproton_perl::PN_VERSION_MAJOR,
-    VERSION_MINOR => $cproton_perl::PN_VERSION_MINOR,
-
-    NULL       => $cproton_perl::PN_NULL,
-    BOOL       => qpid::proton::Mapping->new(
-        "bool",
-        $cproton_perl::PN_BOOL,
-        "put_bool",
-        "get_bool"),
-    UBYTE      => qpid::proton::Mapping->new(
-        "ubyte",
-        $cproton_perl::PN_UBYTE,
-        "put_ubyte",
-        "get_ubyte"),
-    BYTE       => qpid::proton::Mapping->new(
-        "byte",
-        $cproton_perl::PN_BYTE,
-        "put_byte",
-        "get_byte"),
-    USHORT     => qpid::proton::Mapping->new(
-        "ushort",
-        $cproton_perl::PN_USHORT,
-        "put_ushort",
-        "get_ushort"),
-    SHORT      => qpid::proton::Mapping->new(
-        "short",
-        $cproton_perl::PN_SHORT,
-        "put_short",
-        "get_short"),
-    UINT       => qpid::proton::Mapping->new(
-        "uint",
-        $cproton_perl::PN_UINT,
-        "put_uint",
-        "get_uint"),
-    INT        => qpid::proton::Mapping->new(
-        "int",
-        $cproton_perl::PN_INT,
-        "put_int",
-        "get_int"),
-    CHAR       => qpid::proton::Mapping->new(
-        "char",
-        $cproton_perl::PN_CHAR,
-        "put_char",
-        "get_char"),
-    ULONG      => qpid::proton::Mapping->new(
-        "ulong",
-        $cproton_perl::PN_ULONG,
-        "put_ulong",
-        "get_ulong"),
-    LONG       => qpid::proton::Mapping->new(
-        "long",
-        $cproton_perl::PN_LONG,
-        "put_long",
-        "get_long"),
-    TIMESTAMP  => qpid::proton::Mapping->new(
-        "timestamp",
-        $cproton_perl::PN_TIMESTAMP,
-        "put_timestamp",
-        "get_timestamp"),
-    FLOAT      => qpid::proton::Mapping->new(
-        "float",
-        $cproton_perl::PN_FLOAT,
-        "put_float",
-        "get_float"),
-    DOUBLE     => qpid::proton::Mapping->new(
-        "double",
-        $cproton_perl::PN_DOUBLE,
-        "put_double",
-        "get_double"),
-    DECIMAL32  => qpid::proton::Mapping->new(
-        "decimal32",
-        $cproton_perl::PN_DECIMAL32,
-        "put_decimal32",
-        "get_decimal32"),
-    DECIMAL64  => qpid::proton::Mapping->new(
-        "decimal64",
-        $cproton_perl::PN_DECIMAL64,
-        "put_decimal64",
-        "get_decimal64"),
-    DECIMAL128 => qpid::proton::Mapping->new(
-        "decimal128",
-        $cproton_perl::PN_DECIMAL128,
-        "put_decimal128",
-        "get_decimal128"),
-    UUID       => qpid::proton::Mapping->new(
-        "uuid",
-        $cproton_perl::PN_UUID,
-        "put_uuid",
-        "get_uuid"),
-    BINARY     => qpid::proton::Mapping->new(
-        "binary",
-        $cproton_perl::PN_BINARY,
-        "put_binary",
-        "get_binary"),
-    STRING     => qpid::proton::Mapping->new(
-        "string",
-        $cproton_perl::PN_STRING,
-        "put_string",
-        "get_string"),
-    SYMBOL     => qpid::proton::Mapping->new(
-        "symbol",
-        $cproton_perl::PN_SYMBOL,
-        "put_symbol",
-        "get_symbol"),
-    ARRAY     => qpid::proton::Mapping->new(
-        "array",
-        $cproton_perl::PN_ARRAY,
-        "put_array",
-        "get_array"),
-    LIST      => qpid::proton::Mapping->new(
-        "list",
-        $cproton_perl::PN_LIST,
-        "put_list_helper",
-        "get_list_helper"),
-    MAP      => qpid::proton::Mapping->new(
-        "map",
-        $cproton_perl::PN_MAP,
-        "put_map_helper",
-        "get_map_helper"),
-};
-
-package qpid::proton::Errors;
-
-use constant {
-    NONE => 0,
-    EOS => $cproton_perl::PN_EOS,
-    ERROR => $cproton_perl::PN_ERR,
-    OVERFLOW => $cproton_perl::PN_OVERFLOW,
-    UNDERFLOW => $cproton_perl::PN_UNDERFLOW,
-    STATE => $cproton_perl::PN_STATE_ERR,
-    ARGUMENT => $cproton_perl::PN_ARG_ERR,
-    TIMEOUT => $cproton_perl::PN_TIMEOUT,
-    INTERRUPTED => $cproton_perl::PN_INTR,
-    INPROGRESS => $cproton_perl::PN_INPROGRESS,
-};
-
-package qpid::proton::Tracker;
-
-use constant {
-    ABORTED => $cproton_perl::PN_STATUS_ABORTED,
-    ACCEPTED => $cproton_perl::PN_STATUS_ACCEPTED,
-    REJECTED => $cproton_perl::PN_STATUS_REJECTED,
-    PENDING => $cproton_perl::PN_STATUS_PENDING,
-    SETTLED => $cproton_perl::PN_STATUS_SETTLED,
-    UNKNOWN => undef,
-};
-
-package qpid::proton::Constants;
-
-1;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/lib/qpid/proton/Data.pm
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/lib/qpid/proton/Data.pm b/proton-c/bindings/perl/lib/qpid/proton/Data.pm
deleted file mode 100644
index dccf2fc..0000000
--- a/proton-c/bindings/perl/lib/qpid/proton/Data.pm
+++ /dev/null
@@ -1,1276 +0,0 @@
-#
-# 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.
-#
-
-use Scalar::Util qw(reftype looks_like_number);
-
-=pod
-
-=head1 NAME
-
-qpid::proton::Data
-
-=head1 DESCRIPTION
-
-The B<Data> class provides an interface for decoding, extract, creating and
-encoding arbitrary AMQP data. A B<Data> object contains a tree of AMQP values.
-Leaf nodes in this tree correspond to scalars in the AMQP type system such as
-B<INT> or B<STRING>. Interior nodes in this tree correspond to compound values
-in the AMQP type system such as B<LIST>, B<MAP>, B<ARRAY> or B<DESCRIBED>. The
-root node of the tree is the B<Data> object itself and can have an arbitrary
-number of children.
-
-A B<Data> object maintains the notion of the current sibling node and a current
-parent node. Siblings are ordered within their parent. Values are accessed
-and/or added by using the B<next>, B<prev>, B<enter> and B<exit> methods to
-navigate to the desired location in the tree and using the supplied variety of
-mutator and accessor methods to access or add a value of the desired type.
-
-The mutator methods will always add a value I<after> the current node in the
-tree. If the current node has a next sibling the mutator method will overwrite
-the value on this node. If there is no current node or the current node has no
-next sibling then one will be added. The accessor methods always set the
-add/modified node to the current node. The accessor methods read the value of
-the current node and do not change which node is current.
-
-=cut
-
-package qpid::proton::Data;
-
-=pod
-
-=head1 CONSTRUCTOR
-
-Creates a new instance with the specified capacity.
-
-=over
-
-=item my $data = qpid::proton::Data->new( CAPACITY );
-
-=back
-
-=cut
-
-sub new {
-    my ($class) = @_;
-    my ($self) = {};
-    my $capacity = $_[1] || 16;
-    my $impl = $capacity;
-    $self->{_free} = 0;
-
-    if($capacity) {
-        if (::looks_like_number($capacity)) {
-            $impl = cproton_perl::pn_data($capacity);
-            $self->{_free} = 1;
-        }
-    }
-
-    $self->{_impl} = $impl;
-
-    bless $self, $class;
-    return $self;
-}
-
-sub DESTROY {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_free($impl) if $self->{_free};
-}
-
-=pod
-
-=head1 ACTIONS
-
-Clear all content for the data object.
-
-=over
-
-=item my $data->clear();
-
-=back
-
-=cut
-
-sub clear {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_clear($impl);
-}
-
-
-=pod
-
-=head1 NAVIGATION
-
-The following methods allow for navigating through the nodes in the tree.
-
-=cut
-
-
-=pod
-
-=over
-
-=item $doc->enter;
-
-=item if ($doc->enter()) { do_something_with_children; }
-
-Sets the parent node to the current node and clears the current node.
-
-Clearing the current node sets it I<before> the first child.
-
-=item $doc->exit;
-
-=item if ($doc->exit()) { do_something_with_parent; }
-
-Sets the current node to the parent node, and the parent node to its own parent.
-
-=item $doc->next;
-
-=item $doc->prev;
-
-Moves to the next/previous sibling and returns its type. If there is no next or
-previous sibling then the current node remains unchanged.
-
-=item $doc->rewind;
-
-Clears the current node and sets the parent to the root node.
-
-=back
-
-=cut
-
-sub enter {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_enter($impl);
-}
-
-sub exit {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_exit($impl);
-}
-
-sub rewind {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_rewind($impl);
-}
-
-
-=pod
-
-=over
-
-=item $doc->next;
-
-=item if ($doc->next()) { do_something; }
-
-Advances the current node to its next sibling and returns its type.
-
-If there is no next sibling then the current node remains unchanged and
-B<undef> is returned.
-
-=item $doc->prev;
-
-=item if ($doc->prev()) { do_something; }
-
-Advances the current node to its previous sibling and returns its type.
-
-If there is no previous sibling then the current node remains unchanged and
-undef is returned.
-
-=back
-
-=cut
-
-sub next {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    return cproton_perl::pn_data_next($impl);
-}
-
-sub prev {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    return cproton_perl::pn_data_prev($impl);
-}
-
-
-=pod
-
-=head1 SUPPORTED TYPES
-
-The following methods allow for inserting the various node types into the
-tree.
-
-=head2 NODE TYPE
-
-You can retrieve the type of the current node.
-
-=over
-
-=item $type = $doc->get_type;
-
-=back
-
-=cut
-
-
-sub get_type {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $type = cproton_perl::pn_data_type($impl);
-
-    return qpid::proton::Mapping->find_by_type_value($type);
-}
-
-
-=pod
-
-=head2 SCALAR TYPES
-
-=cut
-
-=pod
-
-=head3 NULL
-
-=over
-
-=item $doc->put_null;
-
-Inserts a null node.
-
-=item $doc->is_null;
-
-Returns true if the current node is null.
-
-=back
-
-=cut
-
-sub put_null() {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_put_null($impl);
-}
-
-sub is_null {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_is_null($impl);
-}
-
-sub check {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $err = $_[1];
-
-    # if we got a null then just exit
-    return $err if !defined($err);
-
-    if($err < 0) {
-        die DataException->new("[$err]: " . cproton_perl::pn_data_error($impl));
-    } else {
-        return $err;
-    }
-}
-
-=pod
-
-=head3 BOOL
-
-Handles a boolean (B<true>/B<false>) node.
-
-=over
-
-=item $doc->put_bool( VALUE );
-
-=item $doc->get_bool;
-
-=back
-
-=cut
-
-sub put_bool {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1] || 0;
-
-    cproton_perl::pn_data_put_bool($impl, $value);
-}
-
-sub get_bool {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_bool($impl);
-}
-
-=pod
-
-=head3 UBYTE
-
-Handles an unsigned byte node.
-
-=over
-
-=item $data->put_ubyte( VALUE );
-
-=item $data->get_ubyte;
-
-=back
-
-=cut
-
-sub put_ubyte {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value  = $_[1];
-
-    die "ubyte must be defined" if !defined($value);
-    die "ubyte must be non-negative" if $value < 0;
-
-    check(cproton_perl::pn_data_put_ubyte($impl, int($value)));
-}
-
-sub get_ubyte {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_ubyte($impl);
-}
-
-=pod
-
-=head3 BYTE
-
-Handles a signed byte node.
-
-=over
-
-=item $data->put_byte( VALUE );
-
-=item $data->get_byte;
-
-=back
-
-=cut
-
-sub put_byte {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "byte must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_byte($impl, int($value)));
-}
-
-sub get_byte {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_byte($impl);
-}
-
-=pod
-
-=head3 USHORT
-
-Handles an unsigned short node.
-
-=over
-
-=item $data->put_ushort( VALUE );
-
-=item $data->get_ushort;
-
-=back
-
-=cut
-
-sub put_ushort {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "ushort must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_ushort($impl, int($value)));
-}
-
-sub get_ushort {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_ushort($impl);
-}
-
-=pod
-
-=head3 SHORT
-
-Handles a signed short node.
-
-=over
-
-=item $data->put_short( VALUE );
-
-=item $data->get_short;
-
-=back
-
-=cut
-
-sub put_short {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "short must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_short($impl, int($value)));
-}
-
-sub get_short {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_short($impl);
-}
-
-=pod
-
-=head3 UINT
-
-Handles an unsigned integer node.
-
-=over
-
-=item $data->put_uint( VALUE );
-
-=item $data->get_uint;
-
-=back
-
-=cut
-
-sub put_uint {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "uint must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_uint($impl, int($value)));
-}
-
-sub get_uint {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_uint($impl);
-}
-
-=pod
-
-=head3 INT
-
-Handles an integer node.
-
-=over
-
-=item $data->put_int( VALUE );
-
-=item $data->get_int;
-
-=back
-
-=cut
-
-sub put_int {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "int must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_int($impl, int($value)));
-}
-
-sub get_int {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_int($impl);
-}
-
-=pod
-
-=head3 CHAR
-
-Handles a character node.
-
-=over
-
-=item $data->put_char( VALUE );
-
-=item $data->get_char;
-
-=back
-
-=cut
-
-sub put_char {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "char must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_char($impl, int($value)));
-}
-
-sub get_char {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_char($impl);
-}
-
-=pod
-
-=head3 ULONG
-
-Handles an unsigned long node.
-
-=over
-
-=item $data->set_ulong( VALUE );
-
-=item $data->get_ulong;
-
-=back
-
-=cut
-
-sub put_ulong {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "ulong must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_ulong($impl, $value));
-}
-
-sub get_ulong {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_ulong($impl);
-}
-
-=pod
-
-=head3 LONG
-
-Handles a signed long node.
-
-=over
-
-=item $data->put_long( VALUE );
-
-=item $data->get_long;
-
-=back
-
-=cut
-
-sub put_long {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "long must be defined" if !defined($value);
-
-    cproton_perl::pn_data_put_long($impl, int($value));
-}
-
-sub get_long {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_long($impl);
-}
-
-=pod
-
-=head3 TIMESTAMP
-
-Handles a timestamp node.
-
-=over
-
-=item $data->put_timestamp( VALUE );
-
-=item $data->get_timestamp;
-
-=back
-
-=cut
-
-sub put_timestamp {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "timestamp must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_timestamp($impl, int($value)));
-}
-
-sub get_timestamp {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_timestamp($impl);
-}
-
-=pod
-
-=head3 FLOAT
-
-Handles a floating point node.
-
-=over
-
-=item $data->put_float( VALUE );
-
-=item $data->get_float;
-
-=back
-
-=cut
-
-sub put_float {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "float must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_float($impl, $value));
-}
-
-sub get_float {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    my $value = cproton_perl::pn_data_get_float($impl);
-
-    cproton_perl::pn_data_get_float($impl);
-}
-
-=pod
-
-=head3 DOUBLE
-
-Handles a double node.
-
-=over
-
-=item $data->put_double( VALUE );
-
-=item $data->get_double;
-
-=back
-
-=cut
-
-sub put_double {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "double must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_double($impl, $value));
-}
-
-sub get_double {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_double($impl);
-}
-
-=pod
-
-=head3 DECIMAL32
-
-Handles a decimal32 node.
-
-=over
-
-=item $data->put_decimal32( VALUE );
-
-=item $data->get_decimal32;
-
-=back
-
-=cut
-
-sub put_decimal32 {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "decimal32 must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_decimal32($impl, $value));
-}
-
-sub get_decimal32 {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_decimal32($impl);
-}
-
-=pod
-
-=head3 DECIMAL64
-
-Handles a decimal64 node.
-
-=over
-
-=item $data->put_decimal64( VALUE );
-
-=item $data->get_decimal64;
-
-=back
-
-=cut
-
-sub put_decimal64 {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "decimal64 must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_decimal64($impl, $value));
-}
-
-sub get_decimal64 {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_decimal64($impl);
-}
-
-=pod
-
-=head3 DECIMAL128
-
-Handles a decimal128 node.
-
-=over
-
-=item $data->put_decimal128( VALUE );
-
-=item $data->get_decimal128;
-
-=back
-
-=cut
-
-sub put_decimal128 {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "decimal128 must be defined" if !defined($value);
-
-    my @binary = split //, pack("H[32]", sprintf("%032x", $value));
-    my @bytes = ();
-
-    foreach $char (@binary) {
-        push(@bytes, ord($char));
-    }
-    check(cproton_perl::pn_data_put_decimal128($impl, \@bytes));
-}
-
-sub get_decimal128 {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    my $bytes = cproton_perl::pn_data_get_decimal128($impl);
-    my $value = hex(unpack("H[32]", $bytes));
-
-    return $value;
-}
-
-=pod
-
-=head3 UUID
-
-Handles setting a UUID value. UUID values can be set using a 128-bit integer
-value or else a well-formed string.
-
-=over
-
-=item $data->put_uuid( VALUE );
-
-=item $data->get_uuid;
-
-=back
-
-=cut
-
-use Data::Dumper;
-
-sub put_uuid {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "uuid must be defined" if !defined($value);
-
-    if($value =~ /[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/) {
-        $value =~ s/-//g;
-        my @binary = split //, pack("H[32]", $value);
-        my @bytes = ();
-
-        foreach $char (@binary) {
-            push(@bytes, ord($char));
-         }
-
-        check(cproton_perl::pn_data_put_uuid($impl, \@bytes));
-    } else {
-        die "uuid is malformed: $value";
-    }
-}
-
-sub get_uuid {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    my $bytes = cproton_perl::pn_data_get_uuid($impl);
-
-    my $value = unpack("H[32]", $bytes);
-    $value = substr($value, 0, 8) . "-" .
-        substr($value, 8, 4) . "-" .
-        substr($value, 12, 4) . "-" .
-        substr($value, 16, 4) . "-" .
-        substr($value, 20);
-
-    return $value;
-}
-
-=pod
-
-=head3 BINARY
-
-Handles a binary data node.
-
-=over
-
-=item $data->put_binary( VALUE );
-
-=item $data->get_binary;
-
-=back
-
-=cut
-
-sub put_binary {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "binary must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_binary($impl, $value)) if defined($value);
-}
-
-sub get_binary {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_binary($impl);
-}
-
-=pod
-
-=head3 STRING
-
-Handles a string node.
-
-=over
-
-=item $data->put_string( VALUE );
-
-=item $data->get_string;
-
-=back
-
-=cut
-
-sub put_string {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "string must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_string($impl, $value));
-}
-
-sub get_string {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_string($impl);
-}
-
-=pod
-
-=head3 SYMBOL
-
-Handles a symbol value.
-
-=over
-
-=item $data->put_symbol( VALUE );
-
-=item $data->get_symbol;
-
-=back
-
-=cut
-
-sub put_symbol {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $value = $_[1];
-
-    die "symbol must be defined" if !defined($value);
-
-    check(cproton_perl::pn_data_put_symbol($impl, $value));
-}
-
-sub get_symbol {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_symbol($impl);
-}
-
-=pod
-
-=head3 DESCRIBED VALUE
-
-A described node has two children: the descriptor and the value.
-
-These are specified by entering the node and putting the
-described values.
-
-=over
-
-=item $data->put_described;
-
-=item $data->is_described;
-
-=back
-
-=cut
-
-sub put_described {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_put_described($impl);
-}
-
-sub is_described {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_is_described($impl);
-}
-
-=pod
-
-=head3 ARRAYS
-
-Puts an array value.
-
-Elements may be filled by entering the array node and putting the element values.
-The values must all be of the specified array element type.
-
-If an array is B<described> then the first child value of the array is the
-descriptor and may be of any type.
-
-=over
-
-B<DESCRIBED> specifies whether the array is described or not.
-
-B<TYPE> specifies the type of elements in the array.
-
-=back
-
-=over
-
-=item $data->put_array( DESCRIBED, TYPE )
-
-=item my ($count, $described, $array_type) = item $data->get_array
-
-=back
-
-=cut
-
-sub put_array {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-    my $described = $_[1] || 0;
-    my $array_type = $_[2];
-
-    die "array type must be defined" if !defined($array_type);
-
-    check(cproton_perl::pn_data_put_array($impl,
-                                          $described,
-                                          $array_type->get_type_value));
-}
-
-sub get_array {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    my $count = cproton_perl::pn_data_get_array($impl);
-    my $described = cproton_perl::pn_data_is_array_described($impl);
-    my $type_value = cproton_perl::pn_data_get_array_type($impl);
-
-    $type_value = qpid::proton::Mapping->find_by_type_value($type_value);
-
-    return ($count, $described, $type_value);
-}
-
-sub get_array_type {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_array_type($impl);
-}
-
-=pod
-
-=head3 LIST
-
-Puts a list value.
-
-Elements may be filled in by entering the list and putting element values.
-
-=over
-
-=item $data->put_list;
-
-=item my $count = $data->get_list
-
-=back
-
-=cut
-
-sub put_list {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    check(cproton_perl::pn_data_put_list($impl));
-}
-
-sub get_list {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_list($impl);
-}
-
-=pod
-
-head3 MAP
-
-Puts a map value.
-
-Elements may be filled by entering the map node and putting alternating
-key/value pairs.
-
-=over
-
-=item $data->put_map;
-
-=item my $count = $data->get_map;
-
-=back
-
-=cut
-
-sub put_map {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    check(cproton_perl::pn_data_put_map($impl));
-}
-
-sub get_map {
-    my ($self) = @_;
-    my $impl = $self->{_impl};
-
-    cproton_perl::pn_data_get_map($impl);
-}
-
-sub put_list_helper {
-    my ($self) = @_;
-    my ($array) = $_[1];
-
-    $self->put_list;
-    $self->enter;
-
-    for my $value (@{$array}) {
-        if (qpid::proton::utils::is_num($value)) {
-            if (qpid::proton::utils::is_float($value)) {
-                $self->put_float($value);
-            } else {
-                $self->put_int($value);
-            }
-        } elsif (!defined($value)) {
-            $self->put_null;
-        } elsif ($value eq '') {
-            $self->put_string($value);
-        } elsif (ref($value) eq 'HASH') {
-            $self->put_map_helper($value);
-        } elsif (ref($value) eq 'ARRAY') {
-            $self->put_list_helper($value);
-        } else {
-            $self->put_string($value);
-        }
-    }
-
-    $self->exit;
-}
-
-sub get_list_helper {
-    my ($self) = @_;
-    my $result = [];
-    my $type = $self->get_type;
-
-    if ($cproton_perl::PN_LIST == $type->get_type_value) {
-        my $size = $self->get_list;
-
-        $self->enter;
-
-        for(my $count = 0; $count < $size; $count++) {
-            if ($self->next) {
-                my $value_type = $self->get_type;
-                my $value = $value_type->get($self);
-
-                push(@{$result}, $value);
-            }
-        }
-
-        $self->exit;
-    }
-
-    return $result;
-}
-
-sub put_map_helper {
-    my ($self) = @_;
-    my $hash = $_[1];
-
-    $self->put_map;
-    $self->enter;
-
-    foreach(keys %{$hash}) {
-        my $key = $_;
-        my $value = $hash->{$key};
-
-        my $keytype = ::reftype($key);
-        my $valtype = ::reftype($value);
-
-        if ($keytype eq ARRAY) {
-            $self->put_list_helper($key);
-        } elsif ($keytype eq "HASH") {
-            $self->put_map_helper($key);
-        } else {
-            $self->put_string("$key");
-        }
-
-        if (::reftype($value) eq HASH) {
-            $self->put_map_helper($value);
-        } elsif (::reftype($value) eq ARRAY) {
-            $self->put_list_helper($value);
-        } else {
-            $self->put_string("$value");
-        }
-    }
-
-    $self->exit;
-}
-
-sub get_map_helper {
-    my ($self) = @_;
-    my $result = {};
-    my $type = $self->get_type;
-
-    if ($cproton_perl::PN_MAP == $type->get_type_value) {
-        my $size = $self->get_map;
-
-        $self->enter;
-
-        for($count = 0; $count < $size; $count++) {
-            if($self->next) {
-                my $key = $self->get_type->get($self);
-                if($self->next) {
-                    my $value = $self->get_type->get($self);
-                    $result->{$key} = $value;
-                }
-            }
-        }
-
-        $self->exit;
-
-    }
-
-    return $result;
-}
-
-1;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/lib/qpid/proton/Errors.pm
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/lib/qpid/proton/Errors.pm b/proton-c/bindings/perl/lib/qpid/proton/Errors.pm
deleted file mode 100644
index 29f334b..0000000
--- a/proton-c/bindings/perl/lib/qpid/proton/Errors.pm
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# 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.
-#
-
-use strict;
-use warnings;
-use cproton_perl;
-
-package qpid::proton::Errors;
-
-

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/lib/qpid/proton/ExceptionHandling.pm
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/lib/qpid/proton/ExceptionHandling.pm b/proton-c/bindings/perl/lib/qpid/proton/ExceptionHandling.pm
deleted file mode 100644
index 00cdab1..0000000
--- a/proton-c/bindings/perl/lib/qpid/proton/ExceptionHandling.pm
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# 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.
-#
-
-use strict;
-use warnings;
-use cproton_perl;
-use Switch;
-
-use feature qw(switch);
-
-package qpid::proton;
-
-sub check_for_error {
-    my $rc = $_[0];
-
-    switch($rc) {
-            case 'qpid::proton::Errors::NONE' {next;}
-            case 'qpid::proton::Errors::EOS' {next;}
-            case 'qpid::proton::Errors::ERROR' {next;}
-            case 'qpid::proton::Errors::OVERFLOW' {next;}
-            case 'qpid::proton::Errors::UNDERFLOW' {next;}
-            case 'qpid::proton::Errors::STATE' {next;}
-            case 'qpid::proton::Errors::ARGUMENT' {next;}
-            case 'qpid::proton::Errors::TIMEOUT' {next;}
-            case 'qpid::proton::Errors::INTERRUPTED' {
-                my $source = $_[1];
-                my $trace = Devel::StackTrace->new;
-
-                print $trace->as_string;
-                die "ERROR[$rc]" . $source->get_error() . "\n";
-            }
-    }
-}
-
-package qpid::proton::ExceptionHandling;
-
-1;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/0c9bb9ff/proton-c/bindings/perl/lib/qpid/proton/Mapping.pm
----------------------------------------------------------------------
diff --git a/proton-c/bindings/perl/lib/qpid/proton/Mapping.pm b/proton-c/bindings/perl/lib/qpid/proton/Mapping.pm
deleted file mode 100644
index 924774e..0000000
--- a/proton-c/bindings/perl/lib/qpid/proton/Mapping.pm
+++ /dev/null
@@ -1,121 +0,0 @@
-#
-# 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.
-#
-
-use qpid_proton;
-
-package qpid::proton::Mapping;
-
-our %by_type_value = ();
-
-sub new {
-    my ($class) = @_;
-    my ($self) = {};
-
-    my $name       = $_[1];
-    my $type_value = $_[2];
-    my $set_method = $_[3];
-    my $get_method = $_[4];
-
-    $self->{_name}       = $name;
-    $self->{_type_value} = $type_value;
-    $self->{_set_method} = $set_method;
-    $self->{_get_method} = $get_method;
-
-    bless $self, $class;
-
-    $qpid::proton::Mapping::by_type_value{$type_value} = $self;
-
-    return $self;
-}
-
-use overload (
-    '""' => \& stringify,
-    '==' => \& equals,
-    );
-
-sub stringify {
-    my ($self) = @_;
-    return $self->{_name};
-}
-
-sub equals {
-    my ($self) = @_;
-    my $that = $_[1];
-
-    return ($self->get_type_value == $that->get_type_value);
-}
-
-sub getter_method {
-    my ($self) = @_;
-
-    return $self->{_get_method};
-}
-
-sub get_type_value {
-    my ($self) = @_;
-    my $type_value = $self->{_type_value};
-
-    return $self->{_type_value};
-}
-
-=pod
-
-=head1 MARSHALLING DATA
-
-I<Mapping> can move data automatically into and out of a I<Data> object.
-
-=over
-
-=item $mapping->put( [DATA], [VALUE] );
-
-=item $mapping->get( [DATA] );
-
-=back
-
-=cut
-
-sub put {
-    my ($self) = @_;
-    my $data = $_[1];
-    my $value = $_[2];
-    my $setter_method = $self->{_set_method};
-
-    $data->$setter_method($value);
-}
-
-sub get {
-    my ($self) = @_;
-    my $data = $_[1];
-    my $getter_method = $self->{_get_method};
-
-    my $result = $data->$getter_method;
-
-    return $result;
-}
-
-sub find_by_type_value {
-    my $type_value = $_[1];
-
-    return undef if !defined($type_value);
-
-    return $qpid::proton::Mapping::by_type_value{$type_value};
-}
-
-1;
-


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