activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject svn commit: r652104 [1/29] - in /activemq/activemq-cpp/trunk: ./ m4/ src/examples/ src/examples/consumers/ src/main/ src/main/decaf/ src/main/decaf/internal/ src/main/decaf/internal/net/ src/main/decaf/internal/nio/ src/main/decaf/internal/util/ src/ma...
Date Tue, 29 Apr 2008 20:52:37 GMT
Author: tabish
Date: Tue Apr 29 13:52:30 2008
New Revision: 652104

URL: http://svn.apache.org/viewvc?rev=652104&view=rev
Log:
Re-merging decaf back into amqcpp so we can create the next release, decaf can be broken out at some later point.

Added:
    activemq/activemq-cpp/trunk/m4/apr_tools.m4
    activemq/activemq-cpp/trunk/src/main/decaf/
    activemq/activemq-cpp/trunk/src/main/decaf/internal/
    activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/net/
    activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/BufferFactory.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/BufferFactory.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/ByteArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/ByteArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/ByteArrayPerspective.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/ByteArrayPerspective.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/CharArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/CharArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/DoubleArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/DoubleArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/FloatArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/FloatArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/IntArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/IntArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/LongArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/LongArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/ShortArrayBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/ShortArrayBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/util/
    activemq/activemq-cpp/trunk/src/main/decaf/internal/util/ByteArrayAdapter.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/util/ByteArrayAdapter.h
    activemq/activemq-cpp/trunk/src/main/decaf/internal/util/HexStringParser.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/internal/util/HexStringParser.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/
    activemq/activemq-cpp/trunk/src/main/decaf/io/BlockingByteArrayInputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/BlockingByteArrayInputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/BufferedInputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/BufferedInputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/BufferedOutputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/BufferedOutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/ByteArrayInputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/ByteArrayInputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/ByteArrayOutputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/ByteArrayOutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/Closeable.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/DataInputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/DataInputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/DataOutputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/io/DataOutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/EOFException.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/FilterInputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/FilterOutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/IOException.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/InputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/InterruptedIOException.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/OutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/Reader.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/StandardErrorOutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/io/Writer.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Appendable.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Boolean.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Boolean.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Byte.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Byte.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/CharSequence.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Character.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Character.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Comparable.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Double.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Double.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Exception.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Exception.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Float.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Float.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Integer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Integer.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Iterable.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Long.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Long.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Math.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Math.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Number.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Runnable.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Short.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Short.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/System.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/System.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Thread.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Thread.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/Throwable.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/ExceptionDefines.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/IllegalArgumentException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/IllegalMonitorStateException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/IllegalStateException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/IndexOutOfBoundsException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/InterruptedException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/InvalidStateException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/NoSuchElementException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/NullPointerException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/NumberFormatException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/RuntimeException.h
    activemq/activemq-cpp/trunk/src/main/decaf/lang/exceptions/UnsupportedOperationException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/
    activemq/activemq-cpp/trunk/src/main/decaf/net/BindException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/BufferedSocket.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/BufferedSocket.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/ConnectException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/HttpRetryException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/MalformedURLException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/NoRouteToHostException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/PortUnreachableException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/ProtocolException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/ServerSocket.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/ServerSocket.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/Socket.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketError.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketError.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketFactory.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketFactory.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketInputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketInputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketOutputStream.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketOutputStream.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/SocketTimeoutException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/TcpSocket.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/TcpSocket.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/URI.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/URI.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/URISyntaxException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/URL.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/URL.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/URLDecoder.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/URLDecoder.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/URLEncoder.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/net/URLEncoder.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/UnknownHostException.h
    activemq/activemq-cpp/trunk/src/main/decaf/net/UnknownServiceException.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/
    activemq/activemq-cpp/trunk/src/main/decaf/nio/Buffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/Buffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/BufferOverflowException.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/BufferUnderflowException.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/ByteBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/ByteBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/CharBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/CharBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/DoubleBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/DoubleBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/FloatBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/FloatBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/IntBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/IntBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/InvalidMarkException.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/LongBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/LongBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/ReadOnlyBufferException.h
    activemq/activemq-cpp/trunk/src/main/decaf/nio/ShortBuffer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/nio/ShortBuffer.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/
    activemq/activemq-cpp/trunk/src/main/decaf/security/GeneralSecurityException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/InvalidKeyException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/Key.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/KeyException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/NoSuchAlgorithmException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/NoSuchProviderException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/Principal.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/PublicKey.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/SignatureException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/auth/
    activemq/activemq-cpp/trunk/src/main/decaf/security/auth/x500/
    activemq/activemq-cpp/trunk/src/main/decaf/security/auth/x500/X500Principal.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/Certificate.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/CertificateEncodingException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/CertificateException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/CertificateExpiredException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/CertificateNotYetValidException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/CertificateParsingException.h
    activemq/activemq-cpp/trunk/src/main/decaf/security/cert/X509Certificate.h
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/SecurityProvider.h
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/SecurityProviderMap.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/SecurityProviderMap.h
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/SecurityProviderRegistrar.h
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/unix/
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/unix/openssl/
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/unix/openssl/OpenSSLX500Principal.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/unix/openssl/OpenSSLX500Principal.h
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/unix/openssl/OpenSSLX509Certificate.h
    activemq/activemq-cpp/trunk/src/main/decaf/security_provider/windows/
    activemq/activemq-cpp/trunk/src/main/decaf/util/
    activemq/activemq-cpp/trunk/src/main/decaf/util/Collection.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Comparator.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Config.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Date.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/Date.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Iterator.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Map.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Properties.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Queue.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Random.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/Random.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/Set.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/StringTokenizer.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/StringTokenizer.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/UUID.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/UUID.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/Concurrent.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/CountDownLatch.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/CountDownLatch.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/Lock.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/Mutex.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/Mutex.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/PooledThread.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/PooledThread.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/PooledThreadListener.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/Synchronizable.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/TaskListener.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/ThreadPool.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/concurrent/ThreadPool.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/ConsoleHandler.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/Filter.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/Formatter.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/Handler.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LogManager.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LogManager.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LogRecord.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LogWriter.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LogWriter.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/Logger.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/Logger.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LoggerCommon.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LoggerDefines.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LoggerHierarchy.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/LoggerHierarchy.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/MarkBlockLogger.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/PropertiesChangeListener.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/SimpleFormatter.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/SimpleLogger.cpp
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/SimpleLogger.h
    activemq/activemq-cpp/trunk/src/main/decaf/util/logging/StreamHandler.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/io/
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/io/DataInputStreamBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/io/DataInputStreamBenchmark.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/io/DataOutputStreamBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/io/DataOutputStreamBenchmark.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/lang/
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/lang/BooleanBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/lang/BooleanBenchmark.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/MapBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/MapBenchmark.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/PropertiesBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/PropertiesBenchmark.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/QueueBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/QueueBenchmark.h
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/SetBenchmark.cpp
    activemq/activemq-cpp/trunk/src/test-benchmarks/decaf/util/SetBenchmark.h
    activemq/activemq-cpp/trunk/src/test/decaf/
    activemq/activemq-cpp/trunk/src/test/decaf/internal/
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/BufferFactoryTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/BufferFactoryTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/ByteArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/ByteArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/ByteArrayPerspectiveTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/ByteArrayPerspectiveTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/CharArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/CharArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/DoubleArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/DoubleArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/FloatArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/FloatArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/IntArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/IntArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/LongArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/LongArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/ShortArrayBufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/nio/ShortArrayBufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/internal/util/
    activemq/activemq-cpp/trunk/src/test/decaf/internal/util/ByteArrayAdapterTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/internal/util/ByteArrayAdapterTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/
    activemq/activemq-cpp/trunk/src/test/decaf/io/BufferedInputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/BufferedInputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/BufferedOutputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/BufferedOutputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/ByteArrayInputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/ByteArrayInputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/ByteArrayOutputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/ByteArrayOutputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/DataInputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/DataInputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/DataOutputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/DataOutputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/FilterInputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/FilterInputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/io/FilterOutputStreamTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/io/FilterOutputStreamTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/
    activemq/activemq-cpp/trunk/src/test/decaf/lang/BooleanTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/BooleanTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ByteTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ByteTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/CharacterTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/CharacterTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/DoubleTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/DoubleTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ExceptionTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ExceptionTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/FloatTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/FloatTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/IntegerTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/IntegerTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/LongTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/LongTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/MathTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/MathTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ShortTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ShortTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/SystemTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/SystemTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ThreadTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/lang/ThreadTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/lang/exceptions/
    activemq/activemq-cpp/trunk/src/test/decaf/net/
    activemq/activemq-cpp/trunk/src/test/decaf/net/SocketFactoryTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/net/SocketFactoryTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/net/SocketTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/net/SocketTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/net/URISyntaxExceptionTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/net/URISyntaxExceptionTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/net/URITest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/net/URITest.h
    activemq/activemq-cpp/trunk/src/test/decaf/nio/
    activemq/activemq-cpp/trunk/src/test/decaf/nio/BufferTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/nio/BufferTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/
    activemq/activemq-cpp/trunk/src/test/decaf/util/DateTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/DateTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/Endian.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/Endian.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/MapTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/MapTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/QueueTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/QueueTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/RandomTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/RandomTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/SetTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/SetTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/StringTokenizerTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/StringTokenizerTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/UUIDTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/UUIDTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/CountDownLatchTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/CountDownLatchTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/MutexTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/MutexTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/ThreadPoolTest.cpp
    activemq/activemq-cpp/trunk/src/test/decaf/util/concurrent/ThreadPoolTest.h
    activemq/activemq-cpp/trunk/src/test/decaf/util/logging/
    activemq/activemq-cpp/trunk/src/test/testRegistry.cpp
