You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2013/02/28 17:14:57 UTC

svn commit: r1451244 [2/45] - in /qpid/branches/asyncstore: ./ bin/ cpp/ cpp/bindings/ cpp/bindings/qmf/ cpp/bindings/qmf/python/ cpp/bindings/qmf/ruby/ cpp/bindings/qmf2/ cpp/bindings/qmf2/examples/cpp/ cpp/bindings/qmf2/python/ cpp/bindings/qmf2/ruby...

Propchange: qpid/branches/asyncstore/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid:r1375509-1450773

Modified: qpid/branches/asyncstore/KEYS
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/KEYS?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/KEYS (original)
+++ qpid/branches/asyncstore/KEYS Thu Feb 28 16:14:30 2013
@@ -426,3 +426,58 @@ U6nOKyS2R4/y+0s1J85amn4YHTUhOHYRnQAEckX8
 MxumwmEHVDFpDpKCCnJa9A==
 =Uryx
 -----END PGP PUBLIC KEY BLOCK-----
+pub   4096R/845FD0AC 2012-11-06
+uid                  Ted Ross (CODE SIGNING KEY) <tr...@apache.org>
+sub   4096R/59780337 2012-11-06
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+mQINBFCZY/EBEACWoKgXLUAPsunBvW6CpfAiif706gJAO+Svlg5QX7BWaYEl1yhj
+/x1MXCtiEgcDZMv+dBPXkLRNQpyxVe+wrYCFTLhZIfQHtWyd8kzphRQHL+igmiC0
+jC5y5ZutMTFnVgeHls4A80lKSJe+gcd2CdbxeVIEf8i1OLIVGLj6a+bNgfFLiL5K
+W297G+Xi8EYSccXqo9S/hleih7FTIioHeyJd/BBJI5eQIJVTz9cjaC1A3/tzluFO
+zu8fpVHRWY2jRd/pz/TkVbcpwPPMhS7vPzFMIexrs0LhGEn2C4D0XN82niA19as6
+KwKhJdiUX4vAowikX0U96CySY4H5pboq74wVYyq9kKqdNL0OlV79cCwwMkvjk7fn
+ANiBYLV/N3FQur349/QroUo5MtHgQP5mv/OSLBS00KHdhjRUCJfCiGkimU9LlWP3
+xaLZWPFgeA8tCzmsnpjFTbyFk0Ar/MaQvHVDK8ks52Vo7mvBo+b8VF+NsYis58pM
+EvjEBdAJhooB43aCIfTszEZYPSnSoOCr1l6TGNpj5m7TzxMbHGNOW3xKQxtKSHmY
+pWr8lEylknI+KZR7IAwf2NrjcJThVRv6ccwXFDP6H4hljEsSTlqOPh+rLpqbdmQe
+FEuakQFZALQhAsQyiJaogymLbrqCgVBVzpXdiX2+1TPiZps+VRaaQUd+HwARAQAB
+tC5UZWQgUm9zcyAoQ09ERSBTSUdOSU5HIEtFWSkgPHRyb3NzQGFwYWNoZS5vcmc+
+iQI3BBMBAgAhAhsDAh4BAheABQJQmWToBQsJCAcDBRUKCQgLBRYCAwEAAAoJEOaX
+VceEX9CsPsIP/igNMqFCDC+1xuK9oWgzp1WHT3yG6PsqTMh6fKRtD2wa0VTkcY4f
+BzoaJyK956tfQxMygcyhzGoj/Y7Oz6lsgIHKLVck64pqj5+heQJHaXjGIoqsUWQ2
+xyH/TkbXAK97BK2HBPAxla4qdB+mudUYspw6cfXRlRooNaBmlVTLP1F8j5HDNqb/
+ALz3fHcQfwFsTRSZVq89XZVROAYTygor1eLya7JxdTZdOIPJTeDocPRe3GR6BDDJ
+/mioXG9UEYIg/3Z6oWWTzkBCyV8LYef+Zg471bVsz4c4tut7DZClCA4eUJA3nLBD
+jMBJrEhzEGrfMaDVND+oFxPl4O/5Hw/jmG/EiGEA2OAAwh8ZgjXlpDrhlAAkHiVp
+2riTMMqDxBdbq8BZWhTqj7ZxB+CDMqr5t5LQb/GjHVXfmH8kfv/3z/PXoPwmMx6N
+nuMmDPkUy996ak2UYoVLNt4JVFEFqN2Zl/2MCOpCOs9L83FmGz5bbKnQ5dF7x566
+2woH31x+yplPP5jeFe9cgPnRgDrfbFqSBwBFmK+SAVTDtW3aOVAfOnVLq7M3+Q+q
+AWzs+hWA4pflQDpA6dtffUJ0xlAyGzUHnB8atfqf9bwcUBzdGybyf5Cg4QwZqSxt
+HX1Lj8Ba/FIT52pmyPF5YT6xdgZRk96JGpiraaNiTkZ0o22aabJ0QGtguQINBFCZ
+Y/EBEADHkmcxZjY6msJQfe6GQZ5k96pC3LJ0oa/1P1qAtLKONFt8WnaCOLlD4ozz
+8M1WXNMfZdVXD4rRs6FR62MshjRlVdcG59Eyi3q1UxH1tseJacUqkyuXapq41zi1
+ZDOtZPvPJHtiyyG0tS/Uu3Xk2HP7/ECVOMittis9++/BSXyVr9fap09ADWWYAIP7
+t8JZDfUPnEALYs0u9ofOjuEJh6aB1RFqmiVy1PMjHvxcz9AmMYN+AILIJgr2KS7N
+Swh43o8JSOf0503bwkTP6n6uv3g0/CyK60UI5BNJVn7PEuOVWoLcMSYBVRI04lwm
+B19T0QUR3ulUIJy43BAFX4nk3QIFbDdXehhbXP/1bBN87CyMMJRN4zAqR9Tg/pD7
+ZJDUdlXaZ+4WW/A43oYfqx1kBFJQN5Xvxb6KCVWTvw6wIGNxSG2gioYVyXqIbed/
+mZJ5FHJA/ZRvbN7MCaF1Yf34ERodueG7DhXm5HHUQqYyt0yTFHJbLybyNQz3fuob
+RvBsBrzIHGowgyI+18rq2fIDv/zWxjwHlwdhPjrehh0yO9BYfPtIYkmu3U7ddMrk
+p8mTLhQBYeduLXp6DuflGLjmwdjEfqyXRWJxtscgvhQaArL+srmqu1sVl7vqZHXO
+4m20i+ogjsmsfXM6f6NfRph4yKpgW2RVtZVRhZuprzVEFryB3QARAQABiQIfBBgB
+AgAJBQJQmWPxAhsMAAoJEOaXVceEX9CsRQAP/10ySvtgjW1phfpC8wDlG/BG1VVQ
+Edhr+vmWQS69wM47HDV28YKjSPGc+OrGiUbWm/pePg9LWg6IMU3SPiRStORNbBEP
+WtTRFo9P5XyfulN9/KR4m1BtUjdmaXFpT0WomR5zpJ3Mq5bgJfFffCWt3+WWqedg
+H22Ti+TesDS4dE8fplUWEHTFaKOUQJSbTs2nDKVxc86v6ssgkPvSupMUtz5mSZS5
+lUnf7MfVLdcaYvOeB52pXaPbXJqejM/NfOwPZMEP6v9tUgRbeN+FvyU3ozFlfUaZ
+MbZNahYz6h6YCdK+Uk9Jor0IB5vUgGKiKWikR/3pIxNzlBAFXwi/sTwUEKZjBPlZ
+6if8EIJ8S44xuVuPyPaNaUVJp8PlAvY/jzCCe1yuFsyI3e7iwIS8ykUt9ntmQQ2C
+s/l0XX+GQ8eDrTN2yALKszQ59M0KEKC+YWZRrAP2ZJRf4odBYTHIULI9PftTdztb
+EP1CZqvRNrvdrhX4zY3XCn4CS5dSnCvf6mFZpYvR0G1TeK0sBlMhNefaVmZ9BWd9
+fJ9FLilcEh7TgbhNSd5z1EAuljniwSnj3nN929fh82PgB2yON2m1ZvQfvrNL15Hm
+EiP9S9DGf3NdGjeO6RWzJvuUv+9lYsL3gI3gcKy7EOem+7VqAGiU3m0MOsb40Odg
+YUWAO6m/prr2Y/Qg
+=G9bq
+-----END PGP PUBLIC KEY BLOCK-----

Modified: qpid/branches/asyncstore/QPID_VERSION.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/QPID_VERSION.txt?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/QPID_VERSION.txt (original)
+++ qpid/branches/asyncstore/QPID_VERSION.txt Thu Feb 28 16:14:30 2013
@@ -1 +1 @@
-0.19
+0.21

Modified: qpid/branches/asyncstore/bin/release.sh
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/bin/release.sh?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/bin/release.sh (original)
+++ qpid/branches/asyncstore/bin/release.sh Thu Feb 28 16:14:30 2013
@@ -37,6 +37,7 @@ usage()
     echo "--source|-e : Generate the source artefact"
     echo "--cpp   |-c : Generate the CPP artefacts"
     echo "--java  |-j : Generate the java artefacts"
+    echo "--perl  |-r : Generate the Perl artefacts"
     echo "--python|-p : Generate the python artefacts"
     echo "--wcf   |-w : Generate the WCF artefacts"
     echo "--tools |-t : Generate the tools artefacts"
@@ -53,6 +54,7 @@ all_artefacts()
 
    CPP="CPP"
    JAVA="JAVA"
+   PERL="PERL"
    PYTHON="PYTHON"
    WCF="WCF"
    TOOLS="TOOLS"
@@ -94,6 +96,9 @@ for arg in $* ; do 
  --java|-j)
    JAVA="JAVA"
  ;;
+ --perl|-r)
+   PERL="PERL"
+ ;;
  --python|-p)
    PYTHON="PYTHON"
  ;;
@@ -146,7 +151,7 @@ echo REV:$REV
 echo VER:$VER
 
 # If nothing is specified then do it all
-if [ -z "${CLEAN}${PREPARE}${CPP}${JAVA}${PYTHON}${QMF}${TOOLS}${WCF}${SOURCE}${SIGN}${UPLOAD}" ] ; then
+if [ -z "${CLEAN}${PREPARE}${CPP}${JAVA}${PERL}${PYTHON}${QMF}${TOOLS}${WCF}${SOURCE}${SIGN}${UPLOAD}" ] ; then
    PREPARE="PREPARE"
    all_artefacts
    SIGN="SIGN"
