http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/python/setup.py.in
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/setup.py.in 
b/proton-c/bindings/python/setup.py.in
deleted file mode 100755
index 57f4368..0000000
--- a/proton-c/bindings/python/setup.py.in
+++ /dev/null
@@ -1,323 +0,0 @@
-#!/usr/bin/env python
-#
-# 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.
-
-"""
-python-qpid-proton setup script
-
-DISCLAIMER: This script took lots of inspirations from PyZMQ, which is licensed
-under the 'MODIFIED BSD LICENSE'.
-
-Although inspired by the work in PyZMQ, this script and the modules it depends
-on were largely simplified to meet the requirements of the library.
-
-The behavior of this script is to build the registered `_cproton` extension
-using the installed Qpid Proton C library and header files. If the library and
-headers are not installed, or the installed version does not match the version
-of these python bindings, then the script will attempt to build the extension
-using the Proton C sources included in the python source distribution package.
-
-While the above removes the need of *always* having Qpid Proton C development
-files installed, it does not solve the need of having `swig` and the libraries
-qpid-proton requires installed to make this setup work.
-
-From the Python side, this scripts overrides 1 command - build_ext - and it 
adds a
-new one. The latter - Configure - is called from the former to setup/discover 
what's
-in the system. The rest of the comands and steps are done normally without any 
kind
-of monkey patching.
-"""
-
-import glob
-import os
-import subprocess
-import sys
-
-import distutils.spawn as ds_spawn
-import distutils.sysconfig as ds_sys
-from distutils.ccompiler import new_compiler, get_default_compiler
-from distutils.core import setup, Extension
-from distutils.command.build import build
-from distutils.command.build_ext import build_ext
-from distutils.command.sdist import sdist
-from distutils import errors
-
-from setuputils import log
-from setuputils import misc
-
-
-_PROTON_VERSION=(@PN_VERSION_MAJOR@,
-                 @PN_VERSION_MINOR@,
-                 @PN_VERSION_POINT@)
-_PROTON_VERSION_STR = "%d.%d.%d" % _PROTON_VERSION
-
-
-class CheckSDist(sdist):
-
-    def run(self):
-        self.distribution.run_command('configure')
-
-        # Append the source that was removed during
-        # the configuration step.
-        _cproton = self.distribution.ext_modules[-1]
-        _cproton.sources.append('cproton.i')
-
-        try:
-            sdist.run(self)
-        finally:
-            for src in ['cproton.py', 'cproton_wrap.c']:
-                if os.path.exists(src):
-                    os.remove(src)
-
-
-class Configure(build_ext):
-    description = "Discover Qpid Proton version"
-
-    @property
-    def compiler_type(self):
-        compiler = self.compiler
-        if compiler is None:
-            return get_default_compiler()
-        elif isinstance(compiler, str):
-            return compiler
-        else:
-            return compiler.compiler_type
-
-    def prepare_swig_wrap(self):
-        """Run swig against the sources.  This will cause swig to compile the
-        cproton.i file into a .c file called cproton_wrap.c, and create
-        cproton.py.
-        """
-        ext = self.distribution.ext_modules[-1]
-
-        if 'SWIG' in os.environ:
-            self.swig = os.environ['SWIG']
-
-        try:
-            # This will actually call swig to generate the files
-            # and list the sources.
-            self.swig_sources(ext.sources, ext)
-        except (errors.DistutilsExecError, errors.DistutilsPlatformError) as e:
-            if not (os.path.exists('cproton_wrap.c') or
-                    os.path.exists('cproton.py')):
-                raise e
-
-        # now remove the cproton.i file from the source list so we don't run
-        # swig again.
-        ext.sources = ext.sources[1:]
-        ext.swig_opts = []
-
-    def use_bundled_proton(self):
-        """The proper version of libqpid-proton is not installed on the system,
-        so use the included proton-c sources to build the extension
-        """
-        log.info("Building the bundled proton-c sources into the extension")
-
-        setup_path = os.path.dirname(os.path.realpath(__file__))
-        base = self.get_finalized_command('build').build_base
-        build_include = os.path.join(base, 'include')
-        proton_base = os.path.abspath(os.path.join(setup_path, 'proton-c'))
-        proton_src = os.path.join(proton_base, 'src')
-        proton_include = os.path.join(proton_base, 'include')
-
-        log.debug("Using Proton C sources: %s" % proton_base)
-
-        # Collect all the Proton C files that need to be built.
-        # we could've used `glob(.., '*', '*.c')` but I preferred going
-        # with an explicit list of subdirs that we can control and expand
-        # depending on the version. Specifically, lets avoid adding things
-        # we don't need.
-
-        sources = []
-        for subdir in ['core', 'core/object', 'compiler',
-                       'extra', 'message', 'reactor', 'messenger', 'handlers',
-                       'platform', 'reactor/io/posix']:
-
-            sources.extend(glob.glob(os.path.join(proton_src, subdir, '*.c')))
-
-        sources.extend(filter(lambda x: not x.endswith('dump.c'),
-                       glob.iglob(os.path.join(proton_src, '*.c'))))
-
-        # Look for any optional libraries that proton needs, and adjust the
-        # source list and compile flags as necessary.
-        libraries = []
-
-        # -D flags (None means no value, just define)
-        macros=[('qpid_proton_EXPORTS', None),
-                ('USE_ATOLL', None),
-                ('USE_STRERROR_R', None)]
-
-        # Check whether openssl is installed by poking
-        # pkg-config for a minimum version 0. If it's installed, it should
-        # return True and we'll use it. Otherwise, we'll use the stub.
-        if misc.pkg_config_version_installed('openssl', atleast='0'):
-            libraries += ['ssl', 'crypto']
-            sources.append(os.path.join(proton_src, 'ssl', 'openssl.c'))
-        else:
-            sources.append(os.path.join(proton_src, 'ssl', 'ssl_stub.c'))
-            log.warn("OpenSSL not installed - disabling SSL support!")
-
-        # create a temp compiler to check for optional compile-time features
-        cc = new_compiler(compiler=self.compiler_type)
-        cc.output_dir = self.build_temp
-
-        # Some systems need to link to `rt`. Check whether `clock_gettime` is
-        # around and if librt is needed
-        if cc.has_function('clock_gettime'):
-            macros.append(('USE_CLOCK_GETTIME', None))
-        else:
-            if cc.has_function('clock_gettime', libraries=['rt']):
-                libraries.append('rt')
-                macros.append(('USE_CLOCK_GETTIME', None))
-
-        # 0.10 added an implementation for cyrus. Check
-        # if it is available before adding the implementation to the sources
-        # list. Eventually, `sasl.c` will be added and one of the existing
-        # implementations will be used.
-        if cc.has_function('sasl_client_done', includes=['sasl/sasl.h'],
-                           libraries=['sasl2']):
-            libraries.append('sasl2')
-            sources.append(os.path.join(proton_src, 'sasl', 'cyrus_sasl.c'))
-        else:
-            sources.append(os.path.join(proton_src, 'sasl', 'none_sasl.c'))
-            log.warn("Cyrus SASL not installed - only the ANONYMOUS and"
-                     " PLAIN mechanisms will be supported!")
-        sources.append(os.path.join(proton_src, 'sasl', 'sasl.c'))
-
-        # compile all the proton sources.  We'll add the resulting list of
-        # objects to the _cproton extension as 'extra objects'.  We do this
-        # instead of just lumping all the sources into the extension to prevent
-        # any proton-specific compilation flags from affecting the compilation
-        # of the generated swig code
-
-        cc = new_compiler(compiler=self.compiler_type)
-        ds_sys.customize_compiler(cc)
-
-        objects = cc.compile(sources,
-                             macros=macros,
-                             include_dirs=[build_include,
-                                           proton_include,
-                                           proton_src],
-                             # compiler command line options:
-                             extra_postargs=['-std=gnu99'],
-                             output_dir=self.build_temp)
-
-        #
-        # Now update the _cproton extension instance passed to setup to include
-        # the objects and libraries
-        #
-        _cproton = self.distribution.ext_modules[-1]
-        _cproton.extra_objects = objects
-        _cproton.include_dirs.append(build_include)
-        _cproton.include_dirs.append(proton_include)
-
-        # swig will need to access the proton headers:
-        _cproton.swig_opts.append('-I%s' % build_include)
-        _cproton.swig_opts.append('-I%s' % proton_include)
-
-        # lastly replace the libqpid-proton dependency with libraries required
-        # by the Proton objects:
-        _cproton.libraries=libraries
-
-    def libqpid_proton_installed(self, version):
-        """Check to see if the proper version of the Proton development library
-        and headers are already installed
-        """
-        return misc.pkg_config_version_installed('libqpid-proton', version)
-
-    def use_installed_proton(self):
-        """The Proton development headers and library are installed, update the
-        _cproton extension to tell it where to find the library and headers.
-        """
-        # update the Extension instance passed to setup() to use the installed
-        # headers and link library
-        _cproton = self.distribution.ext_modules[-1]
-        incs = misc.pkg_config_get_var('libqpid-proton', 'includedir')
-        for i in incs.split():
-            _cproton.swig_opts.append('-I%s' % i)
-            _cproton.include_dirs.append(i)
-        ldirs = misc.pkg_config_get_var('libqpid-proton', 'libdir')
-        _cproton.library_dirs.extend(ldirs.split())
-
-    def run(self):
-        # check if the Proton library and headers are installed and are
-        # compatible with this version of the binding.
-        if self.libqpid_proton_installed(_PROTON_VERSION_STR):
-            self.use_installed_proton()
-        else:
-            # Proton not installed or compatible, use bundled proton-c sources
-            self.use_bundled_proton()
-        self.prepare_swig_wrap()
-
-
-class CustomBuildOrder(build):
-    # The sole purpose of this class is to re-order
-    # the commands execution so that `build_ext` is executed *before*
-    # build_py. We need this to make sure `cproton.py` is generated
-    # before the python modules are collected. Otherwise, it won't
-    # be installed.
-    sub_commands = [
-        ('build_ext', build.has_ext_modules),
-        ('build_py', build.has_pure_modules),
-        ('build_clib', build.has_c_libraries),
-        ('build_scripts', build.has_scripts),
-    ]
-
-
-class CheckingBuildExt(build_ext):
-    """Subclass build_ext to build qpid-proton using `cmake`"""
-
-    def run(self):
-        # Discover qpid-proton in the system
-        self.distribution.run_command('configure')
-        build_ext.run(self)
-
-
-# Override `build_ext` and add `configure`
-cmdclass = {'configure': Configure,
-            'build': CustomBuildOrder,
-            'build_ext': CheckingBuildExt,
-            'sdist': CheckSDist}
-
-setup(name='python-qpid-proton',
-      version=_PROTON_VERSION_STR + os.environ.get('PROTON_VERSION_SUFFIX', 
''),
-      description='An AMQP based messaging library.',
-      author='Apache Qpid',
-      author_email='pro...@qpid.apache.org',
-      url='http://qpid.apache.org/proton/',
-      packages=['proton'],
-      py_modules=['cproton'],
-      license="Apache Software License",
-      classifiers=["License :: OSI Approved :: Apache Software License",
-                   "Intended Audience :: Developers",
-                   "Programming Language :: Python",
-                   "Programming Language :: Python :: 2",
-                   "Programming Language :: Python :: 2.6",
-                   "Programming Language :: Python :: 2.7",
-                   "Programming Language :: Python :: 3",
-                   "Programming Language :: Python :: 3.3",
-                   "Programming Language :: Python :: 3.4",
-                   "Programming Language :: Python :: 3.5"],
-      cmdclass=cmdclass,
-      # Note well: the following extension instance is modified during the
-      # installation!  If you make changes below, you may need to update the
-      # Configure class above
-      ext_modules=[Extension('_cproton',
-                             sources=['cproton.i', 'cproton_wrap.c'],
-                             swig_opts=['-threads'],
-                             extra_compile_args=['-pthread'],
-                             libraries=['qpid-proton'])])

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/python/setuputils/PYZMQ_LICENSE.BSD
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/setuputils/PYZMQ_LICENSE.BSD 
b/proton-c/bindings/python/setuputils/PYZMQ_LICENSE.BSD
deleted file mode 100644
index a0a3790..0000000
--- a/proton-c/bindings/python/setuputils/PYZMQ_LICENSE.BSD
+++ /dev/null
@@ -1,32 +0,0 @@
-PyZMQ is licensed under the terms of the Modified BSD License (also known as
-New or Revised BSD), as follows:
-
-Copyright (c) 2009-2012, Brian Granger, Min Ragan-Kelley
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-Neither the name of PyZMQ nor the names of its contributors may be used to
-endorse or promote products derived from this software without specific prior
-written permission.
-
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/python/setuputils/__init__.py
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/setuputils/__init__.py 
b/proton-c/bindings/python/setuputils/__init__.py
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/python/setuputils/log.py
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/setuputils/log.py 
b/proton-c/bindings/python/setuputils/log.py
deleted file mode 100644
index f11b255..0000000
--- a/proton-c/bindings/python/setuputils/log.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#-----------------------------------------------------------------------------
-#  Copyright (C) PyZMQ Developers
-#  Distributed under the terms of the Modified BSD License.
-#
-#  This bundling code is largely adapted from pyzmq-static's get.sh by
-#  Brandon Craig-Rhodes, which is itself BSD licensed.
-#-----------------------------------------------------------------------------
-
-#-----------------------------------------------------------------------------
-# Logging (adapted from h5py: http://h5py.googlecode.com)
-#-----------------------------------------------------------------------------
-
-#-----------------------------------------------------------------------------
-#  This log code is largely adapted from pyzmq's code
-#  PyZMQ Developers, which is itself Modified BSD licensed.
-#-----------------------------------------------------------------------------
-
-
-import os
-import sys
-import logging
-
-
-logger = logging.getLogger()
-if os.environ.get('DEBUG'):
-    logger.setLevel(logging.DEBUG)
-else:
-    logger.setLevel(logging.INFO)
-logger.addHandler(logging.StreamHandler(sys.stderr))
-
-
-def debug(msg):
-    logger.debug(msg)
-
-
-def info(msg):
-    logger.info(msg)
-
-
-def fatal(msg, code=1):
-    logger.error("Fatal: " + msg)
-    exit(code)
-
-
-def warn(msg):
-    logger.error("Warning: " + msg)

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/python/setuputils/misc.py
----------------------------------------------------------------------
diff --git a/proton-c/bindings/python/setuputils/misc.py 
b/proton-c/bindings/python/setuputils/misc.py
deleted file mode 100644
index 54a8fde..0000000
--- a/proton-c/bindings/python/setuputils/misc.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#-----------------------------------------------------------------------------
-#  Copyright (C) PyZMQ Developers
-#  Distributed under the terms of the Modified BSD License.
-#
-#  This bundling code is largely adapted from pyzmq-static's get.sh by
-#  Brandon Craig-Rhodes, which is itself BSD licensed.
-#-----------------------------------------------------------------------------
-
-#-----------------------------------------------------------------------------
-#  These functions were largely adapted from pyzmq's code
-#  PyZMQ Developers, which is itself Modified BSD licensed.
-#-----------------------------------------------------------------------------
-
-
-import errno
-import os
-import subprocess
-import sys
-
-from . import log
-
-def _call_pkg_config(args):
-    """Spawn a subprocess running pkg-config with the given args.
-
-    :param args: list of strings to pass to pkg-config's command line.
-    Refer to pkg-config's documentation for more detail.
-
-    Return the Popen object, or None if the command failed
-    """
-    try:
-        return subprocess.Popen(['pkg-config'] + args,
-                                stdout=subprocess.PIPE, stderr=subprocess.PIPE,
-                                universal_newlines=True)
-    except OSError as e:
-        if e.errno == errno.ENOENT:
-            log.warn("command not found: pkg-config")
-        else:
-            log.warn("Running pkg-config failed - %s." % e)
-    return None
-
-
-
-def pkg_config_version_installed(package, version=None, atleast=None):
-    """Check if version of a package is is installed
-
-    This function returns True/False depending on whether
-    the package is found and is the correct version.
-
-    :param version: The exact version of the package required
-    :param atleast: True if installed package is at least this version
-    """
-
-    if version is None and atleast is None:
-        log.fatal('package version string required')
-    elif version and atleast:
-        log.fatal('Specify either version or atleast, not both')
-
-    check = 'exact' if version else 'atleast'
-    p = _call_pkg_config(['--%s-version=%s' % (check,
-                                               version or atleast),
-                          package])
-    if p:
-        out,err = p.communicate()
-        if p.returncode:
-            log.info("Did not find %s via pkg-config: %s" % (package, err))
-            return False
-        log.info("Using %s version %s (found via pkg-config)" %
-                 (package,
-                  _call_pkg_config(['--modversion', 
package]).communicate()[0]))
-        return True
-    return False
-
-
-def pkg_config_get_var(package, name):
-    """Retrieve the value of the named package variable as a string
-    """
-    p = _call_pkg_config(['--variable=%s' % name, package])
-    if not p:
-        log.warn("pkg-config: var %s get failed, package %s", name, package)
-        return ""
-    out,err = p.communicate()
-    if p.returncode:
-        out = ""
-        log.warn(err)
-    return out
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/.gitignore
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/.gitignore 
b/proton-c/bindings/ruby/.gitignore
deleted file mode 100644
index 153f4ae..0000000
--- a/proton-c/bindings/ruby/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-coverage
-ext/cproton/cproton.c
-html
-lib/*.so
-pkg
-tmp

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/.yardopts
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/.yardopts b/proton-c/bindings/ruby/.yardopts
deleted file mode 100644
index bea5abe..0000000
--- a/proton-c/bindings/ruby/.yardopts
+++ /dev/null
@@ -1 +0,0 @@
---no-private lib/**/*.rb

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/CMakeLists.txt 
b/proton-c/bindings/ruby/CMakeLists.txt
deleted file mode 100644
index 05c2a72..0000000
--- a/proton-c/bindings/ruby/CMakeLists.txt
+++ /dev/null
@@ -1,96 +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.
-#
-
-if (NOT DEFAULT_RUBY_TESTING)
-  message(FATAL_ERROR "Ruby bindings cannot be tested while missing 
dependencies")
-endif (NOT DEFAULT_RUBY_TESTING)
-list(APPEND SWIG_MODULE_cproton-ruby_EXTRA_DEPS
-    ${CMAKE_SOURCE_DIR}/proton-c/include/proton/cproton.i
-    ${PROTON_HEADERS}
-)
-
-include_directories (${RUBY_INCLUDE_PATH})
-swig_add_module(cproton-ruby ruby ruby.i)
-swig_link_libraries(cproton-ruby ${BINDING_DEPS} ${RUBY_LIBRARY})
-
-# set a compiler macro to relay the Ruby version to the extension.
-# Don't use the global CMAKE_C_FLAGS, -fvisibility=hidden causes an obscure
-# failure with release builds.
-string(REPLACE "." "" CFLAG_RUBY_VERSION "${RUBY_VERSION}")
-string(SUBSTRING "${CFLAG_RUBY_VERSION}" 0 2 CFLAG_RUBY_VERSION)
-set(CMAKE_C_FLAGS "-DRUBY${CFLAG_RUBY_VERSION}")
-
-set_target_properties(cproton-ruby
-    PROPERTIES
-    PREFIX ""
-    OUTPUT_NAME "cproton"
-    LINK_FLAGS "${CATCH_UNDEFINED}" )
-
-if (CHECK_SYSINSTALL_RUBY)
-  execute_process(COMMAND ${RUBY_EXECUTABLE}
-    -r rbconfig -e "print RbConfig::CONFIG['vendorarchdir'] || ''"
-    RESULT_VARIABLE RESULT_RUBY_ARCHLIB_DIR
-    OUTPUT_VARIABLE OUTPUT_RUBY_ARCHLIB_DIR)
-
-  if(OUTPUT_RUBY_ARCHLIB_DIR STREQUAL "")
-    execute_process(COMMAND ${RUBY_EXECUTABLE}
-      -r rbconfig -e "print RbConfig::CONFIG['archdir'] || ''"
-      RESULT_VARIABLE RESULT_RUBY_ARCHLIB_DIR
-      OUTPUT_VARIABLE OUTPUT_RUBY_ARCHLIB_DIR)
-  endif()
-
-  set(RUBY_ARCHLIB_DIR_DEFAULT "${OUTPUT_RUBY_ARCHLIB_DIR}")
-else (CHECK_SYSINSTALL_RUBY)
-  set (RUBY_ARCHLIB_DIR_DEFAULT ${BINDINGS_DIR}/ruby)
-endif (CHECK_SYSINSTALL_RUBY)
-
-if (NOT RUBY_ARCHLIB_DIR)
-  set (RUBY_ARCHLIB_DIR ${RUBY_ARCHLIB_DIR_DEFAULT})
-endif()
-
-install(TARGETS cproton-ruby
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(FILES lib/qpid_proton.rb
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/codec
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/core
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/event
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/handler
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/messenger
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/reactor
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/types
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)
-install(DIRECTORY lib/util
-        DESTINATION ${RUBY_ARCHLIB_DIR}
-        COMPONENT Ruby)

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/ChangeLog
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/ChangeLog b/proton-c/bindings/ruby/ChangeLog
deleted file mode 100644
index ec0429e..0000000
--- a/proton-c/bindings/ruby/ChangeLog
+++ /dev/null
@@ -1,36 +0,0 @@
-Version 0.7:
-       * PROTON-452: Exposed Messenger interrupt method.
-       * PROTON-454: Add route method to Messenger.
-       * PROTON-455: Add rewrite method to Messenger.
-       * PROTON-456: Add password property to Messenger.
-
-Version 0.6:
-       * PROTON-427: Removed the flag argument from Messenger.settle.
-
-version 0.5:
-       * Duck typed the Array class to work with Qpid::Proton::Data.
-       * Duck typed the Hash class to work with Qpid::Proton::Data.
-       * Fixed broken Rspec tests due to changes in under Proton C.
-         - Messenger.receive can accept a negative maximum
-         - When testing bad subscribe attempts, tests now use a random string.
-       * Fixed encoding decimal128 values.
-       * Added properties field to Qpid::Proton::Message.
-       * Hashes are now automatically encoded into Data objects.
-       * Fixed encoding Time objects.
-       * Added instructions field to Qpid::Proton::Message.
-       * Added annotations field to Qpid::Proton::Message.
-       * Fixed encoding Symbol objects.
-       * Added body field to Qpid::Proton::Message.
-
-version 0.4:
-       * No language-specific features developed in this release.
-
-version 0.3:
-       * No language-specific features developed in this release.
-       * Dropped the Rakefile in favor of packaging with a gemspec.
-       * Removed the qpid_proton/version.rb file as unused.
-
-version 0.2:
-       * First implementation of the stable APIs on top of swig.
-       * Wrote the Rspec tests to test the new APIs.
-       * Added SimpleCov support to monitor Rspec test coverage.

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/LICENSE
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/LICENSE b/proton-c/bindings/ruby/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/proton-c/bindings/ruby/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-j/blob/2f85988e/proton-c/bindings/ruby/README.rdoc
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/README.rdoc 
b/proton-c/bindings/ruby/README.rdoc
deleted file mode 100644
index 1663957..0000000
--- a/proton-c/bindings/ruby/README.rdoc
+++ /dev/null
@@ -1,31 +0,0 @@
-Qpid Proton Ruby Language Bindings
-==================================
-
-The Ruby code contained here provides Ruby language bindings for working
-with the Proton messaging framework.
-
-
-Creating The Bindings
-=====================
-
-To generate the bindings, you will need to have the Proton messaging
-libraries installed. You will also need to have Swig [1].
-
-To generate the bindings, simply type:
-
-    gem build qpid_proton.gemspec
-
-This will generate the Ruby wrapper for the C libraries and bundle them,
-along with the public APIs, into a gemfile. You can then install that
-gem file using:
-
-    gem install qpid_proton-##.gem
-
-where ## is the release version.
-
-[1] http://www.swig.org/
-
-KNOWN ISSUES
-============
-
- * Setting a pn_atom_t of type String to a nil returns an empty string.

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/TODO
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/TODO b/proton-c/bindings/ruby/TODO
deleted file mode 100644
index 80e0272..0000000
--- a/proton-c/bindings/ruby/TODO
+++ /dev/null
@@ -1,14 +0,0 @@
-Proton Ruby bindings TODO List
-========================================================================
-
-Beyond this simple laundry list, you can find the list of bugs and
-enhacements to be fixed by going to Apache Proton JIRA instance:
-
-    https://issues.apache.org/jira/browse/PROTON
-
-Fixes & Improvements
-========================================================================
-* Fix the data mangling that occurs at specific lengths.
-* Find a better way to map between nil/empty strings for pn_atom_t.
-* Fill out the remaining tests for Qpid::Proton::Messenger
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/ext/cproton/extconf.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/ext/cproton/extconf.rb 
b/proton-c/bindings/ruby/ext/cproton/extconf.rb
deleted file mode 100644
index 6c9500b..0000000
--- a/proton-c/bindings/ruby/ext/cproton/extconf.rb
+++ /dev/null
@@ -1,48 +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.
-#
-
-require 'mkmf'
-
-# set the ruby version compiler flag
-runtime_version = RUBY_VERSION.gsub(/\./,'')[0,2]
-$CFLAGS << " -DRUBY#{runtime_version}"
-
-dir_config("qpid-proton")
-
-REQUIRED_LIBRARIES = [
-                      "qpid-proton",
-                     ]
-
-REQUIRED_LIBRARIES.each do |library|
-  abort "Missing library: #{library}" unless have_library library
-end
-
-REQUIRED_HEADERS = [
-                    "proton/engine.h",
-                    "proton/message.h",
-                    "proton/sasl.h",
-                    "proton/messenger.h"
-                   ]
-
-REQUIRED_HEADERS.each do |header|
-  abort "Missing header: #{header}" unless have_header header
-end
-
-create_makefile('cproton')
-

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/lib/codec/data.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/codec/data.rb 
b/proton-c/bindings/ruby/lib/codec/data.rb
deleted file mode 100644
index 010177d..0000000
--- a/proton-c/bindings/ruby/lib/codec/data.rb
+++ /dev/null
@@ -1,912 +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 Qpid::Proton::Codec
-
-  # +DataError+ is raised when an error occurs while encoding
-  # or decoding data.
-  class DataError < Exception; end
-
-  # The +Data+ class provides an interface for decoding, extracting,
-  # creating, and encoding arbitrary AMQP data. A +Data+ object
-  # contains a tree of AMQP values. Leaf nodes in this tree correspond
-  # to scalars in the AMQP type system such as INT or STRING. Interior
-  # nodes in this tree correspond to compound values in the AMQP type
-  # system such as *LIST*,*MAP*, *ARRAY*, or *DESCRIBED*. The root node
-  # of the tree is the +Data+ object itself and can have an arbitrary
-  # number of children.
-  #
-  # A +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 #next, #prev,
-  # #enter, and #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 _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 added/modified node to the current
-  # node. The accessor methods read the value of the current node and do
-  # not change which node is current.
-  #
-  # The following types of scalar values are supported:
-  #
-  # * NULL
-  # * BOOL
-  # * UBYTE
-  # * BYTE
-  # * USHORT
-  # * SHORT
-  # * UINT
-  # * INT
-  # * CHAR
-  # * ULONG
-  # * LONG
-  # * TIMESTAMP
-  # * FLOAT
-  # * DOUBLE
-  # * DECIMAL32
-  # * DECIMAL64
-  # * DECIMAL128
-  # * UUID
-  # * BINARY
-  # * STRING
-  # * SYMBOL
-  #
-  # The following types of compound values are supported:
-  #
-  # * DESCRIBED
-  # * ARRAY
-  # * LIST
-  # * MAP
-  #
-  class Data
-
-    # Creates a new instance with the specified capacity.
-    #
-    # @param capacity [Fixnum, Object] The initial capacity or content.
-    #
-    def initialize(capacity = 16)
-      if (!capacity.nil?) &&
-         (capacity.is_a?(Fixnum) ||
-          capacity.is_a?(Bignum))
-        @data = Cproton.pn_data(capacity)
-        @free = true
-      else
-        @data = capacity
-        @free = false
-      end
-
-      # destructor
-      ObjectSpace.define_finalizer(self, self.class.finalize!(@data, @free))
-    end
-
-    # @private
-    def self.finalize!(data, free)
-      proc {
-        Cproton.pn_data_free(data) if free
-      }
-    end
-
-    # @private
-    def to_s
-      tmp = Cproton.pn_string("")
-      Cproton.pn_inspect(@data, tmp)
-      result = Cproton.pn_string_get(tmp)
-      Cproton.pn_free(tmp)
-      return result
-    end
-
-    # Clears the object.
-    #
-    def clear
-      Cproton.pn_data_clear(@data)
-    end
-
-    # Clears the current node and sets the parent to the root node.
-    #
-    # Clearing the current node sets it *before* the first node, calling
-    # #next will advance to the first node.
-    #
-    def rewind
-      Cproton.pn_data_rewind(@data)
-    end
-
-    # Advances the current node to its next sibling and returns its types.
-    #
-    # If there is no next sibling the current node remains unchanged
-    # and nil is returned.
-    #
-    def next
-      Cproton.pn_data_next(@data)
-    end
-
-    # 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 nil is return.
-    #
-    def prev
-      return Cproton.pn_data_prev(@data) ? type : nil
-    end
-
-    # Sets the parent node to the current node and clears the current node.
-    #
-    # Clearing the current node sets it _before_ the first child.
-    #
-    def enter
-      Cproton.pn_data_enter(@data)
-    end
-
-    # Sets the current node to the parent node and the parent node to its own
-    # parent.
-    #
-    def exit
-      Cproton.pn_data_exit(@data)
-    end
-
-    # Returns the numeric type code of the current node.
-    #
-    # @return [Fixnum] The current node type.
-    # @return [nil] If there is no current node.
-    #
-    def type_code
-      dtype = Cproton.pn_data_type(@data)
-      return (dtype == -1) ? nil : dtype
-    end
-
-    # Return the type object for the current node
-    #
-    # @param [Fixnum] The object type.
-    #
-    # @see #type_code
-    #
-    def type
-      Mapping.for_code(type_code)
-    end
-
-    # Returns a representation of the data encoded in AMQP format.
-    #
-    # @return [String] The context of the Data as an AMQP data string.
-    #
-    # @example
-    #
-    #   @data.string = "This is a test."
-    #   @encoded = @data.encode
-    #
-    #   # @encoded now contains the text "This is a test." encoded for
-    #   # AMQP transport.
-    #
-    def encode
-      buffer = "\0"*1024
-      loop do
-        cd = Cproton.pn_data_encode(@data, buffer, buffer.length)
-        if cd == Cproton::PN_OVERFLOW
-          buffer *= 2
-        elsif cd >= 0
-          return buffer[0...cd]
-        else
-          check(cd)
-        end
-      end
-    end
-
-    # Decodes the first value from supplied AMQP data and returns the number
-    # of bytes consumed.
-    #
-    # @param encoded [String] The encoded data.
-    #
-    # @example
-    #
-    #   # SCENARIO: A string of encoded data, @encoded, contains the text
-    #   #           of "This is a test." and is passed to an instance of Data
-    #   #           for decoding.
-    #
-    #   @data.decode(@encoded)
-    #   @data.string #=> "This is a test."
-    #
-    def decode(encoded)
-      check(Cproton.pn_data_decode(@data, encoded, encoded.length))
-    end
-
-    # Puts a list value.
-    #
-    # Elements may be filled by entering the list node and putting element
-    # values.
-    #
-    # @example
-    #
-    #   data = Qpid::Proton::Codec::Data.new
-    #   data.put_list
-    #   data.enter
-    #   data.int = 1
-    #   data.int = 2
-    #   data.int = 3
-    #   data.exit
-    #
-    def put_list
-      check(Cproton.pn_data_put_list(@data))
-    end
-
-    # If the current node is a list, this returns the number of elements.
-    # Otherwise, it returns zero.
-    #
-    # List elements can be accessed by entering the list.
-    #
-    # @example
-    #
-    #   count = @data.list
-    #   @data.enter
-    #   (0...count).each
-    #     type = @data.next
-    #     puts "Value: #{@data.string}" if type == STRING
-    #     # ... process other node types
-    #   end
-    def list
-      Cproton.pn_data_get_list(@data)
-    end
-
-    # Puts a map value.
-    #
-    # Elements may be filled by entering the map node and putting alternating
-    # key/value pairs.
-    #
-    # @example
-    #
-    #   data = Qpid::Proton::Codec::Data.new
-    #   data.put_map
-    #   data.enter
-    #   data.string = "key"
-    #   data.string = "value"
-    #   data.exit
-    #
-    def put_map
-      check(Cproton.pn_data_put_map(@data))
-    end
-
-    # If the  current node is a map, this returns the number of child
-    # elements. Otherwise, it returns zero.
-    #
-    # Key/value pairs can be accessed by entering the map.
-    #
-    # @example
-    #
-    #   count = @data.map
-    #   @data.enter
-    #   (0...count).each do
-    #     type = @data.next
-    #     puts "Key=#{@data.string}" if type == STRING
-    #     # ... process other key types
-    #     type = @data.next
-    #     puts "Value=#{@data.string}" if type == STRING
-    #     # ... process other value types
-    #   end
-    #   @data.exit
-    def map
-      Cproton.pn_data_get_map(@data)
-    end
-
-    # @private
-    def get_map
-      ::Hash.proton_data_get(self)
-    end
-
-    # 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 *described* then the first child value of the array
-    # is the descriptor and may be of any type.
-    #
-    # @param described [Boolean] True if the array is described.
-    # @param element_type [Fixnum] The AMQP type for each element of the array.
-    #
-    # @example
-    #
-    #   # create an array of integer values
-    #   data = Qpid::Proton::Codec::Data.new
-    #   data.put_array(false, INT)
-    #   data.enter
-    #   data.int = 1
-    #   data.int = 2
-    #   data.int = 3
-    #   data.exit
-    #
-    #   # create a described  array of double values
-    #   data.put_array(true, DOUBLE)
-    #   data.enter
-    #   data.symbol = "array-descriptor"
-    #   data.double = 1.1
-    #   data.double = 1.2
-    #   data.double = 1.3
-    #   data.exit
-    #
-    def put_array(described, element_type)
-      check(Cproton.pn_data_put_array(@data, described, element_type.code))
-    end
-
-    # If the current node is an array, returns a tuple of the element count, a
-    # boolean indicating whether the array is described, and the type of each
-    # element. Otherwise it returns +(0, false, nil).
-    #
-    # Array data can be accessed by entering the array.
-    #
-    # @example
-    #
-    #   # get the details of thecurrent array
-    #   count, described, array_type = @data.array
-    #
-    #   # enter the node
-    #   data.enter
-    #
-    #   # get the next node
-    #   data.next
-    #   puts "Descriptor: #{data.symbol}" if described
-    #   (0...count).each do
-    #     @data.next
-    #     puts "Element: #{@data.string}"
-    #   end
-    def array
-      count = Cproton.pn_data_get_array(@data)
-      described = Cproton.pn_data_is_array_described(@data)
-      array_type = Cproton.pn_data_get_array_type(@data)
-      return nil if array_type == -1
-      [count, described, Mapping.for_code(array_type) ]
-    end
-
-    # @private
-    def get_array
-      ::Array.proton_get(self)
-    end
-
-    # Puts a described value.
-    #
-    # A described node has two children, the descriptor and the value.
-    # These are specified by entering the node and putting the
-    # desired values.
-    #
-    # @example
-    #
-    #   data = Qpid::Proton::Codec::Data.new
-    #   data.put_described
-    #   data.enter
-    #   data.symbol = "value-descriptor"
-    #   data.string = "the value"
-    #   data.exit
-    #
-    def put_described
-      check(Cproton.pn_data_put_described(@data))
-    end
-
-    # @private
-    def get_described
-      raise TypeError, "not a described type" unless self.described?
-      self.enter
-      self.next
-      type = self.type
-      descriptor = type.get(self)
-      self.next
-      type = self.type
-      value = type.get(self)
-      self.exit
-      Qpid::Proton::Types::Described.new(descriptor, value)
-    end
-
-    # Checks if the current node is a described value.
-    #
-    # The described and value may be accessed by entering the described value.
-    #
-    # @example
-    #
-    #   if @data.described?
-    #     @data.enter
-    #     puts "The symbol is #{@data.symbol}"
-    #     puts "The value is #{@data.string}"
-    #   end
-    def described?
-      Cproton.pn_data_is_described(@data)
-    end
-
-    # Puts a null value.
-    #
-    def null
-      check(Cproton.pn_data_put_null(@data))
-    end
-
-    # Utility method for Qpid::Proton::Codec::Mapping
-    #
-    # @private
-    #
-    def null=(value)
-      null
-    end
-
-    # Puts an arbitrary object type.
-    #
-    # The Data instance will determine which AMQP type is appropriate and will
-    # use that to encode the object.
-    #
-    # @param object [Object] The value.
-    #
-    def object=(object)
-      Mapping.for_class(object.class).put(self, object)
-    end
-
-    # Gets the current node, based on how it was encoded.
-    #
-    # @return [Object] The current node.
-    #
-    def object
-      type = self.type
-      return nil if type.nil?
-      type.get(data)
-    end
-
-    # Checks if the current node is null.
-    #
-    # @return [Boolean] True if the node is null.
-    #
-    def null?
-      Cproton.pn_data_is_null(@data)
-    end
-
-    # Puts a boolean value.
-    #
-    # @param value [Boolean] The boolean value.
-    #
-    def bool=(value)
-      check(Cproton.pn_data_put_bool(@data, value))
-    end
-
-    # If the current node is a boolean, then it returns the value. Otherwise,
-    # it returns false.
-    #
-    # @return [Boolean] The boolean value.
-    #
-    def bool
-      Cproton.pn_data_get_bool(@data)
-    end
-
-    # Puts an unsigned byte value.
-    #
-    # @param value [Fixnum] The unsigned byte value.
-    #
-    def ubyte=(value)
-      check(Cproton.pn_data_put_ubyte(@data, value))
-    end
-
-    # If the current node is an unsigned byte, returns its value. Otherwise,
-    # it returns 0.
-    #
-    # @return [Fixnum] The unsigned byte value.
-    #
-    def ubyte
-      Cproton.pn_data_get_ubyte(@data)
-    end
-
-    # Puts a byte value.
-    #
-    # @param value [Fixnum] The byte value.
-    #
-    def byte=(value)
-      check(Cproton.pn_data_put_byte(@data, value))
-    end
-
-    # If the current node is an byte, returns its value. Otherwise,
-    # it returns 0.
-    #
-    # @return [Fixnum] The byte value.
-    #
-    def byte
-      Cproton.pn_data_get_byte(@data)
-    end
-
-    # Puts an unsigned short value.
-    #
-    # @param value [Fixnum] The unsigned short value
-    #
-    def ushort=(value)
-      check(Cproton.pn_data_put_ushort(@data, value))
-    end
-
-    # If the current node is an unsigned short, returns its value. Otherwise,
-    # it returns 0.
-    #
-    # @return [Fixnum] The unsigned short value.
-    #
-    def ushort
-      Cproton.pn_data_get_ushort(@data)
-    end
-
-    # Puts a short value.
-    #
-    # @param value [Fixnum] The short value.
-    #
-    def short=(value)
-      check(Cproton.pn_data_put_short(@data, value))
-    end
-
-    # If the current node is a short, returns its value. Otherwise,
-    # returns a 0.
-    #
-    # @return [Fixnum] The short value.
-    #
-    def short
-      Cproton.pn_data_get_short(@data)
-    end
-
-    # Puts an unsigned integer value.
-    #
-    # @param value [Fixnum] the unsigned integer value
-    #
-    def uint=(value)
-      raise TypeError if value.nil?
-      raise RangeError, "invalid uint: #{value}" if value < 0
-      check(Cproton.pn_data_put_uint(@data, value))
-    end
-
-    # If the current node is an unsigned int, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The unsigned integer value.
-    #
-    def uint
-      Cproton.pn_data_get_uint(@data)
-    end
-
-    # Puts an integer value.
-    #
-    # ==== Options
-    #
-    # * value - the integer value
-    def int=(value)
-      check(Cproton.pn_data_put_int(@data, value))
-    end
-
-    # If the current node is an integer, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The integer value.
-    #
-    def int
-      Cproton.pn_data_get_int(@data)
-    end
-
-    # Puts a character value.
-    #
-    # @param value [Fixnum] The character value.
-    #
-    def char=(value)
-      check(Cproton.pn_data_put_char(@data, value))
-    end
-
-    # If the current node is a character, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The character value.
-    #
-    def char
-      Cproton.pn_data_get_char(@data)
-    end
-
-    # Puts an unsigned long value.
-    #
-    # @param value [Fixnum] The unsigned long value.
-    #
-    def ulong=(value)
-      raise TypeError if value.nil?
-      raise RangeError, "invalid ulong: #{value}" if value < 0
-      check(Cproton.pn_data_put_ulong(@data, value))
-    end
-
-    # If the current node is an unsigned long, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The unsigned long value.
-    #
-    def ulong
-      Cproton.pn_data_get_ulong(@data)
-    end
-
-    # Puts a long value.
-    #
-    # @param value [Fixnum] The long value.
-    #
-    def long=(value)
-      check(Cproton.pn_data_put_long(@data, value))
-    end
-
-    # If the current node is a long, returns its value. Otherwise, returns 0.
-    #
-    # @return [Fixnum] The long value.
-    def long
-      Cproton.pn_data_get_long(@data)
-    end
-
-    # Puts a timestamp value.
-    #
-    # @param value [Fixnum] The timestamp value.
-    #
-    def timestamp=(value)
-      value = value.to_i if (!value.nil? && value.is_a?(Time))
-      check(Cproton.pn_data_put_timestamp(@data, value))
-    end
-
-    # If the current node is a timestamp, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The timestamp value.
-    #
-    def timestamp
-      Cproton.pn_data_get_timestamp(@data)
-    end
-
-    # Puts a float value.
-    #
-    # @param value [Float] The floating point value.
-    #
-    def float=(value)
-      check(Cproton.pn_data_put_float(@data, value))
-    end
-
-    # If the current node is a float, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Float] The floating point value.
-    #
-    def float
-      Cproton.pn_data_get_float(@data)
-    end
-
-    # Puts a double value.
-    #
-    # @param value [Float] The double precision floating point value.
-    #
-    def double=(value)
-      check(Cproton.pn_data_put_double(@data, value))
-    end
-
-    # If the current node is a double, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Float] The double precision floating point value.
-    #
-    def double
-      Cproton.pn_data_get_double(@data)
-    end
-
-    # Puts a decimal32 value.
-    #
-    # @param value [Fixnum] The decimal32 value.
-    #
-    def decimal32=(value)
-      check(Cproton.pn_data_put_decimal32(@data, value))
-    end
-
-    # If the current node is a decimal32, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The decimal32 value.
-    #
-    def decimal32
-      Cproton.pn_data_get_decimal32(@data)
-    end
-
-    # Puts a decimal64 value.
-    #
-    # @param value [Fixnum] The decimal64 value.
-    #
-    def decimal64=(value)
-      check(Cproton.pn_data_put_decimal64(@data, value))
-    end
-
-    # If the current node is a decimal64, returns its value. Otherwise,
-    # it returns 0.
-    #
-    # @return [Fixnum] The decimal64 value.
-    #
-    def decimal64
-      Cproton.pn_data_get_decimal64(@data)
-    end
-
-    # Puts a decimal128 value.
-    #
-    # @param value [Fixnum] The decimal128 value.
-    #
-    def decimal128=(value)
-      raise TypeError, "invalid decimal128 value: #{value}" if value.nil?
-      value = value.to_s(16).rjust(32, "0")
-      bytes = []
-      value.scan(/(..)/) {|v| bytes << v[0].to_i(16)}
-      check(Cproton.pn_data_put_decimal128(@data, bytes))
-    end
-
-    # If the current node is a decimal128, returns its value. Otherwise,
-    # returns 0.
-    #
-    # @return [Fixnum] The decimal128 value.
-    #
-    def decimal128
-      value = ""
-      Cproton.pn_data_get_decimal128(@data).each{|val| value += ("%02x" % val)}
-      value.to_i(16)
-    end
-
-    # Puts a +UUID+ value.
-    #
-    # The UUID is expected to be in the format of a string or else a 128-bit
-    # integer value.
-    #
-    # @param value [String, Numeric] A string or numeric representation of the 
UUID.
-    #
-    # @example
-    #
-    #   # set a uuid value from a string value
-    #   require 'securerandom'
-    #   @data.uuid = SecureRandom.uuid
-    #
-    #   # or
-    #   @data.uuid = "fd0289a5-8eec-4a08-9283-81d02c9d2fff"
-    #
-    #   # set a uuid value from a 128-bit value
-    #   @data.uuid = 0 # sets to 00000000-0000-0000-0000-000000000000
-    #
-    def uuid=(value)
-      raise ::ArgumentError, "invalid uuid: #{value}" if value.nil?
-
-      # if the uuid that was submitted was numeric value, then translated
-      # it into a hex string, otherwise assume it was a string represtation
-      # and attempt to decode it
-      if value.is_a? Numeric
-        value = "%032x" % value
-      else
-        raise ::ArgumentError, "invalid uuid: #{value}" if !valid_uuid?(value)
-
-        value = (value[0, 8]  +
-                 value[9, 4]  +
-                 value[14, 4] +
-                 value[19, 4] +
-                 value[24, 12])
-      end
-      bytes = []
-      value.scan(/(..)/) {|v| bytes << v[0].to_i(16)}
-      check(Cproton.pn_data_put_uuid(@data, bytes))
-    end
-
-    # If the current value is a +UUID+, returns its value. Otherwise,
-    # it returns nil.
-    #
-    # @return [String] The string representation of the UUID.
-    #
-    def uuid
-      value = ""
-      Cproton.pn_data_get_uuid(@data).each{|val| value += ("%02x" % val)}
-      value.insert(8, "-").insert(13, "-").insert(18, "-").insert(23, "-")
-    end
-
-    # Puts a binary value.
-    #
-    # A binary string is encoded as an ASCII 8-bit string value. This is in
-    # contranst to other strings, which are treated as UTF-8 encoded.
-    #
-    # @param value [String] An arbitrary string value.
-    #
-    # @see #string=
-    #
-    def binary=(value)
-      check(Cproton.pn_data_put_binary(@data, value))
-    end
-
-    # If the current node is binary, returns its value. Otherwise, it returns
-    # an empty string ("").
-    #
-    # @return [String] The binary string.
-    #
-    # @see #string
-    #
-    def binary
-      Qpid::Proton::Types::BinaryString.new(Cproton.pn_data_get_binary(@data))
-    end
-
-    # Puts a UTF-8 encoded string value.
-    #
-    # *NOTE:* A nil value is stored as an empty string rather than as a nil.
-    #
-    # @param value [String] The UTF-8 encoded string value.
-    #
-    # @see #binary=
-    #
-    def string=(value)
-      check(Cproton.pn_data_put_string(@data, value))
-    end
-
-    # If the current node is a string, returns its value. Otherwise, it
-    # returns an empty string ("").
-    #
-    # @return [String] The UTF-8 encoded string.
-    #
-    # @see #binary
-    #
-    def string
-      Qpid::Proton::Types::UTFString.new(Cproton.pn_data_get_string(@data))
-    end
-
-    # Puts a symbolic value.
-    #
-    # @param value [String] The symbolic string value.
-    #
-    def symbol=(value)
-      check(Cproton.pn_data_put_symbol(@data, value))
-    end
-
-    # If the current node is a symbol, returns its value. Otherwise, it
-    # returns an empty string ("").
-    #
-    # @return [String] The symbolic string value.
-    #
-    def symbol
-      Cproton.pn_data_get_symbol(@data)
-    end
-
-    # Get the current value as a single object.
-    #
-    # @return [Object] The current node's object.
-    #
-    # @see #type_code
-    # @see #type
-    #
-    def get
-      type.get(self);
-    end
-
-    # Puts a new value with the given type into the current node.
-    #
-    # @param value [Object] The value.
-    # @param type_code [Mapping] The value's type.
-    #
-    # @private
-    #
-    def put(value, type_code);
-      type_code.put(self, value);
-    end
-
-    private
-
-    def valid_uuid?(value)
-      # ensure that the UUID is in the right format
-      # xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
-      value =~ 
/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/
-    end
-
-    # @private
-    def check(err)
-      if err < 0
-        raise DataError, "[#{err}]: #{Cproton.pn_data_error(@data)}"
-      else
-        return err
-      end
-    end
-
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/lib/codec/mapping.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/codec/mapping.rb 
b/proton-c/bindings/ruby/lib/codec/mapping.rb
deleted file mode 100644
index 4a7d5a7..0000000
--- a/proton-c/bindings/ruby/lib/codec/mapping.rb
+++ /dev/null
@@ -1,169 +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 Qpid::Proton::Codec
-
-  # Maps between Proton types and their Ruby native language counterparts.
-  #
-  # @private
-  class Mapping
-
-    attr_reader :code
-    attr_reader :put_method
-    attr_reader :get_method
-
-    # Creates a new mapping.
-    #
-    # ==== Arguments
-    #
-    # * code    - the AMQP code for this type
-    # * name    - the AMQP name for this type
-    # * klasses - the Ruby classes for this type
-    # * getter  - overrides the get method for the type
-    def initialize(code, name, klasses = nil, getter = nil)
-
-      @debug = (name == "bool")
-
-      @code = code
-      @name = name
-
-      @@by_preferred ||= {}
-      @@by_code ||= {}
-      @@by_code["#{code}"] = self
-      @@by_name ||= {}
-      @@by_name[name] = self
-      @@by_class ||= {}
-
-      unless klasses.nil?
-        klasses.each do |klass|
-          raise "entry exists for #{klass}" if @@by_class.keys.include? klass
-          @@by_class[klass] = self unless klass.nil?
-        end
-      end
-
-      @put_method = (name + "=").intern
-
-      if getter.nil?
-        @get_method = name.intern
-      else
-        @get_method = getter.intern
-      end
-    end
-
-    def to_s; @name; end
-
-    def put(data, value)
-      data.__send__(@put_method, value)
-    end
-
-    def get(data)
-      data.__send__(@get_method)
-    end
-
-    def self.for_class(klass) # :nodoc:
-      @@by_class[klass]
-    end
-
-    def self.for_code(code)
-      @@by_code["#{code}"]
-    end
-
-  end
-
-  NULL       = Mapping.new(Cproton::PN_NULL, "null", [NilClass], "nil?")
-  BOOL       = Mapping.new(Cproton::PN_BOOL, "bool", [TrueClass, FalseClass], 
"bool")
-  UBYTE      = Mapping.new(Cproton::PN_UBYTE, "ubyte")
-  BYTE       = Mapping.new(Cproton::PN_BYTE, "byte")
-  USHORT     = Mapping.new(Cproton::PN_USHORT, "ushort")
-  SHORT      = Mapping.new(Cproton::PN_SHORT, "short")
-  UINT       = Mapping.new(Cproton::PN_UINT, "uint")
-  INT        = Mapping.new(Cproton::PN_INT, "int")
-  CHAR       = Mapping.new(Cproton::PN_CHAR, "char")
-  ULONG      = Mapping.new(Cproton::PN_ULONG, "ulong")
-  LONG       = Mapping.new(Cproton::PN_LONG, "long", [Fixnum, Bignum])
-  TIMESTAMP  = Mapping.new(Cproton::PN_TIMESTAMP, "timestamp", [Date, Time])
-  FLOAT      = Mapping.new(Cproton::PN_FLOAT, "float")
-  DOUBLE     = Mapping.new(Cproton::PN_DOUBLE, "double", [Float])
-  DECIMAL32  = Mapping.new(Cproton::PN_DECIMAL32, "decimal32")
-  DECIMAL64  = Mapping.new(Cproton::PN_DECIMAL64, "decimal64")
-  DECIMAL128 = Mapping.new(Cproton::PN_DECIMAL128, "decimal128")
-  UUID       = Mapping.new(Cproton::PN_UUID, "uuid")
-  BINARY     = Mapping.new(Cproton::PN_BINARY, "binary")
-  STRING     = Mapping.new(Cproton::PN_STRING, "string", [String, Symbol,
-                                                          
Qpid::Proton::Types::UTFString,
-                                                          
Qpid::Proton::Types::BinaryString])
-
-  # @private
-  class << STRING
-    def put(data, value)
-      # if we have a symbol then convert it to a string
-      value = value.to_s if value.is_a?(Symbol)
-
-      isutf = false
-
-      if value.is_a?(Qpid::Proton::Types::UTFString)
-        isutf = true
-      else
-        # For Ruby 1.8 we will just treat all strings as binary.
-        # For Ruby 1.9+ we can check the encoding first to see what it is
-        if RUBY_VERSION >= "1.9"
-          # If the string is ASCII-8BIT then treat is as binary. Otherwise,
-          # try to convert it to UTF-8 and, if successful, send as that.
-          if value.encoding != Encoding::ASCII_8BIT &&
-             value.encode(Encoding::UTF_8).valid_encoding?
-            isutf = true
-          end
-        end
-      end
-
-      data.string = value if isutf
-      data.binary = value if !isutf
-
-    end
-  end
-
-  SYMBOL     = Mapping.new(Cproton::PN_SYMBOL, "symbol")
-  DESCRIBED  = Mapping.new(Cproton::PN_DESCRIBED, "described", 
[Qpid::Proton::Types::Described], "get_described")
-  ARRAY      = Mapping.new(Cproton::PN_ARRAY, "array", nil, "get_array")
-  LIST       = Mapping.new(Cproton::PN_LIST, "list", [::Array], "get_array")
-  MAP        = Mapping.new(Cproton::PN_MAP, "map", [::Hash], "get_map")
-
-  # @private
-  class << MAP
-    def put(data, map, options = {})
-      data.put_map
-      data.enter
-      map.each_pair do |key, value|
-        if options[:keys] == :SYMBOL
-          SYMBOL.put(data, key)
-        else
-          Mapping.for_class(key.class).put(data, key)
-        end
-
-        if value.nil?
-          data.null
-        else
-          Mapping.for_class(value.class).put(data, value)
-        end
-      end
-      data.exit
-    end
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/lib/core/base_handler.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/core/base_handler.rb 
b/proton-c/bindings/ruby/lib/core/base_handler.rb
deleted file mode 100644
index 9a7ece4..0000000
--- a/proton-c/bindings/ruby/lib/core/base_handler.rb
+++ /dev/null
@@ -1,31 +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 Qpid::Proton
-
-  class BaseHandler
-
-    # Override to process unhandled events.
-    #
-    def on_unhandled(method, *args)
-    end
-
-  end
-
-end

http://git-wip-us.apache.org/repos/asf/qpid-proton-j/blob/2f85988e/proton-c/bindings/ruby/lib/core/connection.rb
----------------------------------------------------------------------
diff --git a/proton-c/bindings/ruby/lib/core/connection.rb 
b/proton-c/bindings/ruby/lib/core/connection.rb
deleted file mode 100644
index 252193d..0000000
--- a/proton-c/bindings/ruby/lib/core/connection.rb
+++ /dev/null
@@ -1,328 +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 Qpid::Proton
-
-  # A Connection option has at most one Qpid::Proton::Transport instance.
-  #
-  class Connection < Endpoint
-
-    # @private
-    include Util::SwigHelper
-
-    # @private
-    PROTON_METHOD_PREFIX = "pn_connection"
-
-    # @!attribute hostname
-    #
-    # @return [String] The AMQP hostname for the connection.
-    #
-    proton_accessor :hostname
-
-    # @private
-    proton_reader :attachments
-
-    attr_accessor :overrides
-    attr_accessor :session_policy
-
-    # @private
-    include Util::Wrapper
-
-    # @private
-    def self.wrap(impl)
-      return nil if impl.nil?
-
-      self.fetch_instance(impl, :pn_connection_attachments) || 
Connection.new(impl)
-    end
-
-    # Constructs a new instance of Connection.
-    #
-    # You do *not* need to provide the underlying C struct, as this is
-    # automatically generated as needed. The argument is a convenience
-    # for returning existing Connection objects.
-    #
-    # @param impl [pn_connection_t] The pn_connection_t struct.
-    #
-    def initialize(impl = Cproton.pn_connection)
-      super()
-      @impl = impl
-      @offered_capabilities = nil
-      @desired_capabilities = nil
-      @properties = nil
-      @overrides = nil
-      @collector = nil
-      @session_policy = nil
-      self.class.store_instance(self, :pn_connection_attachments)
-    end
-
-    def overrides?
-      !@overrides.nil?
-    end
-
-    def session_policy?
-      !@session_policy.nil?
-    end
-
-    # This method is used when working within the context of an event.
-    #
-    # @return [Connection] The connection itself.
-    #
-    def connection
-      self
-    end
-
-    # The Transport to which this connection is bound.
-    #
-    # @return [Transport] The transport, or nil if the Connection is unbound.
-    #
-    def transport
-      Transport.wrap(Cproton.pn_connection_transport(@impl))
-    end
-
-    # Associates the connection with an event collector.
-    #
-    # By doing this, key changes in the endpoint's state are reported to
-    # the connector via Event objects that can be inspected and processed.
-    #
-    # Note that, by registering a collector, the user is requesting that an
-    # indefinite number of events be queued up on its behalf. This means
-    # that, unless the application eventual processes these events, the
-    # storage requirements for keeping them will grow without bound. So be
-    # careful and do not register a collector with a connection unless the
-    # application will process the events.
-    #
-    # @param collector [Event::Collector] The event collector.
-    #
-    def collect(collector)
-      if collector.nil?
-        Cproton.pn_connection_collect(@impl, nil)
-      else
-        Cproton.pn_connection_collect(@impl, collector.impl)
-      end
-      @collector = collector
-    end
-
-    # Get the AMQP container name advertised by the remote connection
-    # endpoint.
-    #
-    # This will return nil until the REMOTE_ACTIVE state is reached.
-    #
-    # Any non-nil container returned by this operation will be valid
-    # until the connection is unbound from a transport, or freed,
-    # whichever happens sooner.
-    #
-    # @return [String] The remote connection's AMQP container name.
-    #
-    # @see #container
-    #
-    def remote_container
-      Cproton.pn_connection_remote_container(@impl)
-    end
-
-    def container=(name)
-      Cproton.pn_connection_set_container(@impl, name)
-    end
-
-    def container
-      Cproton.pn_connection_get_container(@impl)
-    end
-
-    # Get the AMQP hostname set by the remote connection endpoint.
-    #
-    # This will return nil until the #REMOTE_ACTIVE state is
-    # reached.
-    #
-    # @return [String] The remote connection's AMQP hostname.
-    #
-    # @see #hostname
-    #
-    def remote_hostname
-      Cproton.pn_connection_remote_hostname(@impl)
-    end
-
-    # Get the AMQP offered capabilities suppolied by the remote connection
-    # endpoint.
-    #
-    # This object returned is valid until the connection is freed. The Data
-    # object will be empty until the remote connection is opened, as
-    # indicated by the #REMOTE_ACTIVE flag.
-    #
-    # @return [Data] The offered capabilities.
-    #
-    def remote_offered_capabilities
-      data_to_object(Cproton.pn_connection_remote_offered_capabilities(@impl))
-    end
-
-    # Get the AMQP desired capabilities supplied by the remote connection
-    # endpoint.
-    #
-    # The object returned is valid until the connection is freed. The Data
-    # object will be empty until the remote connection is opened, as
-    # indicated by the #REMOTE_ACTIVE flag.
-    #
-    # @return [Data] The desired capabilities.
-    #
-    def remote_desired_capabilities
-      data_to_object(Cproton.pn_connection_remote_desired_capabilities(@impl))
-    end
-
-    # Get the AMQP connection properties supplie by the remote connection
-    # endpoint.
-    #
-    # The object returned is valid until the connection is freed. The Data
-    # object will be empty until the remote connection is opened, as
-    # indicated by the #REMOTE_ACTIVE flag.
-    #
-    # @return [Data] The remote properties.
-    #
-    def remote_properties
-      data_to_object(Cproton.pn_connection_remote_properites(@impl))
-    end
-
-    # Opens the connection.
-    #
-    def open
-      object_to_data(@offered_capabilities,
-                     Cproton.pn_connection_offered_capabilities(@impl))
-      object_to_data(@desired_capabilities,
-                     Cproton.pn_connection_desired_capabilities(@impl))
-      object_to_data(@properties,
-                     Cproton.pn_connection_properties(@impl))
-      Cproton.pn_connection_open(@impl)
-    end
-
-    # Closes the connection.
-    #
-    # Once this operation has completed, the #LOCAL_CLOSED state flag will be
-    # set.
-    #
-    def close
-      self._update_condition
-      Cproton.pn_connection_close(@impl)
-    end
-
-    # Gets the endpoint current state flags
-    #
-    # @see Endpoint#LOCAL_UNINIT
-    # @see Endpoint#LOCAL_ACTIVE
-    # @see Endpoint#LOCAL_CLOSED
-    # @see Endpoint#LOCAL_MASK
-    #
-    # @return [Fixnum] The state flags.
-    #
-    def state
-      Cproton.pn_connection_state(@impl)
-    end
-
-    # Returns the session for this connection.
-    #
-    # @return [Session] The session.
-    #
-    def session
-      @session ||= Session.wrap(Cproton.pn_session(@impl))
-    end
-
-    # Returns the first session from the connection that matches the specified
-    # state mask.
-    #
-    # Examines the state of each session owned by the connection, and returns
-    # the first session that matches the given state mask. If the state mask
-    # contains *both* local and remote flags, then an exact match against
-    # those flags is performed. If the state mask contains only local *or*
-    # remote flags, then a match occurs if a*any* of the local or remote flags
-    # are set, respectively.
-    #
-    # @param mask [Fixnum] The state mask to be matched.
-    #
-    # @return [Session] The first matching session, or nil if none matched.
-    #
-    # @see Endpoint#LOCAL_UNINIT
-    # @see Endpoint#LOCAL_ACTIVE
-    # @see Endpoint#LOCAL_CLOSED
-    # @see Endpoint#REMOTE_UNINIT
-    # @see Endpoint#REMOTE_ACTIVE
-    # @see Endpoint#REMOTE_CLOSED
-    #
-    def session_head(mask)
-      Session.wrap(Cproton.pn_session_header(@impl, mask))
-    end
-
-    # Returns the first link that matches the given state mask.
-    #
-    # Examines the state of each link owned by the connection and returns the
-    # first that matches the given state mask. If the state mask contains
-    # *both* local and remote flags, then an exact match against those flags
-    # is performed. If the state mask contains *only* local or remote flags,
-    # then a match occurs if *any* of the local ore remote flags are set,
-    # respectively.
-    #
-    # @param mask [Fixnum] The state mask to be matched.
-    #
-    # @return [Link] The first matching link, or nil if none matched.
-    #
-    # @see Endpoint#LOCAL_UNINIT
-    # @see Endpoint#LOCAL_ACTIVE
-    # @see Endpoint#LOCAL_CLOSED
-    # @see Endpoint#REMOTE_UNINIT
-    # @see Endpoint#REMOTE_ACTIVE
-    # @see Endpoint#REMOTE_CLOSED
-    #
-    def link_head(mask)
-      Link.wrap(Cproton.pn_link_head(@impl, mask))
-    end
-
-    # Extracts the first delivery on the connection that has pending
-    # operations.
-    #
-    # A readable delivery indicates message data is waiting to be read. A
-    # A writable delivery indcates that message data may be sent. An updated
-    # delivery indicates that the delivery's disposition has changed.
-    #
-    # A delivery will never be *both* readable and writable, but it may be
-    # both readable or writable and updated.
-    #
-    # @return [Delivery] The delivery, or nil if none are available.
-    #
-    # @see Delivery#next
-    #
-    def work_head
-      Delivery.wrap(Cproton.pn_work_head(@impl))
-    end
-
-    # Returns the code for a connection error.
-    #
-    # @return [Fixnum] The error code.
-    #
-    def error
-      Cproton.pn_error_code(Cproton.pn_connection_error(@impl))
-    end
-
-    # @private
-    def _local_condition
-      Cproton.pn_connection_condition(@impl)
-    end
-
-    # @private
-    def _remote_condition
-      Cproton.pn_connection_remote_condition(@impl)
-    end
-
-  end
-
-end


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

Reply via email to