Modified:
    activemq/activemq-cpp/trunk/Makefile.am
    activemq/activemq-cpp/trunk/activemqcpp-config.in
    activemq/activemq-cpp/trunk/configure.ac
    activemq/activemq-cpp/trunk/src/examples/consumers/SimpleAsyncConsumer.cpp
    activemq/activemq-cpp/trunk/src/examples/main.cpp
    activemq/activemq-cpp/trunk/src/main/Makefile.am
    activemq/activemq-cpp/trunk/src/test-benchmarks/Makefile.am
    activemq/activemq-cpp/trunk/src/test-benchmarks/testRegistry.cpp
    activemq/activemq-cpp/trunk/src/test/Makefile.am

Modified: activemq/activemq-cpp/trunk/Makefile.am
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/Makefile.am?rev=652104&r1=652103&r2=652104&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/Makefile.am (original)
+++ activemq/activemq-cpp/trunk/Makefile.am Tue Apr 29 13:52:30 2008
@@ -15,12 +15,10 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-AMQ_EXTERNAL_PROJECT_SUBDIRS=@AMQ_EXTERNAL_PROJECT_SUBDIRS@
-
 # Since we don't strictly follow the GNU standard of having 'NEWS README AUTHORS ChangeLog' files
 AUTOMAKE_OPTIONS = foreign
 
-SUBDIRS = $(AMQ_EXTERNAL_PROJECT_SUBDIRS) src/main src/examples
+SUBDIRS = src/main src/examples
 if BUILD_CPPUNIT_TESTS
   SUBDIRS += src/test src/test-integration src/test-benchmarks
 endif

Modified: activemq/activemq-cpp/trunk/activemqcpp-config.in
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemqcpp-config.in?rev=652104&r1=652103&r2=652104&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemqcpp-config.in (original)
+++ activemq/activemq-cpp/trunk/activemqcpp-config.in Tue Apr 29 13:52:30 2008
@@ -18,8 +18,11 @@
 
 prefix=@prefix@
 exec_prefix=@exec_prefix@