@@ -184,6 +189,27 @@ if [ "SOURCE" == "$SOURCE" ] ; then
   tar -czf artifacts/qpid-${VER}.tar.gz qpid-${VER}
 fi
 
+if [ "PERL" == "$PERL" ]; then
+  pushd qpid-${VER}/cpp/bindings/qpid
+  make
+  popd
+  mkdir qpid-${VER}/perl-qpid-${VER}
+  cp qpid-${VER}/cpp/bindings/qpid/perl/perl.i \
+     qpid-${VER}/cpp/bindings/qpid/perl/*pm \
+     qpid-${VER}/cpp/bindings/qpid/perl/LICENSE \
+     qpid-${VER}/cpp/bindings/qpid/perl/Makefile.PL \
+     qpid-${VER}/cpp/bindings/qpid/perl/t/*.t \
+     qpid-${VER}/perl-qpid-${VER}
+  cp -r qpid-${VER}/cpp/bindings/qpid/perl/lib \
+     qpid-${VER}/perl-qpid-${VER}
+  mkdir qpid-${VER}/perl-qpid-${VER}/examples
+  cp qpid-${VER}/cpp/bindings/qpid/examples/perl/* \
+     qpid-${VER}/perl-qpid-${VER}/examples
+  pushd qpid-${VER}
+  tar -czf ../artifacts/perl-qpid-${VER}.tar.gz perl-qpid-${VER}
+  popd
+fi
+
 if [ "PYTHON" == "$PYTHON" ] ; then
   tar -czf artifacts/qpid-python-${VER}.tar.gz qpid-${VER}/python qpid-${VER}/specs
 fi
@@ -231,7 +257,6 @@ if [ "JAVA" == "$JAVA" ] ; then
   cp -a qpid-${VER}/java/management/common/release/maven artifacts/
   cp -a qpid-${VER}/java/amqp-1-0-common/release/maven artifacts/
   cp -a qpid-${VER}/java/broker-plugins/access-control/release/maven artifacts/
-  cp -a qpid-${VER}/java/broker-plugins/firewall/release/maven artifacts/
   cp -a qpid-${VER}/java/broker-plugins/management-jmx/release/maven artifacts/
   cp -a qpid-${VER}/java/broker-plugins/management-http/release/maven artifacts/
   cp -a qpid-${VER}/java/bdbstore/jmx/release/maven artifacts/

Modified: qpid/branches/asyncstore/cpp/BuildInstallSettings.cmake
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/BuildInstallSettings.cmake?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/BuildInstallSettings.cmake (original)
+++ qpid/branches/asyncstore/cpp/BuildInstallSettings.cmake Thu Feb 28 16:14:30 2013
@@ -1,25 +1,25 @@
-#
-# 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.
-#
-
-# Settings related to the Qpid build and install CMake/CTest/CPack procedure.
-# These are used by both the C++ and WCF components.
-
+#
+# 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.
+#
+
+# Settings related to the Qpid build and install CMake/CTest/CPack procedure.
+# These are used by both the C++ and WCF components.
+
 # Parse the version from QPID_VERSION.txt.
 # Use the top level qpid/ file if we're in an SVN checkout, source dir otherwise.
 if(EXISTS "${PROJECT_SOURCE_DIR}/../QPID_VERSION.txt")
@@ -31,121 +31,157 @@ else()
 endif(EXISTS "${PROJECT_SOURCE_DIR}/../QPID_VERSION.txt")
 string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\n" "\\1" QPID_VERSION_MAJOR "${QPID_VERSION}")
 string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\n" "\\2" QPID_VERSION_MINOR "${QPID_VERSION}")
-
-# When doing installs, there are a number of components that the item can
-# be associated with. Since there may be different sets of components desired
-# for the various platforms, the component names are defined here. When
-# setting the COMPONENT in an install directive, use these to ensure that
-# the item is installed correctly.
-
-if (WIN32)
-  # Install types; these defines the component sets that are installed.
-  # Each component (below) indicates which of these install type(s) it is
-  # included in. The user can refine the components at install time.
-  set (CPACK_ALL_INSTALL_TYPES Broker Development Full)
-
-  set (QPID_COMPONENT_COMMON Common)
-  set (CPACK_COMPONENT_COMMON_INSTALL_TYPES Broker Development Full)
-  set (CPACK_COMPONENT_COMMON_DISPLAY_NAME "Required common runtime items")
-  set (CPACK_COMPONENT_COMMON_DESCRIPTION
-       "Run-time library common to all runtime components in Qpid.\nThis item is required by both broker and client components.")
-
-  set (QPID_COMPONENT_BROKER Broker)
-  set (CPACK_COMPONENT_BROKER_DEPENDS Common)
-  set (CPACK_COMPONENT_BROKER_INSTALL_TYPES Broker Full)
-  set (CPACK_COMPONENT_BROKER_DISPLAY_NAME "Broker")
-  set (CPACK_COMPONENT_BROKER_DESCRIPTION
-       "Messaging broker; controls message flow within the system.\nAt least one broker is required to run any messaging application.")
-
-  set (QPID_COMPONENT_CLIENT Client)
-  set (CPACK_COMPONENT_CLIENT_DEPENDS Common)
-  set (CPACK_COMPONENT_CLIENT_INSTALL_TYPES Development Full)
-  set (CPACK_COMPONENT_CLIENT_DISPLAY_NAME "Client runtime libraries")
-  set (CPACK_COMPONENT_CLIENT_DESCRIPTION
-       "Runtime library components required to build and execute a client application.")
-
-  set (QPID_COMPONENT_CLIENT_INCLUDE ClientInclude)
-  set (CPACK_COMPONENT_CLIENTINCLUDE_INSTALL_TYPES Development Full)
-  set (CPACK_COMPONENT_CLIENTINCLUDE_DISPLAY_NAME
-       "Client programming header files")
-  set (CPACK_COMPONENT_CLIENTINCLUDE_DESCRIPTION
-       "C++ header files required to build any Qpid messaging application.")
-
-  set (QPID_COMPONENT_EXAMPLES Examples)
-  set (CPACK_COMPONENT_EXAMPLES_INSTALL_TYPES Development Full)
-  set (CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "C++ Client programming examples")
-  set (CPACK_COMPONENT_EXAMPLES_DESCRIPTION
-       "Example source code for using the C++ Client.")
-
-  set (QPID_COMPONENT_QMF QMF)
-  set (CPACK_COMPONENT_QMF_INSTALL_TYPES Development Full)
-  set (CPACK_COMPONENT_QMF_DISPLAY_NAME
-       "Qpid Management Framework (QMF)")
-  set (CPACK_COMPONENT_QMF_DESCRIPTION
-       "QMF Agent allows you to embed QMF management in your program.\nQMF Console allows you to build management programs using QMF.")
-
-  set (QPID_INSTALL_BINDIR bin CACHE STRING
-       "Directory to install user executables")
-  set (QPID_INSTALL_CONFDIR conf CACHE STRING
-       "Directory to install configuration files")
-  set (QPID_INSTALL_SASLDIR conf CACHE STRING
-       "Directory to install SASL configuration files")
-  set (QPID_INSTALL_DATADIR conf CACHE STRING
-       "Directory to install read-only arch.-independent data root")
-  set (QPID_INSTALL_EXAMPLESDIR examples CACHE STRING
-       "Directory to install programming examples in")
-  set (QPID_INSTALL_HTMLDIR docs/api/html CACHE STRING
-       "Directory to install HTML documentation")
-  set (QPID_INSTALL_INCLUDEDIR include CACHE STRING
-       "Directory to install programming header files")
-  set (QPID_INSTALL_LIBDIR bin CACHE STRING
-       "Directory to install library files")
-  set (QPID_INSTALL_SBINDIR bin CACHE STRING
-       "Directory to install system admin executables")
-  set (QPIDC_MODULE_DIR plugins/client CACHE STRING
-       "Directory to load client plug-in modules from")
-  set (QPIDD_MODULE_DIR plugins/broker CACHE STRING
-       "Directory to load broker plug-in modules from")
-endif (WIN32)
-
-if (UNIX)
-  set (QPID_COMPONENT_BROKER runtime)
-  set (QPID_COMPONENT_CLIENT runtime)
-  set (QPID_COMPONENT_COMMON runtime)
-  set (CPACK_COMPONENT_RUNTIME_DISPLAY_NAME
-       "Items required to run broker and/or client programs")
-  set (QPID_COMPONENT_CLIENT_INCLUDE development)
-  set (QPID_COMPONENT_EXAMPLES development)
-  set (QPID_COMPONENT_QMF development)
-  set (CPACK_COMPONENT_DEVELOPMENT_DISPLAY_NAME
-       "Items required to build new C++ Qpid client programs")
-
-  set (QPID_INSTALL_BINDIR bin CACHE STRING
-       "Directory to install user executables")
-  set (QPID_INSTALL_CONFDIR etc/qpid CACHE STRING
-       "Directory to install configuration files")
-  set (QPID_INSTALL_DATADIR share/qpid CACHE STRING
-       "Directory to install read-only arch.-independent data root")
-  set (QPID_INSTALL_SASLDIR etc/sasl2 CACHE STRING
-       "Directory to install SASL configuration files")
-  set (QPID_INSTALL_EXAMPLESDIR share/examples CACHE STRING
-       "Directory to install programming examples in")
-  set (QPID_INSTALL_HTMLDIR html CACHE STRING
-       "Directory to install HTML documentation")
-  set (QPID_INSTALL_INCLUDEDIR include CACHE STRING
-       "Directory to install programming header files")
-  set (QPID_INSTALL_LIBDIR lib CACHE STRING
-       "Directory to install library files")
-  set (QPID_INSTALL_SBINDIR sbin CACHE STRING
-       "Directory to install system admin executables")
-  set (QPIDC_MODULE_DIR ${QPID_INSTALL_LIBDIR}/qpid/client CACHE STRING
-       "Directory to load client plug-in modules from")
-  set (QPIDD_MODULE_DIR ${QPID_INSTALL_LIBDIR}/qpid/daemon CACHE STRING
-       "Directory to load broker plug-in modules from")
-  set (QPID_LIBEXEC_DIR libexec/qpid CACHE STRING
-       "Directory for executables used by qpid libs")
-  set (QPID_LOCALSTATE_DIR var CACHE STRING
-       "Directory to store local state data")
-  set (QPID_MAN_DIR man CACHE STRING
-       "Directory to install manual files")
-endif (UNIX)
+set (QPID_VERSION_FULL "${QPID_VERSION_MAJOR}.${QPID_VERSION_MINOR}")
+
+# When doing installs, there are a number of components that the item can
+# be associated with. Since there may be different sets of components desired
+# for the various platforms, the component names are defined here. When
+# setting the COMPONENT in an install directive, use these to ensure that
+# the item is installed correctly.
+
+if (WIN32)
+  # Install types; these defines the component sets that are installed.
+  # Each component (below) indicates which of these install type(s) it is
+  # included in. The user can refine the components at install time.
+  set (CPACK_ALL_INSTALL_TYPES Broker Development Full)
+
+  set (QPID_COMPONENT_COMMON Common)
+  set (CPACK_COMPONENT_COMMON_INSTALL_TYPES Broker Development Full)
+  set (CPACK_COMPONENT_COMMON_DISPLAY_NAME "Required common runtime items")
+  set (CPACK_COMPONENT_COMMON_DESCRIPTION
+       "Run-time library common to all runtime components in Qpid.\nThis item is required by both broker and client components.")
+
+  set (QPID_COMPONENT_BROKER Broker)
+  set (CPACK_COMPONENT_BROKER_DEPENDS Common)
+  set (CPACK_COMPONENT_BROKER_INSTALL_TYPES Broker Full)
+  set (CPACK_COMPONENT_BROKER_DISPLAY_NAME "Broker")
+  set (CPACK_COMPONENT_BROKER_DESCRIPTION
+       "Messaging broker; controls message flow within the system.\nAt least one broker is required to run any messaging application.")
+
+  set (QPID_COMPONENT_CLIENT Client)
+  set (CPACK_COMPONENT_CLIENT_DEPENDS Common)
+  set (CPACK_COMPONENT_CLIENT_INSTALL_TYPES Development Full)
+  set (CPACK_COMPONENT_CLIENT_DISPLAY_NAME "Client runtime libraries")
+  set (CPACK_COMPONENT_CLIENT_DESCRIPTION
+       "Runtime library components required to build and execute a client application.")
+
+  set (QPID_COMPONENT_CLIENT_INCLUDE ClientInclude)
+  set (CPACK_COMPONENT_CLIENTINCLUDE_INSTALL_TYPES Development Full)
+  set (CPACK_COMPONENT_CLIENTINCLUDE_DISPLAY_NAME
+       "Client programming header files")
+  set (CPACK_COMPONENT_CLIENTINCLUDE_DESCRIPTION
+       "C++ header files required to build any Qpid messaging application.")
+
+  set (QPID_COMPONENT_EXAMPLES Examples)
+  set (CPACK_COMPONENT_EXAMPLES_INSTALL_TYPES Development Full)
+  set (CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "C++ Client programming examples")
+  set (CPACK_COMPONENT_EXAMPLES_DESCRIPTION
+       "Example source code for using the C++ Client.")
+
+  set (QPID_COMPONENT_QMF QMF)
+  set (CPACK_COMPONENT_QMF_INSTALL_TYPES Development Full)
+  set (CPACK_COMPONENT_QMF_DISPLAY_NAME
+       "Qpid Management Framework (QMF)")
+  set (CPACK_COMPONENT_QMF_DESCRIPTION
+       "QMF Agent allows you to embed QMF management in your program.\nQMF Console allows you to build management programs using QMF.")
+
+  set (QPID_INSTALL_BINDIR bin CACHE STRING
+       "Directory to install user executables")
+  set (QPID_INSTALL_CONFDIR conf CACHE STRING
+       "Directory to install configuration files")
+  set (QPID_INSTALL_SASLDIR conf CACHE STRING
+       "Directory to install SASL configuration files")
+  set (QPID_INSTALL_DATADIR conf CACHE STRING
+       "Directory to install read-only arch.-independent data root")
+  set (QPID_INSTALL_EXAMPLESDIR examples CACHE STRING
+       "Directory to install programming examples in")
+  set (QPID_INSTALL_DOCDIR docs CACHE STRING
+       "Directory to install documentation")
+  set (QPID_INSTALL_INCLUDEDIR include CACHE STRING
+       "Directory to install programming header files")
+  set (QPID_INSTALL_LIBDIR bin CACHE STRING
+       "Directory to install library files")
+  set (QPID_INSTALL_SBINDIR bin CACHE STRING
+       "Directory to install system admin executables")
+  set (QPID_INSTALL_TESTDIR bin CACHE STRING
+       "Directory for test executables")
+  set (QPIDC_MODULE_DIR plugins/client CACHE STRING
+       "Directory to load client plug-in modules from")
+  set (QPIDD_MODULE_DIR plugins/broker CACHE STRING
+       "Directory to load broker plug-in modules from")
+
+# function to get absolute path from a variable that may be relative to the
+# install prefix - For Windows we can never know the absolute install prefix
+# as this is decided at install time so this just returns the input path
+  function(set_absolute_install_path var input)
+    set (${var} ${input} PARENT_SCOPE)
+  endfunction(set_absolute_install_path)
+
+  set (INCLUDE_INSTALL_DIR ${QPID_INSTALL_INCLUDEDIR})
+  set (LIB_INSTALL_DIR ${QPID_INSTALL_INCLUDEDIR})
+endif (WIN32)
+
+if (UNIX)
+# function to get absolute path from a variable that may be relative to the
+# install prefix
+function(set_absolute_install_path var input)
+  if (${input} MATCHES "^/.*")
+    set (${var} ${input} PARENT_SCOPE)
+  else ()
+    set (${var} ${CMAKE_INSTALL_PREFIX}/${input} PARENT_SCOPE)
+  endif ()
+endfunction(set_absolute_install_path)
+
+# Figure out the default library suffix
+if (NOT DEFINED LIB_SUFFIX)
+    get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
+    if (${LIB64} STREQUAL "TRUE" AND ${CMAKE_SIZEOF_VOID_P} STREQUAL "8")
+        set(LIB_SUFFIX 64)
+    else()
+        set(LIB_SUFFIX "")
+    endif()
+endif()
+
+# In rpm builds the build sets some variables:
+#  CMAKE_INSTALL_PREFIX - this is a standard cmake variable
+#  INCLUDE_INSTALL_DIR
+#  LIB_INSTALL_DIR
+#  SYSCONF_INSTALL_DIR
+#  SHARE_INSTALL_DIR
+# So make these cached variables and the specific variables non cached and
+# derived from them.
+  set (INCLUDE_INSTALL_DIR include CACHE PATH "Include file directory")
+  set (LIB_INSTALL_DIR lib${LIB_SUFFIX} CACHE PATH "Library object file directory")
+  set (SYSCONF_INSTALL_DIR etc CACHE PATH "System read only configuration directory")
+  set (SHARE_INSTALL_DIR share CACHE PATH "Shared read only data directory")
+  set (DOC_INSTALL_DIR ${SHARE_INSTALL_DIR}/doc/${CMAKE_PROJECT_NAME}-${QPID_VERSION_FULL} CACHE PATH "Shared read only data directory")
+  
+  set (QPID_COMPONENT_BROKER runtime)
+  set (QPID_COMPONENT_CLIENT runtime)
+  set (QPID_COMPONENT_COMMON runtime)
+  set (CPACK_COMPONENT_RUNTIME_DISPLAY_NAME
+       "Items required to run broker and/or client programs")
+  set (QPID_COMPONENT_CLIENT_INCLUDE development)
+  set (QPID_COMPONENT_EXAMPLES development)
+  set (QPID_COMPONENT_QMF development)
+  set (CPACK_COMPONENT_DEVELOPMENT_DISPLAY_NAME
+       "Items required to build new C++ Qpid client programs")
+
+  # These are always relative to $CMAKE_INSTALL_PREFIX
+  set (QPID_INSTALL_BINDIR bin)
+  set (QPID_INSTALL_SBINDIR sbin)
+  set (QPID_INSTALL_TESTDIR libexec/qpid/tests) # Directory for test executables
+  set (QPID_INSTALL_CONFDIR ${SYSCONF_INSTALL_DIR}/qpid)
+  set (QPID_INSTALL_SASLDIR ${SYSCONF_INSTALL_DIR}/sasl2)
+  set (QPID_INSTALL_DATADIR ${SHARE_INSTALL_DIR}/qpid)
+  set (QPID_INSTALL_EXAMPLESDIR ${SHARE_INSTALL_DIR}/examples)
+  set (QPID_INSTALL_DOCDIR ${DOC_INSTALL_DIR}) # Directory to install documentation
+  set (QPID_INSTALL_INCLUDEDIR ${INCLUDE_INSTALL_DIR})
+  set (QPID_INSTALL_LIBDIR ${LIB_INSTALL_DIR})
+  set (QPID_LOCALSTATE_DIR var) # Directory to store local state data
+  set (QPID_MAN_DIR man) # Directory to install manual files
+  set (QPID_INSTALL_SYSTEMDDIR usr/lib/systemd/system) # Systemd service files
+
+  set_absolute_install_path (QPIDC_MODULE_DIR ${QPID_INSTALL_LIBDIR}/qpid/client) # Directory to load client plug-in modules from
+  set_absolute_install_path (QPIDD_MODULE_DIR ${QPID_INSTALL_LIBDIR}/qpid/daemon) # Directory to load broker plug-in modules from
+endif (UNIX)

Modified: qpid/branches/asyncstore/cpp/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/CMakeLists.txt?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/CMakeLists.txt Thu Feb 28 16:14:30 2013
@@ -25,6 +25,12 @@ endif(COMMAND cmake_policy)
 
 include(BuildInstallSettings.cmake)
 
+if (${CMAKE_VERSION} VERSION_LESS "2.8.0")
+    set (OPTIONAL_ARG "")
+else()
+    set (OPTIONAL_ARG OPTIONAL)
+endif()
+
 set (qpidc_version ${QPID_VERSION_MAJOR}.${QPID_VERSION_MINOR})
 
 enable_testing()
@@ -54,12 +60,22 @@ if (WIN32)
   set (CPACK_PACKAGE_EXECUTABLES "")
 endif (WIN32)
 
-set (QPIDC_CONF_FILE ${QPID_INSTALL_CONFDIR}/qpidc.conf CACHE STRING
+set_absolute_install_path (QPIDC_CONF_PATH ${QPID_INSTALL_CONFDIR}/qpidc.conf)
+set_absolute_install_path (QPIDD_CONF_PATH ${QPID_INSTALL_CONFDIR}/qpidd.conf)
+set (QPIDC_CONF_FILE ${QPIDC_CONF_PATH} CACHE STRING
      "Name of the Qpid client configuration file")
-set (QPIDD_CONF_FILE ${QPID_INSTALL_CONFDIR}/qpidd.conf CACHE STRING
+set (QPIDD_CONF_FILE ${QPIDD_CONF_PATH} CACHE STRING
      "Name of the Qpid broker configuration file")
 
-install(FILES  LICENSE NOTICE  DESTINATION ${CMAKE_INSTALL_PREFIX})
+install(FILES  LICENSE NOTICE  DESTINATION ${QPID_INSTALL_DOCDIR})
+install(FILES  include/qpid/qpid.i
+               include/qpid/swig_perl_typemaps.i
+               include/qpid/swig_python_typemaps.i
+               include/qpid/swig_ruby_typemaps.i
+               DESTINATION ${QPID_INSTALL_DATADIR}/qpid)
+install(FILES  include/qmf/qmfengine.i
+               include/qmf/qmf2.i
+        DESTINATION ${QPID_INSTALL_INCLUDEDIR}/qmf)
 
 if (WIN32)
    set (CMAKE_DEBUG_POSTFIX "d")
@@ -76,12 +92,19 @@ set(CPACK_PACKAGE_VERSION_MINOR "${QPID_
 set(CPACK_PACKAGE_VERSION_PATCH "0")
 set(CPACK_PACKAGE_INSTALL_DIRECTORY "qpidc-${qpidc_version}")
 
+# Add custom target for docs since we don't include a cmake file there directly.
+# If we can't use OPTIONAL in the install command then we have to make the docs
+# every time so that the install target succeeds
+if (OPTIONAL_ARG)
+  add_custom_target(docs)
+else (OPTIONAL_ARG)
+  add_custom_target(docs ALL)
+endif (OPTIONAL_ARG)
+
 add_subdirectory(managementgen)
 add_subdirectory(src)
 add_subdirectory(etc)
-add_subdirectory(bindings/qpid)
-add_subdirectory(bindings/qmf)
-add_subdirectory(bindings/qmf2)
+add_subdirectory(bindings)
 add_subdirectory(docs/api)
 add_subdirectory(docs/man)
 add_subdirectory(examples)

Modified: qpid/branches/asyncstore/cpp/INSTALL
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/INSTALL?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/INSTALL (original)
+++ qpid/branches/asyncstore/cpp/INSTALL Thu Feb 28 16:14:30 2013
@@ -10,7 +10,6 @@ Table of Contents
    2.2. How to Install
       2.2.1. Using Package Management Tools
       2.2.2. From Source
-	 a. openais
 	 b. boost
          c. autotools
    2.3. Important Environment Variable Settings
@@ -25,7 +24,7 @@ Table of Contents
 
 1. Introduction
 ===============
-Note that the daemon and client API can be installed separately. 
+Note that the daemon and client API can be installed separately.
 
 This document describes how to build the Qpid/C++ broker and client, either
 from a checkout of the source or from a source distribution, on Linux/UNIX.
@@ -55,13 +54,9 @@ a source distribution:
 to get 1.32 working in the svn tree though that is only recommended as
 a last resort.
 
-Optional cluster functionality requires ONE of:
- * openais <http://openais.org> 	       		(0.80.3)
- * corosync <http://corosync.org>			(1.0.0.rc1)
-
- Optional XML exchange requires:
- * xqilla  <http://xqilla.sourceforge.net/HomePage>     (2.0.0)                                  
- * xerces-c <http://xerces.apache.org/xerces-c/>        (2.7.0)  
+Optional XML exchange requires:
+ * xqilla  <http://xqilla.sourceforge.net/HomePage>     (2.0.0)
+ * xerces-c <http://xerces.apache.org/xerces-c/>        (2.7.0)
 
 Optional SSL support requires:
 * nss <http://www.mozilla.org/projects/security/pki/nss/>
@@ -95,8 +90,8 @@ the following must also be installed:
  * ruby-devel
  * python-devel
  * swig       <http://www.swig.org>                     (1.3.35)
- 
-UUID problems: 
+
+UUID problems:
 In some earlier Linux releases (such as Fedora 11), the uuid/uuid.h
 file is located in the e2fsprogs-devel package instead of
 libuuid-devel. If you are using an older Linux release and run into a
@@ -114,13 +109,6 @@ package management tool. For example on 
 
  # yum install boost-devel libuuid-devel pkgconfig gcc-c++ make autoconf automake ruby libtool help2man doxygen graphviz
 
-The optional clustering packages changed name in Fedora 10. On Fedora 9 or earlier:
- # yum install openais-devel cman-devel
-On Fedora 10 or later
- # yum install corosync-devel cmanlib-devel
-On Fedora 12 they changed again:
- # yum install corosynclib-devel clusterlib-devel
-
 For SASL and SSL, include
  # yum install cyrus-sasl-devel nss-devel nspr-devel
 
@@ -147,55 +135,9 @@ It is recommended that you create a dire
   # ./configure --prefix=~/qpid-tools
   # make install
 
-The exceptions are openais and boost.
-
-a. openais
-==========
-
-If ais is shipped with you platform and you have 0.80.3-x or later, skip
-builing ais
-
-To build ais: Unpack the source distribution and do:
- # make
- # sudo make install DESTDIR=
- # sudo ldconfig
-
-This will install in the standard places (/usr/lib, /usr/include etc.)
-
-Configuring ais:
-
-Edit /etc/ais/openais.conf and modify the "bindnetaddr" setting
-to your hosts IP address. Do not use 127.0.0.1.
+The exception is boost.
 
-Make sure the UDP port set for mcastport in openais.conf (5405 by
-default) is not blocked by your firewall. Disable the firewall or
-configure it to allow this port for UDP.
-
-Finally start the ais daemon (must be done as root):
- # sudo /sbin/aisexec
-
-Note that to run the AIS tests your primary group must be "ais".  You
-can change your primary group with the usermod command or set it
-temporarily with the newgrp command.
-
-Troubleshooting tips:
-
-If aisexec goes into a loop printing "entering GATHER state", verify
-your firewall is allowing UDP traffic on the mcastport set in
-openais.conf.
-
-If aisexec reports "got nodejoin message 127.0.0.1" verify the
-bindnetaddr in openais.conf is an active local IP address.  ifconfig
-will list local addresses.
-
-When aisexec is working correctly, the start-up log messages will end
-with "entering OPERATIONAL state." and "got nodejoin message <ip
-address>" where <ip address> is the local IP address specified for
-bindnetaddr in openais.conf.
-
-For further info on openais http://openais.org/
-
-b. boost
+boost
 ========
  1. Unpack boost-jam.
  2. Add bjam in the unpacked directory to your path.
@@ -358,8 +300,8 @@ To try it out "make doxygen" then open d
 ==================
 When building, get the following on configure
   configure: error: Package requirements (apr-1 >= 1.2.2) were not met:
-  
+
   No package 'apr-1' found
-  
-The following has not been set 
+
+The following has not been set
   export PKG_CONFIG_PATH=$HOME/qpid-tools/lib/pkgconfig:/usr/lib/pkgconfig

Modified: qpid/branches/asyncstore/cpp/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/Makefile.am Thu Feb 28 16:14:30 2013
@@ -24,9 +24,10 @@ ACLOCAL_AMFLAGS = -I m4
 
 EXTRA_DIST = \
   LICENSE NOTICE README.txt SSL RELEASE_NOTES DESIGN \
-  xml/cluster.xml INSTALL-WINDOWS CMakeLists.txt BuildInstallSettings.cmake \
-  packaging/NSIS QPID_VERSION.txt bindings/swig_python_typemaps.i \
-  bindings/swig_ruby_typemaps.i bindings/swig_perl_typemaps.i
+  INSTALL-WINDOWS CMakeLists.txt BuildInstallSettings.cmake \
+  packaging/NSIS QPID_VERSION.txt bindings/CMakeLists.txt \
+  include/qpid/swig_python_typemaps.i include/qpid/swig_ruby_typemaps.i include/qpid/swig_perl_typemaps.i \
+  include/qpid/qpid.i include/qmf/qmfengine.i include/qmf/qmf2.i
 
 SUBDIRS = managementgen etc src docs/api docs/man examples bindings/qmf bindings/qpid bindings/qmf2
 
@@ -36,4 +37,4 @@ libtool: $(LIBTOOL_DEPS)
 
 check-long: all
 	$(MAKE) -C src/tests check-long
-	
\ No newline at end of file
+

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/Makefile.am Thu Feb 28 16:14:30 2013
@@ -19,7 +19,6 @@
 
 if HAVE_SWIG
 
-EXTRA_DIST = CMakeLists.txt qmfengine.i
 SUBDIRS = tests
 
 if HAVE_RUBY_DEVEL

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/python/CMakeLists.txt?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/python/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/python/CMakeLists.txt Thu Feb 28 16:14:30 2013
@@ -21,7 +21,7 @@
 ## Use Swig to generate a literal binding to the C++ API
 ##------------------------------------------------------
 set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES CPLUSPLUS ON)
-set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include")
+set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings")
 
 swig_add_module(qmfengine_python python ${CMAKE_CURRENT_SOURCE_DIR}/python.i)
 swig_link_libraries(qmfengine_python qmf qmfconsole ${PYTHON_LIBRARIES})
@@ -31,28 +31,23 @@ set_source_files_properties(${swig_gener
 ##------------------------------------
 ## Install the complete Python binding
 ##------------------------------------
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmfengine.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmfengine.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/qmf.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.py
-              ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.pyc
-              ${CMAKE_CURRENT_BINARY_DIR}/qmfengine.pyo
               ${CMAKE_CURRENT_SOURCE_DIR}/qmf.py
-              ${CMAKE_CURRENT_BINARY_DIR}/qmf.pyc
-              ${CMAKE_CURRENT_BINARY_DIR}/qmf.pyo
-        DESTINATION ${PYTHON_SITE_PACKAGES}
+        DESTINATION ${PYTHON_SITEARCH_PACKAGES}
         COMPONENT ${QPID_COMPONENT_CLIENT}
         )
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_qmfengine_python.so
         RENAME _qmfengine.so
-        DESTINATION ${PYTHON_SITE_PACKAGES}
+        DESTINATION ${PYTHON_SITEARCH_PACKAGES}
         COMPONENT ${QPID_COMPONENT_CLIENT}
         )
+# Python compile the installed modules
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmfengine.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmfengine.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
 

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/python/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/python/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/python/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/python/Makefile.am Thu Feb 28 16:14:30 2013
@@ -29,7 +29,7 @@ EXTRA_DIST = CMakeLists.txt python.i
 BUILT_SOURCES = $(generated_file_list)
 SWIG_FLAGS = -w362,401
 
-$(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmfengine.i
+$(generated_file_list): $(srcdir)/python.i
 	$(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I$(top_srcdir)/src/qmf -I/usr/include -o qmfengine.cpp $(srcdir)/python.i
 
 pylibdir = $(pyexecdir)

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/python/python.i
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/python/python.i?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/python/python.i (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/python/python.i Thu Feb 28 16:14:30 2013
@@ -139,5 +139,5 @@
 
 
 
-%include "../qmfengine.i"
+%include "qmf/qmfengine.i"
 

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/ruby/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/ruby/CMakeLists.txt?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/ruby/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/ruby/CMakeLists.txt Thu Feb 28 16:14:30 2013
@@ -22,7 +22,9 @@
 ##------------------------------------------------------
 set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
 
-include_directories(${RUBY_INCLUDE_DIRS} ${qpid-cpp_SOURCE_DIR}/include)
+include_directories(${RUBY_INCLUDE_DIRS}
+                    ${qpid-cpp_SOURCE_DIR}/include
+                    ${qpid-cpp_SOURCE_DIR}/bindings)
 
 swig_add_module(qmfengine_ruby ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i)
 swig_link_libraries(qmfengine_ruby qmf qmfconsole ${RUBY_LIBRARY})
@@ -32,6 +34,6 @@ swig_link_libraries(qmfengine_ruby qmf q
 ##----------------------------------
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libqmfengine_ruby.so
         RENAME qmfengine.so
-        DESTINATION ${RUBY_ARCH_DIR}
+        DESTINATION ${RUBY_PFX_ARCH_DIR}
         COMPONENT ${QPID_COMPONENT_CLIENT}
         )

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/ruby/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/ruby/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/ruby/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/ruby/Makefile.am Thu Feb 28 16:14:30 2013
@@ -29,7 +29,7 @@ rubylibdir = $(RUBY_LIB)
 
 dist_rubylib_DATA = qmf.rb
 
-qmfengine.cpp: $(srcdir)/ruby.i $(srcdir)/../qmfengine.i
+qmfengine.cpp: $(srcdir)/ruby.i
 	$(SWIG) -ruby -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o qmfengine.cpp $(srcdir)/ruby.i
 
 rubylibarchdir = $(RUBY_LIB_ARCH)

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/ruby/qmf.rb
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/ruby/qmf.rb?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/ruby/qmf.rb (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/ruby/qmf.rb Thu Feb 28 16:14:30 2013
@@ -319,9 +319,7 @@ module Qmf
               eventImpl.sessionContext.handler.sess_event_recv(eventImpl.sessionContext, eventImpl.message)
             end
           rescue Exception => ex
-            puts "Event Exception: #{ex}"
             if bt_count < 2
-              puts ex.backtrace
               bt_count += 1
             end
           end
@@ -1251,9 +1249,7 @@ module Qmf
           when Qmfengine::ConsoleEvent::METHOD_RESPONSE
           end
         rescue Exception => ex
-          puts "Exception caught in callback: #{ex}"
           if @bt_count < 2
-            puts ex.backtrace
             @bt_count += 1
           end
         end
@@ -1381,14 +1377,13 @@ module Qmf
     end
 
     def conn_event_connected()
-      puts "Console Connection Established..."
       @session = Session.new(@conn, "qmfc-%s.%d" % [Socket.gethostname, Process::pid], self)
       @impl.sessionOpened(@session.handle)
       do_events
     end
 
     def conn_event_disconnected(error)
-      puts "Console Connection Lost"
+
     end
 
     def conn_event_visit
@@ -1396,12 +1391,10 @@ module Qmf
     end
 
     def sess_event_session_closed(context, error)
-      puts "Console Session Lost"
       @impl.sessionClosed()
     end
 
     def sess_event_recv(context, message)
-      puts "Unexpected RECV Event" if not @operational
       @impl.handleRcvMessage(message)
       do_events
     end
@@ -1510,14 +1503,13 @@ module Qmf
     end
 
     def conn_event_connected()
-      puts "Agent Connection Established..."
       @session = Session.new(@conn, "qmfa-%s.%d" % [Socket.gethostname, Process::pid], self)
       @impl.newSession
       do_events
     end
 
     def conn_event_disconnected(error)
-      puts "Agent Connection Lost"
+
     end
 
     def conn_event_visit
@@ -1525,7 +1517,7 @@ module Qmf
     end
 
     def sess_event_session_closed(context, error)
-      puts "Agent Session Lost"
+
     end
 
     def sess_event_recv(context, message)

Modified: qpid/branches/asyncstore/cpp/bindings/qmf/ruby/ruby.i
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf/ruby/ruby.i?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf/ruby/ruby.i (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf/ruby/ruby.i Thu Feb 28 16:14:30 2013
@@ -102,5 +102,5 @@
 }
 
 
-%include "../qmfengine.i"
+%include "qmf/qmfengine.i"
 

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/Makefile.am Thu Feb 28 16:14:30 2013
@@ -19,7 +19,6 @@
 
 if HAVE_SWIG
 
-EXTRA_DIST = CMakeLists.txt qmf2.i
 SUBDIRS = examples/cpp
 
 if HAVE_RUBY_DEVEL

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/examples/cpp/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/examples/cpp/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/examples/cpp/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/examples/cpp/Makefile.am Thu Feb 28 16:14:30 2013
@@ -21,16 +21,19 @@ INCLUDE = -I$(top_srcdir)/include
 
 AM_CPPFLAGS = $(INCLUDE)
 
+TYPES_LIB=$(top_builddir)/src/libqpidtypes.la
+MESSAGING_LIB=$(top_builddir)/src/libqpidmessaging.la
+
 noinst_PROGRAMS=agent event_driven_list_agents list_agents print_events
 
 agent_SOURCES=agent.cpp
-agent_LDADD=$(top_builddir)/src/libqmf2.la
+agent_LDADD=$(top_builddir)/src/libqmf2.la $(TYPES_LIB) $(MESSAGING_LIB)
 
 list_agents_SOURCES=list_agents.cpp
-list_agents_LDADD=$(top_builddir)/src/libqmf2.la
+list_agents_LDADD=$(top_builddir)/src/libqmf2.la $(MESSAGING_LIB)
 
 event_driven_list_agents_SOURCES=event_driven_list_agents.cpp
-event_driven_list_agents_LDADD=$(top_builddir)/src/libqmf2.la
+event_driven_list_agents_LDADD=$(top_builddir)/src/libqmf2.la $(MESSAGING_LIB)
 
 print_events_SOURCES=print_events.cpp
-print_events_LDADD=$(top_builddir)/src/libqmf2.la
+print_events_LDADD=$(top_builddir)/src/libqmf2.la $(TYPES_LIB) $(MESSAGING_LIB)

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/python/CMakeLists.txt?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/python/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/python/CMakeLists.txt Thu Feb 28 16:14:30 2013
@@ -21,7 +21,7 @@
 ## Use Swig to generate a literal binding to the C++ API
 ##------------------------------------------------------
 set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES CPLUSPLUS ON)
-set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include")
+set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/python.i PROPERTIES SWIG_FLAGS "-I${qpid-cpp_SOURCE_DIR}/include;-I${qpid-cpp_SOURCE_DIR}/bindings")
 
 swig_add_module(cqmf2_python python ${CMAKE_CURRENT_SOURCE_DIR}/python.i)
 swig_link_libraries(cqmf2_python qmf2 ${PYTHON_LIBRARIES})
@@ -31,28 +31,23 @@ set_source_files_properties(${swig_gener
 ##------------------------------------
 ## Install the complete Python binding
 ##------------------------------------
-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cqmf2.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cqmf2.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/qmf2.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf2.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf2.py
-                              WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.py
-              ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.pyc
-              ${CMAKE_CURRENT_BINARY_DIR}/cqmf2.pyo
-              ${CMAKE_CURRENT_BINARY_DIR}/qmf2.py
-              ${CMAKE_CURRENT_BINARY_DIR}/qmf2.pyc
-              ${CMAKE_CURRENT_BINARY_DIR}/qmf2.pyo
-        DESTINATION ${PYTHON_SITE_PACKAGES}
+              ${CMAKE_CURRENT_SOURCE_DIR}/qmf2.py
+        DESTINATION ${PYTHON_SITEARCH_PACKAGES}
         COMPONENT ${QPID_COMPONENT_CLIENT}
         )
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/_cqmf2_python.so
         RENAME _cqmf2.so
-        DESTINATION ${PYTHON_SITE_PACKAGES}
+        DESTINATION ${PYTHON_SITEARCH_PACKAGES}
         COMPONENT ${QPID_COMPONENT_CLIENT}
         )
+# Python compile the installed modules
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile cqmf2.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile cqmf2.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile qmf2.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
+install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile qmf2.py
+                              WORKING_DIRECTORY ${PYTHON_SITEARCH_PACKAGES})")
 

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/python/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/python/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/python/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/python/Makefile.am Thu Feb 28 16:14:30 2013
@@ -19,7 +19,7 @@
 
 if HAVE_PYTHON_DEVEL
 
-INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src $(QMF_INCLUDES)
+INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/bindings -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src $(QMF_INCLUDES)
 
 generated_file_list = \
 	cqmf2.cpp \
@@ -29,7 +29,7 @@ EXTRA_DIST = CMakeLists.txt python.i
 BUILT_SOURCES = $(generated_file_list)
 SWIG_FLAGS = -w362,401
 
-$(generated_file_list): $(srcdir)/python.i $(srcdir)/../qmf2.i $(srcdir)/../../swig_python_typemaps.i
+$(generated_file_list): $(srcdir)/python.i
 	$(SWIG) -c++ -python $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqmf2.cpp $(srcdir)/python.i
 
 pylibdir = $(pyexecdir)

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/python/python.i
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/python/python.i?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/python/python.i (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/python/python.i Thu Feb 28 16:14:30 2013
@@ -19,7 +19,7 @@
 
 %module cqmf2
 %include "std_string.i"
-%include "../../swig_python_typemaps.i"
+%include "qpid/swig_python_typemaps.i"
 
 /* Define the general-purpose exception handling */
 %exception {
@@ -37,5 +37,5 @@
     }
 }
 