-exec_prefix_set=no
-includedir=@includedir@
+bindir="@bindir@"
+libdir="@libdir@"
+datadir="@datadir@"
+installbuilddir="@installbuilddir@"
+includedir="@includedir@"
 
 usage()
 {

Modified: activemq/activemq-cpp/trunk/configure.ac
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/configure.ac?rev=652104&r1=652103&r2=652104&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/configure.ac (original)
+++ activemq/activemq-cpp/trunk/configure.ac Tue Apr 29 13:52:30 2008
@@ -91,6 +91,21 @@
 AMQ_FIND_CPPUNIT(1.10.2, cppunit=yes, cppunit=no; AC_MSG_RESULT([no. Unit and Integration tests disabled]))
 AM_CONDITIONAL(BUILD_CPPUNIT_TESTS, test x$cppunit = xyes)
 
+# Absolute source/build directory
+decaf_srcdir=`(cd $srcdir && pwd)`
+decaf_builddir=`pwd`
+AC_SUBST(decaf_srcdir)
+AC_SUBST(decaf_builddir)
+
+if test "$decaf_builddir" != "$decaf_srcdir"; then
+  USE_VPATH=1
+  DECAF_CONFIG_LOCATION=build
+else
+  DECAF_CONFIG_LOCATION=source
+fi
+
+AC_SUBST(DECAF_CONFIG_LOCATION)
+
 PLAT_CXXFLAGS=
 PLAT_LIBS=
 
@@ -131,32 +146,44 @@
 esac
 
 ## find and configure the Apache Decaf Library
-DECAF_CONFIGURE_DECAF
+## DECAF_CONFIGURE_DECAF - Future use for decaf as a standalone lib
+## Flags for building the decaf cpp library
+## find and configure the APR, and APR Utils
+DECAF_CONFIGURE_APR
+DECAF_CXXFLAGS="$APR_CPPFLAGS $APR_INCLUDES $APU_INCLUDES"
+DECAF_LIBS="$APR_LIBS $APR_LDFLAGS $APU_LIBS $APU_LDFLAGS"
+
+AC_SUBST([DECAF_CXXFLAGS])
+AC_SUBST([DECAF_LIBS])
+
+## Flags for building the test applications.
+DECAF_TEST_CXXFLAGS="$DECAF_CXXFLAGS $APR_CPPFLAGS $APR_INCLUDES $APU_INCLUDES"
+AC_SUBST([DECAF_TEST_CXXFLAGS])
 
 ## Flags for building the activemq-cpp library
 AC_SUBST([AMQ_CXXFLAGS])
 AC_SUBST([AMQ_LIBS])
 
 if test "$GCC" = "yes"; then
-   AMQ_CXXFLAGS="$PLAT_CXXFLAGS $DECAF_INCLUDES $DECAF_CPPFLAGS -W -Wall -fPIC -fstrict-aliasing -Wstrict-aliasing=2 -Wno-long-long"
+   AMQ_CXXFLAGS="$PLAT_CXXFLAGS $DECAF_INCLUDES $DECAF_CXXFLAGS -W -Wall -fPIC -fstrict-aliasing -Wstrict-aliasing=2 -Wno-long-long"
 else
-   AMQ_CXXFLAGS="$PLAT_CXXFLAGS $DECAF_INCLUDES $DECAF_CPPFLAGS -PIC"
+   AMQ_CXXFLAGS="$PLAT_CXXFLAGS $DECAF_INCLUDES $DECAF_CXXFLAGS -PIC"
 fi
 
 AMQ_LIBS="$PLAT_LIBS $DECAF_LIBS"
 
-## Flags for building the test applications.
-AC_SUBST([AMQ_TEST_CXXFLAGS])
-AC_SUBST([AMQ_TEST_LIBS])
-
 if test "$GCC" = "yes"; then
-   AMQ_TEST_CXXFLAGS="$AMQ_CXXFLAGS $DECAF_INCLUDES $DECAF_CPPFLAGS -Wno-non-virtual-dtor -Wno-unused-parameter -Wno-uninitialized"
+   AMQ_TEST_CXXFLAGS="$AMQ_CXXFLAGS $DECAF_INCLUDES $DECAF_CXXFLAGS -Wno-non-virtual-dtor -Wno-unused-parameter -Wno-uninitialized"
 else
-   AMQ_TEST_CXXFLAGS="$AMQ_CXXFLAGS $DECAF_INCLUDES $DECAF_CPPFLAGS"
+   AMQ_TEST_CXXFLAGS="$AMQ_CXXFLAGS $DECAF_INCLUDES $DECAF_CXXFLAGS"
 fi
 
 AMQ_TEST_LIBS="../main/libactivemq-cpp.la $DECAF_LIBS"
 
+## Flags for building the test applications.
+AC_SUBST([AMQ_TEST_CXXFLAGS])
+AC_SUBST([AMQ_TEST_LIBS])
+
 # Check to see if the compiler supports the visibility flags.
 # If so, define HAVE_VISIBILITY_OPTIONS
 CHECK_VISIBILITY()

Added: activemq/activemq-cpp/trunk/m4/apr_tools.m4
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/m4/apr_tools.m4?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/m4/apr_tools.m4 (added)
+++ activemq/activemq-cpp/trunk/m4/apr_tools.m4 Tue Apr 29 13:52:30 2008
@@ -0,0 +1,107 @@
+dnl -------------------------------------------------------- -*- autoconf -*-
+dnl Licensed to the Apache Software Foundation (ASF) under one or more
+dnl contributor license agreements.  See the NOTICE file distributed with
+dnl this work for additional information regarding copyright ownership.
+dnl The ASF licenses this file to You under the Apache License, Version 2.0
+dnl (the "License"); you may not use this file except in compliance with
+dnl the License.  You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+dnl -------------------------------------------------------- -*- autoconf -*-
+dnl
+dnl  This Macro File defines functions that help to manage the libraries
+dnl  dependance on the Apache Portable Runtime.
+dnl
+dnl  DECAF_CONFIGURE_APR()
+dnl
+dnl  Check configure options and assign variables related to
+dnl  the Apache Portable Runtime (APR) library.
+dnl
+
+AC_DEFUN([DECAF_CONFIGURE_APR],
+[
+  AC_MSG_NOTICE([Apache Portable Runtime (APR) library configuration])
+  APR_FIND_APR([], [], 1, [0 1])
+  APR_FIND_APU([], [], 1, [0 1])
+
+  if test $apr_found = "no"; then
+    AC_MSG_WARN([APR not found])
+    DECAF_DOWNLOAD_APR
+  fi
+
+  if test $apu_found = "no"; then
+    AC_MSG_WARN([APR Utils not found])
+    DECAF_DOWNLOAD_APU
+  fi
+
+  dnl Get build information from APR
+
+  APR_CPPFLAGS="`$apr_config --cppflags`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apr-config --cppflags failed])
+  fi
+
+  APR_INCLUDES="`$apr_config --includes`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apr-config --includes failed])
+  fi
+  APU_INCLUDES="`$apu_config --includes`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apu-config --includes failed])
+  fi
+
+  APR_LDFLAGS="`$apr_config --ldflags`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apr-config --ldflags failed])
+  fi
+  APU_LDFLAGS="`$apu_config --ldflags`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apu-config --ldflags failed])
+  fi
+
+  APR_LIBS="`$apr_config --link-libtool --libs`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apr-config --link-libtool --libs failed])
+  fi
+  APU_LIBS="`$apu_config --link-libtool --libs`"
+  if test $? -ne 0; then
+    AC_MSG_ERROR([apu-config --link-libtool --libs failed])
+  fi
+
+  AC_SUBST([APR_LIBS])
+  AC_SUBST([APR_LDFLAGS])
+  AC_SUBST([APR_CPPFLAGS])
+  AC_SUBST([APR_INCLUDES])
+  AC_SUBST([APU_LIBS])
+  AC_SUBST([APU_LDFLAGS])
+  AC_SUBST([APU_INCLUDES])
+
+])
+
+dnl DECAF_DOWNLOAD_APR()
+dnl no apr found, print out a message telling the user what to do
+AC_DEFUN([DECAF_DOWNLOAD_APR],
+[
+  echo "The Apache Portable Runtime (APR) library cannot be found."
+  echo "Please install APR on this system and supply the appropriate"
+  echo "--with-apr option to 'configure'"
+
+  AC_MSG_ERROR([no suitable APR found])
+])
+
+dnl DECAF_DOWNLOAD_APU()
+dnl no apr-utils found, print out a message telling the user what to do
+AC_DEFUN([DECAF_DOWNLOAD_APU],
+[
+  echo "The Apache Portable Runtime (APR) Utils library cannot be found."
+  echo "Please install APR Utils on this system and supply the appropriate"
+  echo "--with-apr option to 'configure'"
+
+  AC_MSG_ERROR([no suitable APR Utils found])
+])

Modified: activemq/activemq-cpp/trunk/src/examples/consumers/SimpleAsyncConsumer.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/examples/consumers/SimpleAsyncConsumer.cpp?rev=652104&r1=652103&r2=652104&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/examples/consumers/SimpleAsyncConsumer.cpp (original)
+++ activemq/activemq-cpp/trunk/src/examples/consumers/SimpleAsyncConsumer.cpp Tue Apr 29 13:52:30 2008
@@ -144,6 +144,7 @@
     // registered as an ExceptionListener with the connection.
     virtual void onException( const CMSException& ex AMQCPP_UNUSED) {
         printf("CMS Exception occured.  Shutting down client.\n");
+        exit(1);
     }
 
 private:

Modified: activemq/activemq-cpp/trunk/src/examples/main.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/examples/main.cpp?rev=652104&r1=652103&r2=652104&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/examples/main.cpp (original)
+++ activemq/activemq-cpp/trunk/src/examples/main.cpp Tue Apr 29 13:52:30 2008
@@ -285,6 +285,7 @@
     // registered as an ExceptionListener with the connection.
     virtual void onException( const CMSException& ex AMQCPP_UNUSED) {
         printf("CMS Exception occured.  Shutting down client.\n");
+        exit(1);
     }
 
 private:

Modified: activemq/activemq-cpp/trunk/src/main/Makefile.am
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/Makefile.am?rev=652104&r1=652103&r2=652104&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/Makefile.am (original)
+++ activemq/activemq-cpp/trunk/src/main/Makefile.am Tue Apr 29 13:52:30 2008
@@ -77,8 +77,71 @@
     activemq/transport/filters/TcpTransport.cpp \
     activemq/transport/filters/TcpTransportFactory.cpp \
     activemq/transport/filters/LoggingTransport.cpp \
-    activemq/transport/filters/LoggingTransportFactory.cpp
-
+    activemq/transport/filters/LoggingTransportFactory.cpp \
+    decaf/internal/AprRuntime.cpp \
+    decaf/internal/AprPool.cpp \
+    decaf/internal/util/ByteArrayAdapter.cpp \
+    decaf/internal/util/HexStringParser.cpp \
+    decaf/internal/nio/BufferFactory.cpp \
+    decaf/internal/nio/ByteArrayPerspective.cpp \
+    decaf/internal/nio/ByteArrayBuffer.cpp \
+    decaf/internal/nio/CharArrayBuffer.cpp \
+    decaf/internal/nio/DoubleArrayBuffer.cpp \
+    decaf/internal/nio/FloatArrayBuffer.cpp \
+    decaf/internal/nio/LongArrayBuffer.cpp \
+    decaf/internal/nio/IntArrayBuffer.cpp \
+    decaf/internal/nio/ShortArrayBuffer.cpp \
+    decaf/net/ServerSocket.cpp \
+    decaf/net/SocketOutputStream.cpp \
+    decaf/net/BufferedSocket.cpp \
+    decaf/net/SocketInputStream.cpp \
+    decaf/net/SocketError.cpp \
+    decaf/net/TcpSocket.cpp \
+    decaf/net/SocketFactory.cpp \
+    decaf/net/URI.cpp \
+    decaf/net/URL.cpp \
+    decaf/net/URLEncoder.cpp \
+    decaf/net/URLDecoder.cpp \
+    decaf/lang/Exception.cpp \
+    decaf/lang/Thread.cpp \
+    decaf/lang/Byte.cpp \
+    decaf/lang/Character.cpp \
+    decaf/lang/Boolean.cpp \
+    decaf/lang/Short.cpp \
+    decaf/lang/Integer.cpp \
+    decaf/lang/Long.cpp \
+    decaf/lang/Float.cpp \
+    decaf/lang/Double.cpp \
+    decaf/lang/Math.cpp \
+    decaf/lang/System.cpp \
+    decaf/io/BufferedOutputStream.cpp \
+    decaf/io/BufferedInputStream.cpp \
+    decaf/io/ByteArrayInputStream.cpp \
+    decaf/io/DataInputStream.cpp \
+    decaf/io/DataOutputStream.cpp \
+    decaf/io/ByteArrayOutputStream.cpp \
+    decaf/io/BlockingByteArrayInputStream.cpp \
+    decaf/util/concurrent/Mutex.cpp \
+    decaf/util/concurrent/CountDownLatch.cpp \
+    decaf/util/concurrent/PooledThread.cpp \
+    decaf/util/concurrent/ThreadPool.cpp \
+    decaf/util/Date.cpp \
+    decaf/util/UUID.cpp \
+    decaf/util/StringTokenizer.cpp \
+    decaf/util/Random.cpp \
+    decaf/util/logging/LoggerHierarchy.cpp \
+    decaf/util/logging/Logger.cpp \
+    decaf/util/logging/LogWriter.cpp \
+    decaf/util/logging/SimpleLogger.cpp \
+    decaf/util/logging/LogManager.cpp \
+    decaf/nio/Buffer.cpp \
+    decaf/nio/ByteBuffer.cpp \
+    decaf/nio/CharBuffer.cpp \
+    decaf/nio/DoubleBuffer.cpp \
+    decaf/nio/FloatBuffer.cpp \
+    decaf/nio/IntBuffer.cpp \
+    decaf/nio/LongBuffer.cpp \
+    decaf/nio/ShortBuffer.cpp
 
 h_sources = \
     activemq/core/ActiveMQProducer.h \
@@ -227,7 +290,141 @@
     cms/MessageProducer.h \
     cms/Message.h \
     cms/MessageConsumer.h \
-    cms/Config.h
+    cms/Config.h \
+    decaf/net/BindException.h \
+    decaf/net/ConnectException.h \
+    decaf/net/HttpRetryException.h \
+    decaf/net/MalformedURLException.h \
+    decaf/net/NoRouteToHostException.h \
+    decaf/net/PortUnreachableException.h \
+    decaf/net/ProtocolException.h \
+    decaf/net/SocketException.h \
+    decaf/net/SocketTimeoutException.h \
+    decaf/net/UnknownHostException.h \
+    decaf/net/UnknownServiceException.h \
+    decaf/net/URISyntaxException.h \
+    decaf/net/BufferedSocket.h \
+    decaf/net/TcpSocket.h \
+    decaf/net/SocketError.h \
+    decaf/net/SocketOutputStream.h \
+    decaf/net/Socket.h \
+    decaf/net/SocketInputStream.h \
+    decaf/net/ServerSocket.h \
+    decaf/net/SocketFactory.h \
+    decaf/net/URI.h \
+    decaf/net/URL.h \
+    decaf/net/URLEncoder.h \
+    decaf/net/URLDecoder.h \
+    decaf/lang/Throwable.h \
+    decaf/lang/Exception.h \
+    decaf/lang/Byte.h \
+    decaf/lang/Character.h \
+    decaf/lang/CharSequence.h \
+    decaf/lang/Comparable.h \
+    decaf/lang/Iterable.h \
+    decaf/lang/Short.h \
+    decaf/lang/Integer.h \
+    decaf/lang/Long.h \
+    decaf/lang/Float.h \
+    decaf/lang/Double.h \
+    decaf/lang/Thread.h \
+    decaf/lang/Number.h \
+    decaf/lang/Runnable.h \
+    decaf/lang/Math.h \
+    decaf/lang/System.h \
+    decaf/lang/Boolean.h \
+    decaf/lang/exceptions/NoSuchElementException.h \
+    decaf/lang/exceptions/RuntimeException.h \
+    decaf/lang/exceptions/IndexOutOfBoundsException.h \
+    decaf/lang/exceptions/NullPointerException.h \
+    decaf/lang/exceptions/IllegalStateException.h \
+    decaf/lang/exceptions/IllegalMonitorStateException.h \
+    decaf/lang/exceptions/InvalidStateException.h \
+    decaf/lang/exceptions/ExceptionDefines.h \
+    decaf/lang/exceptions/IllegalArgumentException.h \
+    decaf/lang/exceptions/UnsupportedOperationException.h \
+    decaf/lang/exceptions/InterruptedException.h \
+    decaf/lang/exceptions/NumberFormatException.h \
+    decaf/io/BufferedOutputStream.h \
+    decaf/io/StandardErrorOutputStream.h \
+    decaf/io/OutputStream.h \
+    decaf/io/Writer.h \
+    decaf/io/ByteArrayOutputStream.h \
+    decaf/io/Closeable.h \
+    decaf/io/DataOutputStream.h \
+    decaf/io/ByteArrayInputStream.h \
+    decaf/io/FilterInputStream.h \
+    decaf/io/Reader.h \
+    decaf/io/BlockingByteArrayInputStream.h \
+    decaf/io/DataInputStream.h \
+    decaf/io/EOFException.h \
+    decaf/io/FilterOutputStream.h \
+    decaf/io/BufferedInputStream.h \
+    decaf/io/InputStream.h \
+    decaf/io/IOException.h \
+    decaf/io/InterruptedIOException.h \
+    decaf/util/concurrent/Lock.h \
+    decaf/util/concurrent/Concurrent.h \
+    decaf/util/concurrent/CountDownLatch.h \
+    decaf/util/concurrent/Synchronizable.h \
+    decaf/util/concurrent/Mutex.h \
+    decaf/util/concurrent/PooledThread.h \
+    decaf/util/concurrent/PooledThreadListener.h \
+    decaf/util/concurrent/TaskListener.h \
+    decaf/util/concurrent/ThreadPool.h \
+    decaf/util/Config.h \
+    decaf/util/Date.h \
+    decaf/util/UUID.h \
+    decaf/util/Iterator.h \
+    decaf/util/Collection.h \
+    decaf/util/Comparator.h \
+    decaf/util/Map.h \
+    decaf/util/Properties.h \
+    decaf/util/Queue.h \
+    decaf/util/Set.h \
+    decaf/util/Random.h \
+    decaf/util/StringTokenizer.h \
+    decaf/util/logging/Handler.h \
+    decaf/util/logging/Logger.h \
+    decaf/util/logging/LoggerCommon.h \
+    decaf/util/logging/ConsoleHandler.h \
+    decaf/util/logging/SimpleFormatter.h \
+    decaf/util/logging/Formatter.h \
+    decaf/util/logging/LoggerHierarchy.h \
+    decaf/util/logging/LogManager.h \
+    decaf/util/logging/MarkBlockLogger.h \
+    decaf/util/logging/StreamHandler.h \
+    decaf/util/logging/LoggerDefines.h \
+    decaf/util/logging/Filter.h \
+    decaf/util/logging/LogRecord.h \
+    decaf/util/logging/LogWriter.h \
+    decaf/util/logging/SimpleLogger.h \
+    decaf/util/logging/PropertiesChangeListener.h \
+    decaf/internal/AprPool.h \
+    decaf/internal/AprRuntime.h \
+    decaf/internal/util/HexStringParser.h \
+    decaf/internal/util/ByteArrayAdapter.h \
+    decaf/internal/nio/BufferFactory.h \
+    decaf/internal/nio/ByteArrayPerspective.h \
+    decaf/internal/nio/ByteArrayBuffer.h \
+    decaf/internal/nio/CharArrayBuffer.h \
+    decaf/internal/nio/DoubleArrayBuffer.h \
+    decaf/internal/nio/FloatArrayBuffer.h \
+    decaf/internal/nio/LongArrayBuffer.h \
+    decaf/internal/nio/IntArrayBuffer.h \
+    decaf/internal/nio/ShortArrayBuffer.h \
+    decaf/nio/Buffer.h \
+    decaf/nio/ByteBuffer.h \
+    decaf/nio/CharBuffer.h \
+    decaf/nio/DoubleBuffer.h \
+    decaf/nio/FloatBuffer.h \
+    decaf/nio/IntBuffer.h \
+    decaf/nio/LongBuffer.h \
+    decaf/nio/ShortBuffer.h \
+    decaf/nio/BufferOverflowException.h \
+    decaf/nio/BufferUnderflowException.h \
+    decaf/nio/InvalidMarkException.h \
+    decaf/nio/ReadOnlyBufferException.h
 
 include activemq/connector/openwire/commands/srcmakefile.mk
 include activemq/connector/openwire/marshal/v1/srcmakefile.mk

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.cpp?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.cpp Tue Apr 29 13:52:30 2008
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "AprPool.h"
+
+using namespace decaf;
+using namespace decaf::internal;
+
+////////////////////////////////////////////////////////////////////////////////
+AprPool::AprPool() {
+    aprPool = NULL;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+AprPool::~AprPool() {
+
+    // Destroy the pool if it was allocated.
+    destroyPool();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void AprPool::allocatePool() const {
+
+    if( aprPool == NULL ) {
+        apr_pool_create( &aprPool, NULL );
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void AprPool::destroyPool() {
+
+    if( aprPool != NULL ) {
+        apr_pool_destroy( aprPool );
+    }
+
+    aprPool = NULL;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void AprPool::cleanup() {
+
+    if( aprPool != NULL ) {
+        apr_pool_clear( aprPool );
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+apr_pool_t* AprPool::getAprPool() const {
+
+    // Creates a single static instance that will on the first call
+    // init apr and remain in memory until we shutdown and then free
+    // the apr resources.
+    static AprRuntime aprRuntime;
+
+    // Ensure that the pool has been allocated.
+    allocatePool();
+
+    return aprPool;
+}

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.h?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.h (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/AprPool.h Tue Apr 29 13:52:30 2008
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+#ifndef _DECAF_INTERNAL_APRPOOL_H_
+#define _DECAF_INTERNAL_APRPOOL_H_
+
+#include <decaf/util/Config.h>
+#include <decaf/internal/AprRuntime.h>
+
+#include <apr_pools.h>
+
+namespace decaf{
+namespace internal{
+
+    /**
+     * Wraps an APR pool object so that classes in decaf can create a static
+     * member for use in static methods where apr function calls that need a pool
+     * are made.
+     */
+    class DECAF_API AprPool {
+    private:
+
+        /**
+         * Internal APR pool
+         */
+        mutable apr_pool_t* aprPool;
+
+    public:
+
+        AprPool();
+        virtual ~AprPool();
+
+        /**
+         * Gets the internal APR Pool.
+         * @returns the internal APR pool
+         */
+        apr_pool_t* getAprPool() const;
+
+        /**
+         * Clears data that was allocated by this pool.  Users should call this
+         * after getting the data from the APR functions and copying it to
+         * someplace safe.
+         */
+        void cleanup();
+
+    private:
+
+        /**
+         * Allocates the pool if it isn't already allocated.
+         */
+        void allocatePool() const;
+
+        /**
+         * Destroys the pool if it has been allocated.
+         */
+        void destroyPool();
+    };
+
+}}
+
+#endif /*_DECAF_INTERNAL_APRPOOL_H_*/

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.cpp?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.cpp Tue Apr 29 13:52:30 2008
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "AprRuntime.h"
+
+#include <apr.h>
+#include <apr_general.h>
+#include <apr_pools.h>
+
+using namespace decaf::internal;
+
+////////////////////////////////////////////////////////////////////////////////
+AprRuntime::AprRuntime() {
+            
+    // Initializes the APR Runtime from within a library.
+    apr_initialize();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+AprRuntime::~AprRuntime() {
+    
+    // Cleans up APR data structures.
+    apr_terminate();
+} 
+

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.h?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.h (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/AprRuntime.h Tue Apr 29 13:52:30 2008
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+#ifndef _DECAF_INTERNAL_APRRUNTIME_H
+#define _DECAF_INTERNAL_APRRUNTIME_H
+
+namespace decaf {
+namespace internal {
+
+    /**
+     * Handles APR initialization and termination.
+     */
+    class AprRuntime {
+    public:
+    
+        /**
+         * Initializes the APR Runtime for a library.
+         */
+        AprRuntime();
+    
+        /**
+         * Terminates the APR Runtime for a library.
+         */
+        virtual ~AprRuntime();
+    
+    };
+    
+}}
+
+#endif /*_DECAF_INTERNAL_APRRUNTIME_H*/

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.cpp?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.cpp Tue Apr 29 13:52:30 2008
@@ -0,0 +1,173 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "URIEncoderDecoder.h"
+
+#include <decaf/lang/Character.h>
+
+using namespace decaf;
+using namespace decaf::internal;
+using namespace decaf::internal::net
+
+////////////////////////////////////////////////////////////////////////////////
+const std::string URIEncoderDecoder::digits = "0123456789ABCDEF";
+
+////////////////////////////////////////////////////////////////////////////////
+URIEncoderDecoder::URIEncoderDecoder() {
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void URIEncoderDecoder::validate( const std::string& s, const std::string& legal)
+    throw ( URISyntaxException ) {
+
+    std::string::const_iterator itr = s.begin();
+
+    for( int i = 0; itr != s.end(); ++i, ++iter ) {
+
+        if( ch == '%' ) {
+            if( i + 2 >= s.length() ) {
+                throw URISyntaxException(
+                    __FILE__, __LINE__, s,
+                    "invalid Encoded data", i );
+            }
+
+            int d1 = Character::digit( *(++iter), 16 );
+            int d2 = Character::digit( *(++iter), 16 );
+
+            if( d1 == -1 || d2 == -1 ) {
+                throw URISyntaxException(
+                    __FILE__, __LINE__, s,
+                    "Invalid Hex Digit in char", i );
+            }
+
+            i += 2;
+
+            continue;
+        }
+
+        if( !Charactor::isLetterOrDigit( *itr ) &&
+            !Character::isSpaceChar( *itr ) &&
+            !Character::isISOControl( *itr ) ) {
+
+            throw URISyntaxException(
+                __FILE__, __LINE__, s,
+                "string contains Invalid Character", i );
+        }
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void URIEncoderDecoder::validateSimple( const std::string& s,
+                                        const std::string& legal )
+    throw ( URISyntaxException ) {
+
+    std::string::const_iterator itr = s.begin();
+
+    for( int i = 0; itr != s.end(); ++i, ++itr ) {
+        if( !Character::isLetterOrDigit( *itr ) ||
+            !legal.find_first_of( *itr ) > std::string::npos ) {
+
+            throw URISyntaxException(
+                __FILE__, __LINE__, s,
+                "string contains invalid ASCII chars", i );
+        }
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string URIEncoderDecoder::quoteIllegal( const std::string& s,
+                                             const std::string& legal );
+
+    std::string buf = "";
+    std::string::const_iterator iter = s.begin();
+
+    for( ; iter != s.end(); ++iter ) {
+
+        char ch = *iter;
+
+        if( Character::isLetterOrDigit( ch ) ||
+            legal.find( ch ) > string::npos ||
+            ( (unsigned char)ch > 127 &&
+              !Character.isSpaceChar(ch) &&
+              !Character.isISOControl(ch) ) ) {
+
+            buf.append(ch);
+        } else {
+            buf.append('%');
+            buf.append( digits.at( ( ch & 0xf0 ) >> 4 ) );
+            buf.append( digits.at( bytes[j] & 0xf ) );
+        }
+    }
+
+    return buf;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string URIEncoderDecoder::encodeOthers( const std::string& s ) {
+    std::string buf = "";
+    for( int i = 0; i < s.length(); i++ ) {
+        char ch = s.at(i);
+        if( ch <= 127 ) {
+            buf.append( ch );
+        } else {
+            buf.append('%');
+            buf.append( digits.at( ( ch & 0xf0 ) >> 4 ) );
+            buf.append( digits.at( ch & 0xf ) );
+        }
+    }
+    return buf;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string URIEncoderDecoder::decode( const std::string& s ) {
+
+    std::string result = "";
+    for( int i = 0; i < s.length(); ) {
+        char c = s.charAt(i);
+        if( c == '%' ) {
+
+            do {
+                if( i + 2 >= s.length() ) {
+                    throw IllegalArgumentException(
+                        __FILE__, __LINE__,
+                        "String has invalid encoding: %s", s.c_str() );
+                }
+
+                int d1 = Character.digit( s.at(i + 1), 16);
+                int d2 = Character.digit( s.at(i + 2), 16);
+
+                if( d1 == -1 || d2 == -1 ) {
+                    throw IllegalArgumentException(
+                        __FILE__, __LINE__,
+                        "URIEncoderDecoder::decode - Bad hex encoding in: ",
+                        s.c_str() );
+                }
+
+                result.append( (unsigned char)( ( d1 << 4 ) + d2 ) );
+                i += 3;
+
+            } while( i < s.length() && s.at(i) == '%' );
+
+            continue;
+        }
+
+        result.append(c);
+        i++;
+    }
+
+    return result;
+}

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.h?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.h (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/net/URIEncoderDecoder.h Tue Apr 29 13:52:30 2008
@@ -0,0 +1,112 @@
+/*
+ * 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.
+ */
+
+#ifndef _DECAF_INTERNAL_NET_URIENCODERDECODER_H_
+#define _DECAF_INTERNAL_NET_URIENCODERDECODER_H_
+
+#include <decaf/util/Config.h>
+#include <decaf/net/URISyntaxException>
+#include <string>
+
+namespace decaf{
+namespace internal{
+namespace net{
+
+    class URIEncoderDecoder {
+    private:
+
+        static const std::string digits;
+
+    public:
+
+        URIEncoderDecoder();
+        virtual ~URIEncoderDecoder() {}
+
+        /**
+         * Validate a string by checking if it contains any characters other than:
+         *
+         * 1. letters ('a'..'z', 'A'..'Z')
+         * 2. numbers ('0'..'9')
+         * 3. characters in the legalset parameter
+         * 4. characters that are not ISO Control or are not ISO Space characters)
+         *
+         * @param s - the string to be validated
+         * @param legal - the characters allowed in the string s
+         */
+        static void validate( const std::string& s, const std::string& legal )
+            throw ( URISyntaxException );
+
+        /**
+         * Validate a string by checking if it contains any characters other than:
+         *
+         * 1. letters ('a'..'z', 'A'..'Z')
+         * 2. numbers ('0'..'9')
+         * 3. characters in the legalset parameter
+         *
+         * @param s - the string to be validated
+         * @param legal - the characters allowed in the string s
+         */
+        static void validateSimple( const std::string& s, const std::string& legal )
+            throw ( URISyntaxException );
+
+        /**
+         * All characters except letters ('a'..'z', 'A'..'Z') and numbers ('0'..'9')
+         * and legal characters are converted into their hexidecimal value prepended
+         * by '%'.
+         * <p>
+         * For example: '#' -> %23
+         * <p>
+         * Other characters, which are chars that are not US-ASCII, and are
+         * not ISO Control or are not ISO Space chars, are preserved.
+         * @param s - the string to be converted
+         * @param legal - the characters allowed to be preserved in the string s
+         * @return converted string
+         */
+        static std::string quoteIllegal( const std::string& s,
+                                         const std::string& legal );
+
+        /**
+         * Other characters, which are chars that are not US-ASCII, and are
+         * not ISO Control or are not ISO Space chars are not preserved. They are
+         * converted into their hexidecimal value prepended by '%'.
+         * <p>
+         * For example: Euro currency symbol -> "%E2%82%AC".
+         * @param s - the string to be converted
+         * @return the converted string
+         */
+        static std::string encodeOthers( const std::string& s );
+
+        /**
+         * Decodes the string argument which is assumed to be encoded in the
+         * <code>x-www-form-urlencoded</code> MIME content type using the UTF-8
+         * encoding scheme.
+         * <p>
+         * '%' and two following hex digit characters are converted to the
+         * equivalent byte value. All other characters are passed through
+         * unmodified.
+         * <p>
+         * e.g. "A%20B%20C %24%25" -> "A B C $%"
+         * @param s - The encoded string.
+         * @return The decoded version.
+         */
+        static std::string decode( const std::string& s );
+
+    };
+
+}}}
+
+#endif /*_DECAF_INTERNAL_NET_URIENCODERDECODER_H_*/

Added: activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/BufferFactory.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/BufferFactory.cpp?rev=652104&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/BufferFactory.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/decaf/internal/nio/BufferFactory.cpp Tue Apr 29 13:52:30 2008
@@ -0,0 +1,271 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "BufferFactory.h"
+
+#include <decaf/internal/nio/ByteArrayBuffer.h>
+#include <decaf/internal/nio/CharArrayBuffer.h>
+#include <decaf/internal/nio/DoubleArrayBuffer.h>
+#include <decaf/internal/nio/FloatArrayBuffer.h>
+#include <decaf/internal/nio/LongArrayBuffer.h>
+#include <decaf/internal/nio/IntArrayBuffer.h>
+#include <decaf/internal/nio/ShortArrayBuffer.h>
+
+using namespace decaf;
+using namespace decaf::internal;
+using namespace decaf::internal::nio;
+using namespace decaf::nio;
+using namespace decaf::lang;
+using namespace decaf::lang::exceptions;
+
+////////////////////////////////////////////////////////////////////////////////
+ByteBuffer* BufferFactory::createByteBuffer( std::size_t capacity ) {
+
+    try{
+        return new ByteArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ByteBuffer* BufferFactory::createByteBuffer( unsigned char* buffer,
+                                             std::size_t offset,
+                                             std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new ByteArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ByteBuffer* BufferFactory::createByteBuffer( std::vector<unsigned char>& buffer ) {
+
+    try{
+        return new ByteArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+CharBuffer* BufferFactory::createCharBuffer( std::size_t capacity ) {
+
+    try{
+        return new CharArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+CharBuffer* BufferFactory::createCharBuffer( char* buffer,
+                                             std::size_t offset,
+                                             std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new CharArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+CharBuffer* BufferFactory::createCharBuffer( std::vector<char>& buffer ) {
+
+    try{
+        return new CharArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+DoubleBuffer* BufferFactory::createDoubleBuffer( std::size_t capacity ) {
+
+    try{
+        return new DoubleArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+DoubleBuffer* BufferFactory::createDoubleBuffer( double* buffer,
+                                                 std::size_t offset,
+                                                 std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new DoubleArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+DoubleBuffer* BufferFactory::createDoubleBuffer( std::vector<double>& buffer ) {
+
+    try{
+        return new DoubleArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+FloatBuffer* BufferFactory::createFloatBuffer( std::size_t capacity ) {
+
+    try{
+        return new FloatArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+FloatBuffer* BufferFactory::createFloatBuffer( float* buffer,
+                                               std::size_t offset,
+                                               std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new FloatArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+FloatBuffer* BufferFactory::createFloatBuffer( std::vector<float>& buffer ) {
+
+    try{
+        return new FloatArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+LongBuffer* BufferFactory::createLongBuffer( std::size_t capacity ) {
+
+    try{
+        return new LongArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+LongBuffer* BufferFactory::createLongBuffer( long long* buffer,
+                                             std::size_t offset,
+                                             std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new LongArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+LongBuffer* BufferFactory::createLongBuffer( std::vector<long long>& buffer ) {
+
+    try{
+        return new LongArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+IntBuffer* BufferFactory::createIntBuffer( std::size_t capacity ) {
+
+    try{
+        return new IntArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+IntBuffer* BufferFactory::createIntBuffer( int* buffer,
+                                           std::size_t offset,
+                                           std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new IntArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+IntBuffer* BufferFactory::createIntBuffer( std::vector<int>& buffer ) {
+
+    try{
+        return new IntArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ShortBuffer* BufferFactory::createShortBuffer( std::size_t capacity ) {
+
+    try{
+        return new ShortArrayBuffer( capacity );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ShortBuffer* BufferFactory::createShortBuffer( short* buffer,
+                                               std::size_t offset,
+                                               std::size_t length )
+    throw( lang::exceptions::NullPointerException ) {
+
+    try{
+        return new ShortArrayBuffer( buffer, offset, length, false );
+    }
+    DECAF_CATCH_RETHROW( NullPointerException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, NullPointerException )
+    DECAF_CATCHALL_THROW( NullPointerException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ShortBuffer* BufferFactory::createShortBuffer( std::vector<short>& buffer ) {
+
+    try{
+        return new ShortArrayBuffer( &buffer[0], 0, buffer.size(), false );
+    }
+    DECAF_CATCH_RETHROW( Exception )
+    DECAF_CATCHALL_THROW( Exception )
+}



Mime
View raw message