-%include "../qmf2.i"
+%include "qmf/qmf2.i"
 

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/CMakeLists.txt?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/CMakeLists.txt (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/CMakeLists.txt Thu Feb 28 16:14:30 2013
@@ -22,7 +22,9 @@
 ##------------------------------------------------------
 set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ruby.i PROPERTIES CPLUSPLUS ON)
 
-include_directories(${RUBY_INCLUDE_DIRS} ${qpid-cpp_SOURCE_DIR}/include)
+include_directories(${RUBY_INCLUDE_DIRS}
+                    ${qpid-cpp_SOURCE_DIR}/include
+                    ${qpid-cpp_SOURCE_DIR}/bindings)
 
 swig_add_module(cqmf2_ruby ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i)
 swig_link_libraries(cqmf2_ruby qmf2 ${RUBY_LIBRARY})
@@ -32,7 +34,7 @@ swig_link_libraries(cqmf2_ruby qmf2 ${RU
 ##----------------------------------
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcqmf2_ruby.so
         RENAME cqmf2.so
-        DESTINATION ${RUBY_ARCH_DIR}
+        DESTINATION ${RUBY_PFX_ARCH_DIR}
         COMPONENT ${QPID_COMPONENT_CLIENT}
         )
 

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/Makefile.am Thu Feb 28 16:14:30 2013
@@ -19,7 +19,7 @@
 
 if HAVE_RUBY_DEVEL
 
-INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src $(QMF_INCLUDES)
+INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/bindings -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src $(QMF_INCLUDES)
 
 EXTRA_DIST = CMakeLists.txt ruby.i
 BUILT_SOURCES = cqmf2.cpp
@@ -27,7 +27,7 @@ SWIG_FLAGS = -w362,401
 
 rubylibdir = $(RUBY_LIB)
 
-cqmf2.cpp: $(srcdir)/ruby.i $(srcdir)/../qmf2.i $(srcdir)/../../swig_ruby_typemaps.i
+cqmf2.cpp: $(srcdir)/ruby.i
 	$(SWIG) -ruby -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o cqmf2.cpp $(srcdir)/ruby.i
 
 rubylibarchdir = $(RUBY_LIB_ARCH)

Modified: qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/ruby.i
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/ruby.i?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/ruby.i (original)
+++ qpid/branches/asyncstore/cpp/bindings/qmf2/ruby/ruby.i Thu Feb 28 16:14:30 2013
@@ -18,8 +18,10 @@
  */
 
 %module cqmf2
+/* Ruby doesn't have a != operator*/
+#pragma SWIG nowarn=378
 %include "std_string.i"
-%include "../../swig_ruby_typemaps.i"
+%include "qpid/swig_ruby_typemaps.i"
 
 /* Define the general-purpose exception handling */
 %exception {
@@ -32,4 +34,4 @@
     }
 }
 
-%include "../qmf2.i"
+%include "qmf/qmf2.i"

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/Makefile.am?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/Makefile.am (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/Makefile.am Thu Feb 28 16:14:30 2013
@@ -21,8 +21,6 @@ SUBDIRS = dotnet
 
 if HAVE_SWIG
 
-EXTRA_DIST = CMakeLists.txt qpid.i
-
 if HAVE_RUBY_DEVEL
 SUBDIRS += ruby
 endif
@@ -33,18 +31,18 @@ endif
 
 if HAVE_PERL_DEVEL
 
-INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src -I$(PERL_INC)
+INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/bindings -I$(top_builddir)/include -I$(top_srcdir)/src -I$(top_builddir)/src -I$(PERL_INC)
 
-EXTRA_DIST += perl/perl.i perl/CMakeLists.txt
+EXTRA_DIST = perl/perl.i perl/CMakeLists.txt
 BUILT_SOURCES = perl/cqpid_perl.cpp
 SWIG_FLAGS = -w362,401
 
-perl/cqpid_perl.cpp: $(srcdir)/perl/perl.i $(srcdir)/qpid.i $(srcdir)/../swig_perl_typemaps.i
+perl/cqpid_perl.cpp: $(srcdir)/perl/perl.i
 	$(SWIG) -perl -c++ $(SWIG_FLAGS) $(INCLUDES) $(QPID_CXXFLAGS) -I/usr/include -o perl/cqpid_perl.cpp $(srcdir)/perl/perl.i
 
 perl/Makefile: perl/cqpid_perl.cpp
 	cd perl; \
-		$(PERL) Makefile.PL PREFIX=$(prefix) LIB=$(PERL_ARCHLIB) ; \
+		$(PERL) Makefile.PL PREFIX=$(prefix) ; \
 	cd ..
 
 all-local: perl/Makefile
@@ -54,7 +52,7 @@ all-local: perl/Makefile
 
 install-exec-local:
 	cd perl ; \
-		$(MAKE) pure_install DESTDIR=$(prefix) ; \
+		$(MAKE) pure_install ; \
 	cd ..
 
 clean-local:
@@ -72,7 +70,6 @@ maintainer-clean-local:
 		$(PERL) maintainer-clean ; \
 	cd ..
 
-DISTCLEANFILES = perl/Makefile.PL
 CLEANFILES = perl/cqpid_perl.cpp perl/Makefile.old perl/cqpid_perl.pm
 
 endif

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/configure-windows.ps1
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/configure-windows.ps1?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/configure-windows.ps1 (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/configure-windows.ps1 Thu Feb 28 16:14:30 2013
@@ -24,8 +24,8 @@
 # This script configures a qpid\cpp developer build environment under Windows
 # to enable working with cpp\bindings\qpid\dotnet binding source code.
 #
-# * Supports multiple versions of Visual Studio (VS2008, VS2010) as CMake
-#   generator.
+# * Supports multiple versions of Visual Studio (VS2008, VS2010, VS2012) 
+#   as CMake generator.
 #
 # * Supports 32-bit and/or 64-bit development platforms.
 #
@@ -148,10 +148,11 @@ $global:txtWH   = 'Write-Host'
 #############################
 # Visual Studio version selection dialog items and choice
 #
-[array]$global:VsVersionCmakeChoiceList = "Visual Studio 2010", "Visual Studio 2008"
+[array]$global:VsVersionCmakeChoiceList = "Visual Studio 2012", "Visual Studio 2010", "Visual Studio 2008"
 $global:vsVersion = ''
 $global:cmakeGenerator = ''
 $global:vsSubdir = ''
+$global:cmakeCompiler = ''
 
 #############################
 # Select-Folder
@@ -352,18 +353,26 @@ ECHO Environment set for $slnName $studi
 function Return-DropDown {
     if ($DropDown.SelectedItem -ne $null) {
         $global:vsVersion = $DropDown.SelectedItem.ToString()
-        if ($global:vsVersion -eq 'Visual Studio 2010') {
-            $global:cmakeGenerator = "Visual Studio 10"
-            $global:vsSubdir = "msvc10"
+        if ($global:vsVersion -eq 'Visual Studio 2012') {
+            $global:cmakeGenerator = "Visual Studio 11"
+            $global:vsSubdir = "msvc11"
+			$global:cmakeCompiler = "-vc110"
         } else {
-            if ($global:vsVersion -eq 'Visual Studio 2008') {
-                $global:cmakeGenerator = "Visual Studio 9 2008"
-                $global:vsSubdir = "msvc9"
-            } else {
-                Write-Host "Visual Studio must be 2008 or 2010"
-                exit
-            }
-        }
+			if ($global:vsVersion -eq 'Visual Studio 2010') {
+				$global:cmakeGenerator = "Visual Studio 10"
+				$global:vsSubdir = "msvc10"
+				$global:cmakeCompiler = "-vc100"
+			} else {
+				if ($global:vsVersion -eq 'Visual Studio 2008') {
+					$global:cmakeGenerator = "Visual Studio 9 2008"
+					$global:vsSubdir = "msvc9"
+					$global:cmakeCompiler = "-vc90"
+				} else {
+					Write-Host "Visual Studio must be 2008, 2010, or 2012"
+					exit
+				}
+			}
+		}
         $Form.Close()
         Write-Host "Selected generator: $global:cmakeGenerator"
     }
@@ -496,7 +505,7 @@ if ($make32) {
     $env:BOOST_ROOT = "$boost32"
     cd "$build32"
     Write-Host "Running 32-bit CMake in $build32 ..."
-    CMake -G "$global:cmakeGenerator" "-DCMAKE_INSTALL_PREFIX=install_x86" $cppDir
+    CMake -G "$global:cmakeGenerator" "-DGEN_DOXYGEN=No" "-DCMAKE_INSTALL_PREFIX=install_x86" "-DBoost_COMPILER=$global:cmakeCompiler" $cppDir
 } else {
     Write-Host "Skipped 32-bit CMake."
 }
@@ -508,7 +517,7 @@ if ($make64) {
     $env:BOOST_ROOT = "$boost64"
     cd "$build64"
     Write-Host "Running 64-bit CMake in $build64"
-    CMake -G "$global:cmakeGenerator Win64" "-DCMAKE_INSTALL_PREFIX=install_x64" $cppDir
+    CMake -G "$global:cmakeGenerator Win64" "-DGEN_DOXYGEN=No" "-DCMAKE_INSTALL_PREFIX=install_x64" "-DBoost_COMPILER=$global:cmakeCompiler" $cppDir
 } else {
     Write-Host "Skipped 64-bit CMake."
 }

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs Thu Feb 28 16:14:30 2013
@@ -153,6 +153,21 @@ namespace Org.Apache.Qpid.Messaging.Exam
 
 
         /// <summary>
+        /// SessionReceiver implements the ISessionReceiver interface.
+        /// It is the exception function that receives all exception messages
+        /// It may be called any time server is running.
+        /// It is always called on server's private thread.
+        /// After this is called then the sessionReceiver and private thread are closed.
+        /// </summary>
+        /// <param name="exception">The exception.</param>
+        public void SessionException(Exception exception)
+        {
+            // A typical application will take more action here.
+            Console.WriteLine("{0} Exception caught.", exception.ToString());
+        }
+
+
+        /// <summary>
         /// Usage
         /// </summary>
         /// <param name="url">Connection target</param>
@@ -259,8 +274,17 @@ namespace Org.Apache.Qpid.Messaging.Exam
             //
             // Close the receiver and the connection.
             //
-            receiver.Close();
-            connection.Close();
+            try
+            {
+                receiver.Close();
+                connection.Close();
+            }
+            catch (Exception exception)
+            {
+                // receiver or connection may throw if they closed in error.
+                // A typical application will take more action here.
+                Console.WriteLine("{0} Closing exception caught.", exception.ToString());
+            }
             return 0;
         }
     }

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/msvc9/org.apache.qpid.messaging.sessionreceiver.sln
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/msvc9/org.apache.qpid.messaging.sessionreceiver.sln?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/msvc9/org.apache.qpid.messaging.sessionreceiver.sln (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/msvc9/org.apache.qpid.messaging.sessionreceiver.sln Thu Feb 28 16:14:30 2013
@@ -21,7 +21,7 @@ Microsoft Visual Studio Solution File, F
 
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Org.Apache.Qpid.Messaging", "..\src\msvc9\org.apache.qpid.messaging.vcproj", "{AA5A3B83-5F98-406D-A01C-5A921467A57D}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "org.apache.qpid.messaging.sessionreceiver", "..\src\msvc9\sessionreceiver\org.apache.qpid.messaging.sessionreceiver.csproj", "{B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "org.apache.qpid.messaging.sessionreceiver", "..\src\sessionreceiver\msvc9\org.apache.qpid.messaging.sessionreceiver.csproj", "{B0A51CEC-30A2-4C2E-90BE-AE95107EAA05}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/Receiver.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/Receiver.cpp?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/Receiver.cpp (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/Receiver.cpp Thu Feb 28 16:14:30 2013
@@ -344,9 +344,34 @@ namespace Messaging {
 
     void Receiver::Close()
     {
-        msclr::lock lk(privateLock);
-        ThrowIfDisposed();
+        System::Exception         ^ newException = nullptr;
+        Message                   ^ newMessage   = nullptr;
 
-        nativeObjPtr->close();
+        try
+        {
+			msclr::lock lk(privateLock);
+			ThrowIfDisposed();
+
+			nativeObjPtr->close();
+        }
+        catch (const ::qpid::types::Exception & error)
+        {
+            String ^ errmsg = gcnew String(error.what());
+            newException    = gcnew QpidException(errmsg);
+        }
+        finally
+        {
+            if (newException != nullptr)
+            {
+                if (newMessage != nullptr)
+                {
+                    delete newMessage;
+                }
+            }
+        }
+        if (newException != nullptr)
+        {
+            throw newException;
+        }
     }
 }}}}

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/dotnet/src/sessionreceiver/sessionreceiver.cs Thu Feb 28 16:14:30 2013
@@ -37,6 +37,7 @@ namespace Org.Apache.Qpid.Messaging.Sess
     public interface ISessionReceiver
     {
         void SessionReceiver(Receiver receiver, Message message);
+        void SessionException(Exception exception);
     }
 
     
@@ -67,25 +68,32 @@ namespace Org.Apache.Qpid.Messaging.Sess
         {
             Receiver rcvr;
             Message  msg;
-
-            keepRunning = true;
-            while (keepRunning)
+            try
             {
-                rcvr = session.NextReceiver(DurationConstants.SECOND);
-
-                if (null != rcvr)
+                keepRunning = true;
+                while (keepRunning)
                 {
-                    if (keepRunning)
+                    rcvr = session.NextReceiver(DurationConstants.SECOND);
+
+                    if (null != rcvr)
                     {
-                        msg = rcvr.Fetch(DurationConstants.SECOND);
-                        this.callback.SessionReceiver(rcvr, msg);
+                        if (keepRunning)
+                        {
+                            msg = rcvr.Fetch(DurationConstants.SECOND);
+                            this.callback.SessionReceiver(rcvr, msg);
+                        }
                     }
+                    //else
+                    //    receive timed out
+                    //    EventEngine exits the nextReceiver() function periodically
+                    //    in order to test the keepRunning flag
                 }
-                //else
-                //    receive timed out
-                //    EventEngine exits the nextReceiver() function periodically
-                //    in order to test the keepRunning flag
             }
+            catch (Exception e)
+            {
+                this.callback.SessionException(e);
+            }
+
             // Private thread is now exiting.
         }
 

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/client.pl
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/client.pl?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/client.pl (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/client.pl Thu Feb 28 16:14:30 2013
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -20,47 +20,59 @@
 use strict;
 use warnings;
 
-use cqpid_perl;
+use qpid;
 
-my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
-my $connectionOptions =  ( @ARGV > 1 ) ? $ARGV[1] : ""; 
+my $url               = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
+my $connectionOptions = ( @ARGV > 1 )  ? $ARGV[1] : "";
 
-
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+# creates a new connection instance
+my $connection = new qpid::messaging::Connection( $url, $connectionOptions );
 
 eval {
-$connection->open();
-my $session = $connection->createSession();
+    # open the connection and create a session for interacting with it
+    $connection->open();
 
-my $sender = $session->createSender("service_queue");
+    my $session = $connection->create_session();
+    my $sender  = $session->create_sender("service_queue");
 
-#create temp queue & receiver...
-my $responseQueue = new cqpid_perl::Address("#response-queue; {create:always, delete:always}");
-my $receiver = $session->createReceiver($responseQueue);
-
-#Now send some messages...
-
-my @s = (
-      "Twas brillig, and the slithy toves",
-      "Did gire and gymble in the wabe.",
-      "All mimsy were the borogroves,",
-      "And the mome raths outgrabe."
-     );
-
-my $request = new cqpid_perl::Message();
-$request->setReplyTo($responseQueue);
-for (my $i=0; $i<4; $i++) {
-    $request->setContent($s[$i]);
-    $sender->send($request);
-    my $response = $receiver->fetch();
-    print $request->getContent() . " -> " . $response->getContent() . "\n";
-}
+    # create an address and receiver for incoming messages
+    # the queue will be created always, and will be deleted
+    # when the receive disconnects
+    my $responseQueue = new qpid::messaging::Address(
+        "#response-queue; {create:always, delete:always}");
+    my $receiver = $session->create_receiver($responseQueue);
+
+    # Now send some messages...
+
+    my @s = (
+        "Twas brillig, and the slithy toves",
+        "Did gire and gymble in the wabe.",
+        "All mimsy were the borogroves,",
+        "And the mome raths outgrabe."
+    );
+
+    # create the message object, and set a reply-to address
+    # so that the server knows where to send responses
+    # the message object will be reused to send each line
+    my $request = new qpid::messaging::Message();
+    $request->set_reply_to($responseQueue);
+    for ( my $i = 0 ; $i < 4 ; $i++ ) {
+        $request->set_content( $s[$i] );
+        $sender->send($request);
+
+        # wait for the response to the last line sent
+        # the message will be taken directly from the
+        # broker's queue rather than waiting for it
+        # to be queued locally
+        my $response = $receiver->fetch();
+        print $request->get_content() . " -> "
+          . $response->get_content() . "\n";
+    }
 
-$connection->close();
+    # close the connection
+    $connection->close();
 };
 
 if ($@) {
     die $@;
 }
-
-

Propchange: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/client.pl
------------------------------------------------------------------------------
    svn:executable = *

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/drain.pl
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/drain.pl?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/drain.pl (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/drain.pl Thu Feb 28 16:14:30 2013
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -20,79 +20,135 @@
 use strict;
 use warnings;
 
-use cqpid_perl;
+use qpid;
 use Getopt::Long;
+use Pod::Usage;
 
-my $url = "127.0.0.1";
-my $timeout = 60;
-my $forever = 0;
-my $count   = 1;
+my $url               = "127.0.0.1";
+my $timeout           = 0;
+my $forever           = 0;
+my $count             = 0;
 my $connectionOptions = "";
-my $address = "amq.direct";
+my $address           = "amq.direct";
+my $help;
 
 my $result = GetOptions(
-    "broker|b=s"           => \ $url,
-    "timeout|t=i"          => \ $timeout,
-    "forever|f"            => \ $forever,
-    "connection-options=s" => \ $connectionOptions,
-    "count|c=i"            => \ $count,
-);
+    "broker|b=s"           => \$url,
+    "timeout|t=i"          => \$timeout,
+    "forever|f"            => \$forever,
+    "connection-options=s" => \$connectionOptions,
+    "count|c=i"            => \$count,
+    "help|h"               => \$help
+) || pod2usage( -verbose => 0 );
 
-if (! $result) {
-    print "Usage: perl drain.pl [OPTIONS]\n";
-}
+pod2usage( -verbose => 1 ) if $help;
 
-if ($#ARGV ge 0) {
-    $address = $ARGV[0]
+if ( $#ARGV ge 0 ) {
+    $address = $ARGV[0];
 }
 
 sub getTimeout {
-   return ($forever) ? $cqpid_perl::Duration::FOREVER : new cqpid_perl::Duration($timeout*1000);
+
+    # returns either the named duration FOREVER if the
+    # forever cmdline argument was used, otherwise creates
+    # a new Duration of the specified length
+    return ($forever)
+      ? qpid::messaging::Duration::FOREVER
+      : new qpid::messaging::Duration( $timeout * 1000 );
 }
 
+sub printProperties {
+    my $h = shift();
+    return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}];
+}
 
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+# create a connection object
+my $connection = new qpid::messaging::Connection( $url, $connectionOptions );
 
 eval {
+    # open the connection, then create a session and receiver
     $connection->open();
-    my $session  = $connection->createSession();
-    my $receiver = $session->createReceiver($address);
+    my $session  = $connection->create_session();
+    my $receiver = $session->create_receiver($address);
     my $timeout  = getTimeout();
+    my $message  = new qpid::messaging::Message();
+    my $i        = 0;
+
+    for ( ; ; ) {
+        eval { $message = $receiver->fetch($timeout); };
 
-    my $message = new cqpid_perl::Message();
-    my $i = 0;
+        if ($@) {
+            last;
+        }
 
-    while($receiver->fetch($message, $timeout)) {
-        print "Message(properties=" . $message->getProperties() . ",content='";
-        if ($message->getContentType() eq "amqp/map") {
-            my $content = cqpid_perl::decodeMap($message);
-            map{ print "\n$_ => $content->{$_}"; } keys %{$content};
+        # check if the message was on that was redelivered
+        my $redelivered =
+          ( $message->get_redelivered ) ? "redelivered=True, " : "";
+        print "Message("
+          . $redelivered
+          . "properties="
+          . printProperties( $message->get_properties() )
+          . ", content='";
+
+        # if the message content was a map, then we will print
+        # it out as a series of name => value pairs
+        if ( $message->get_content_type() eq "amqp/map" ) {
+            my $content = $message->get_content();
+            map { print "\n$_ => $content->{$_}"; } keys %{$content};
         }
         else {
-            print $message->getContent();
+            # it's not a map, so just print the content as a string
+            print $message->get_content();
         }
         print "')\n";
-       
-        my $replyto = $message->getReplyTo();
-        if ($replyto->getName()) {
-            print "Replying to " . $message->getReplyTo()->str() . "...\n";
-            my $sender = $session->createSender($replyto);
-            my $response = new cqpid_perl::Message("received by the server.");
+
+        # if the message had a reply-to address, then we'll send a
+        # response back letting the send know the message was processed
+        my $replyto = $message->get_reply_to();
+        if ( $replyto->get_name() ) {
+            print "Replying to " . $message->get_reply_to()->str() . "...\n";
+
+            # create a temporary sender for the specified queue
+            my $sender = $session->create_sender($replyto);
+            my $response =
+              new qpid::messaging::Message("received by the server.");
             $sender->send($response);
         }
+
+        # acknowledge all messages received on this queue so far
         $session->acknowledge();
 
-        if ($count and (++$i ==$count)) {
+        if ( $count and ( ++$i == $count ) ) {
             last;
         }
     }
+
+    # close everything to clean up
     $receiver->close();
     $session->close();
     $connection->close();
 };
 
 if ($@) {
-  $connection->close();
-  die $@;
+    $connection->close();
+    die $@;
 }
 
+__END__
+
+=head1 NAME
+
+drain - Drains messages from the specified address
+
+=head1 SYNOPSIS
+
+  Options:
+  -h, --help                    show this message
+  -b VALUE, --broker VALUE      url of broker to connect to
+  -t VALUE, --timeout VALUE     timeout in seconds to wait before exiting
+  -f, --forever                 ignore timeout and wait forever
+  --connection-options VALUE    connection options string in the form {name1:value1, name2:value2}
+  -c VALUE, --count VALUE       number of messages to read before exiting
+
+=cut
+

Propchange: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/drain.pl
------------------------------------------------------------------------------
    svn:executable = *

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_world.pl
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_world.pl?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_world.pl (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_world.pl Thu Feb 28 16:14:30 2013
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -21,35 +21,35 @@ use strict;
 use warnings;
 use Data::Dumper;
 
-use cqpid_perl;
+use qpid;
 
 my $broker            = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672";
 my $address           = ( @ARGV > 1 ) ? $ARGV[0] : "amq.topic";
 my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : "";
 
-my $connection = new cqpid_perl::Connection($broker, $connectionOptions);
+# create a connection
+my $connection = new qpid::messaging::Connection( $broker, $connectionOptions );
 
 eval {
+    # open the connection and create a session, and both a sender a receive
     $connection->open();
-    my $session = $connection->createSession();
 
-    my $receiver = $session->createReceiver($address);
-    my $sender   = $session->createSender($address);
+    my $session = $connection->create_session();
 
-    $sender->send(new cqpid_perl::Message("Hello world!"));
+    my $receiver = $session->create_receiver($address);
+    my $sender   = $session->create_sender($address);
 
-    #my $duration = new cqpid_perl::Duration(1000);
-    #print ">>>" . $duration->getMilliseconds() . "\n";
+    # send a simple message
+    $sender->send( new qpid::messaging::Message("Hello world!") );
 
-    my $message = $receiver->fetch($cqpid_perl::Duration::SECOND);
+    # receive the message, fetching it directly from the broker
+    my $message = $receiver->fetch(qpid::messaging::Duration::SECOND);
 
-    #$message->setDurable(1);
-    #print "Durable: " . $message->getDurable() . "\n";
-    #print Dumper($message->getProperties());
-
-    print $message->getContent() . "\n";
+    # output the message content, then acknowledge it
+    print $message->get_content() . "\n";
     $session->acknowledge();
 
+    # close the connection
     $connection->close();
 };
 

Propchange: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_world.pl
------------------------------------------------------------------------------
    svn:executable = *

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_xml.pl
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_xml.pl?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_xml.pl (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_xml.pl Thu Feb 28 16:14:30 2013
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -20,7 +20,7 @@
 use strict;
 use warnings;
 
-use cqpid_perl;
+use qpid;
 
 my $broker            = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672";
 my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : "";
@@ -36,23 +36,25 @@ END
 
 my $address = <<END;
 xml-exchange; {
-create: always,      
+create: always,
 node: { type: topic, x-declare: { type: xml } },
 link: {
 x-bindings: [{ exchange: xml-exchange, key: weather, arguments: { xquery:" $query" } }]
 }}
 END
 
-
-my $connection = new cqpid_perl::Connection($broker, $connectionOptions);
+# create a connection object
+my $connection = new qpid::messaging::Connection( $broker, $connectionOptions );
 
 eval {
+    # open the connection, then create from it a session
+    # from the session, create a receiver to handle incoming messages
     $connection->open();
-    my $session = $connection->createSession();
+    my $session = $connection->create_session();
+    my $receiver = $session->create_receiver($address);
 
-    my $receiver = $session->createReceiver($address);
-    
-    my $message = new cqpid_perl::Message();
+    # create a message and set its contentn
+    my $message = new qpid::messaging::Message();
 
     my $content = <<END;
     <weather>
@@ -62,14 +64,19 @@ eval {
     <dewpoint>35</dewpoint>
     </weather>
 END
-    
-    $message->setContent($content);
-    my $sender = $session->createSender('xml-exchange/weather');
+
+    $message->set_content($content);
+
+    # create a sender for the xml-exchange/weater topic
+    # then send the message
+    my $sender = $session->create_sender('xml-exchange/weather');
     $sender->send($message);
-    
+
+    # wait for the response and then output it to the screen
     my $response = $receiver->fetch();
-    print $response->getContent() . "\n";
+    print $response->get_content() . "\n";
 
+    # close the connection
     $connection->close();
 };
 

Propchange: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/hello_xml.pl
------------------------------------------------------------------------------
    svn:executable = *

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_receiver.pl
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_receiver.pl?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_receiver.pl (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_receiver.pl Thu Feb 28 16:14:30 2013
@@ -1,4 +1,4 @@
-#! /usr/bin/perl5
+#! /usr/bin/env perl
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -21,25 +21,33 @@ use strict;
 use warnings;
 use Data::Dumper;
 
-use cqpid_perl;
+use qpid;
 
-my $url               = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
-my $address           = ( @ARGV > 1 ) ? $ARGV[0] : "message_queue; {create: always}";
+my $url     = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
+my $address = ( @ARGV > 1 ) ? $ARGV[0] : "message_queue; {create: always}";
 my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : "";
 
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+# create a connection object
+my $connection = new qpid::messaging::Connection( $url, $connectionOptions );
 
 eval {
+    # open the connection, then create a session from it
     $connection->open();
-    my $session  = $connection->createSession();
-    my $receiver = $session->createReceiver($address);
+    my $session  = $connection->create_session();
 
-    my $content = cqpid_perl::decodeMap($receiver->fetch());
-    #my $content = cqpid_perl::decodeList($receiver->fetch());
-   
+    # create a receiver for the session, subscribed the the specified queue
+    my $receiver = $session->create_receiver($address);
+    # wait for a message to appear in the queue
+    my $message  = $receiver->fetch();
+
+    # display the content of the message
+    my $content  = $message->get_content();
     print Dumper($content);
 
+    # acknowledge the message, removing it from the queue
     $session->acknowledge();
+
+    # close everything, cleaning up
     $receiver->close();
     $connection->close();
 };

Propchange: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_receiver.pl
------------------------------------------------------------------------------
    svn:executable = *

Modified: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_sender.pl
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_sender.pl?rev=1451244&r1=1451243&r2=1451244&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_sender.pl (original)
+++ qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_sender.pl Thu Feb 28 16:14:30 2013
@@ -1,4 +1,4 @@
-#! /usr/bin/perl5
+#! /usr/bin/env perl
 #
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -21,29 +21,39 @@ use strict;
 use warnings;
 use Data::Dumper;
 
-use cqpid_perl;
+use qpid;
 
-my $url               = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
-my $address           = ( @ARGV > 1 ) ? $ARGV[1] : "message_queue; {create: always}";
+my $url     = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
+my $address = ( @ARGV > 1 ) ? $ARGV[1] : "message_queue; {create: always}";
 my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[2] : "";
 
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+# create a new connection object
+my $connection = new qpid::messaging::Connection( $url, $connectionOptions );
 
 eval {
+
+    # open the connection and create a session
     $connection->open();
+    my $session = $connection->create_session();
+
+    # create a sender and connect it to the supplied address string
+    my $sender  = $session->create_sender($address);
 
-    my $session = $connection->createSession();
-    my $sender  = $session->createSender($address);
+    # create a message and set the content to be a map of values
+    my $message = new qpid::messaging::Message();
+    my $content = {
+        id      => 987654321,
+        name    => "Widget",
+        percent => sprintf( "%.2f", 0.99 ),
+        colours => [qw (red green white)],
+    };
+    $message->set_content($content);
 
-    my $message = new cqpid_perl::Message();
-    my $content = { id   => 987654321, 
-                    name => "Widget", 
-                    percent => sprintf("%.2f", 0.99), 
-                    colours => [ qw (red green white) ], 
-                   };
-    cqpid_perl::encode($content, $message);
-    $sender->send($message, 1);
+    # send the message
+    $sender->send( $message, 1 );
 
+    # close the connection and session
+    $session->close();
     $connection->close();
 };
 

Propchange: qpid/branches/asyncstore/cpp/bindings/qpid/examples/perl/map_sender.pl
------------------------------------------------------------------------------
    svn:executable = *



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