activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nmitt...@apache.org
Subject svn commit: r418749 [1/17] - in /incubator/activemq/trunk/activemq-cpp: ./ src/ src/main/ src/main/activemq/ src/main/activemq/concurrent/ src/main/activemq/connector/ src/main/activemq/connector/openwire/ src/main/activemq/connector/stomp/ src/main/ac...
Date Mon, 03 Jul 2006 11:51:54 GMT
Author: nmittler
Date: Mon Jul  3 04:51:36 2006
New Revision: 418749

URL: http://svn.apache.org/viewvc?rev=418749&view=rev
Log:
AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects.

Added:
    incubator/activemq/trunk/activemq-cpp/makefile
    incubator/activemq/trunk/activemq-cpp/makefile-linux-debug.cfg
    incubator/activemq/trunk/activemq-cpp/makefile-linux-release.cfg
    incubator/activemq/trunk/activemq-cpp/makefile-windows-debug.cfg
    incubator/activemq/trunk/activemq-cpp/makefile-windows-release.cfg
    incubator/activemq/trunk/activemq-cpp/makefile.cfg
    incubator/activemq/trunk/activemq-cpp/pom.xml
    incubator/activemq/trunk/activemq-cpp/readme.txt
    incubator/activemq/trunk/activemq-cpp/src/
    incubator/activemq/trunk/activemq-cpp/src/main/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Concurrent.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Lock.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThread.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThread.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThreadListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Runnable.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Synchronizable.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/TaskListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Thread.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/ThreadPool.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/ThreadPool.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/Connector.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConnectorException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConnectorFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConnectorFactoryMap.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConnectorFactoryMap.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConnectorFactoryMapRegistrar.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConnectorResource.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConsumerInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ConsumerMessageListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/ProducerInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/SessionInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/TransactionInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/openwire/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompCommandListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompCommandReader.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompCommandReader.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompCommandWriter.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompCommandWriter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompConnector.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompConnector.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompConnectorException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompConnectorFactory.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompConnectorFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompConsumerInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompDestination.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompFrame.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompProducerInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompQueue.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSelector.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTopic.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTransactionInfo.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbortCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbstractCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AckCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BeginCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BytesMessageCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommandConstants.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommandConstants.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommitCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/ConnectCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/ConnectedCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/DisconnectCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/ErrorCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/MessageCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/ReceiptCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/StompCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/StompMessage.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/SubscribeCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/TextMessageCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/UnsubscribeCommand.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/marshal/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/marshal/MarshalException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/marshal/Marshalable.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/marshal/Marshaler.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/marshal/Marshaler.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQAckHandler.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnectionData.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnectionFactory.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnectionFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConsumer.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConsumer.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQMessage.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQMessageListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQProducer.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQProducer.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSessionResource.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQTransaction.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/core/ActiveMQTransaction.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/ActiveMQException.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/ActiveMQException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/ExceptionDefines.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/IllegalArgumentException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/IllegalMonitorStateException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/InterruptedException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/InvalidStateException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/NoSuchElementException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/NullPointerException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/RuntimeException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/exceptions/UnsupportedOperationException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/BufferedInputStream.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/BufferedInputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/BufferedOutputStream.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/BufferedOutputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/ByteArrayInputStream.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/ByteArrayInputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/ByteArrayOutputStream.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/ByteArrayOutputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/EndianReader.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/EndianReader.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/EndianWriter.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/EndianWriter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/IOException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/InputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/OutputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/Reader.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/StandardErrorOutputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/io/Writer.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/ConsoleHandler.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/Filter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/Formatter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/Handler.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LogManager.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LogManager.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LogRecord.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LogWriter.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LogWriter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/Logger.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/Logger.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LoggerCommon.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LoggerDefines.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LoggerHierarchy.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/LoggerHierarchy.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/MarkBlockLogger.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/PropertiesChangeListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/SimpleFormatter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/SimpleLogger.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/SimpleLogger.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/logger/StreamHandler.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/BufferedSocket.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/BufferedSocket.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/ServerSocket.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/ServerSocket.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/Socket.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketFactory.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketInputStream.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketInputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketOutputStream.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/SocketOutputStream.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/TcpSocket.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/network/TcpSocket.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/support/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/support/InitDirector.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/support/InitDirector.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/support/LibraryInit.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/BrokerError.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/Command.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/CommandIOException.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/CommandListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/CommandReader.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/CommandWriter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/ExceptionResponse.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/FutureResponse.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/IOTransport.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/IOTransport.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/IOTransportFactory.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/IOTransportFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/Response.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/ResponseCorrelator.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/ResponseCorrelator.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransport.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransport.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/Transport.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportExceptionListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMap.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMap.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMapRegistrar.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFilter.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Boolean.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Endian.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Integer.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Long.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Number.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Properties.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Queue.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/SimpleProperties.h
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/StringTokenizer.cpp
    incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/StringTokenizer.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/
    incubator/activemq/trunk/activemq-cpp/src/main/cms/BytesMessage.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/CMSException.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Closeable.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Connection.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/ConnectionFactory.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Destination.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/ExceptionListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/MapMessage.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Message.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/MessageConsumer.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/MessageListener.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/MessageProducer.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Queue.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Session.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Startable.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Stoppable.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/TemporaryQueue.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/TemporaryTopic.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/TextMessage.h
    incubator/activemq/trunk/activemq-cpp/src/main/cms/Topic.h
    incubator/activemq/trunk/activemq-cpp/src/test/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/common/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/common/AbstractTester.cpp
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/common/AbstractTester.h
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/common/IntegrationCommon.cpp
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/common/IntegrationCommon.h
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/common/Tester.h
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/durable/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/durable/DurableTester.cpp
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/durable/DurableTester.h
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/simple/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/simple/SimpleTester.cpp
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/simple/SimpleTester.h
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/transactional/
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/transactional/TransactionTester.cpp
    incubator/activemq/trunk/activemq-cpp/src/test-integration/integration/transactional/TransactionTester.h
    incubator/activemq/trunk/activemq-cpp/src/test-integration/main.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/MutexTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/ThreadPoolTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/ThreadPoolTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/ThreadTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/concurrent/ThreadTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/ConnectorFactoryMapRegistrarTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/ConnectorFactoryMapRegistrarTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/ConnectorFactoryMapTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/ConnectorFactoryMapTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompCommandReaderTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompCommandReaderTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompCommandWriterTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompCommandWriterTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompConnectorTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompConnectorTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompFrameTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompFrameTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompResponseBuilder.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompSessionManagerTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/StompSessionManagerTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/AbortCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/AbortCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/AckCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/AckCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/BeginCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/BeginCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/BytesMessageCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/BytesMessageCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/CommandConstantsTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/CommandConstantsTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/CommitCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/CommitCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ConnectCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ConnectCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ConnectedCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ConnectedCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/DisconnectCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/DisconnectCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ErrorCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ErrorCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/MessageCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/MessageCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ReceiptCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/ReceiptCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/SubscribeCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/SubscribeCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/TextMessageCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/TextMessageCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/UnsubscribeCommandTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/commands/UnsubscribeCommandTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/marshal/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/marshal/MarshalerTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/connector/stomp/marshal/MarshalerTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/ActiveMQConnectionFactoryTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/ActiveMQConnectionFactoryTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/ActiveMQConnectionTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/ActiveMQConnectionTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/ActiveMQSessionTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/core/ActiveMQSessionTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/exceptions/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/exceptions/ActiveMQExceptionTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/exceptions/ActiveMQExceptionTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/BufferedInputStreamTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/BufferedInputStreamTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/BufferedOutputStreamTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/BufferedOutputStreamTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/ByteArrayInputStreamTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/ByteArrayInputStreamTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/ByteArrayOutputStreamTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/ByteArrayOutputStreamTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/EndianReaderTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/EndianReaderTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/EndianWriterTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/io/EndianWriterTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/logger/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/logger/LoggerTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/logger/LoggerTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/network/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/network/SocketFactoryTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/network/SocketFactoryTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/network/SocketTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/network/SocketTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/DummyTransport.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/DummyTransportFactory.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/DummyTransportFactory.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/IOTransportTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/IOTransportTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/ResponseCorrelatorTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/ResponseCorrelatorTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/TransportFactoryMapRegistrarTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/TransportFactoryMapRegistrarTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/TransportFactoryMapTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/transport/TransportFactoryMapTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/BooleanTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/BooleanTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/GuidTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/GuidTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/IntegerTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/IntegerTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/LongTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/LongTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/QueueTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/QueueTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/StringTokenizerTest.cpp
    incubator/activemq/trunk/activemq-cpp/src/test/activemq/util/StringTokenizerTest.h
    incubator/activemq/trunk/activemq-cpp/src/test/main.cpp
    incubator/activemq/trunk/activemq-cpp/todo.txt
    incubator/activemq/trunk/activemq-cpp/unix/
    incubator/activemq/trunk/activemq-cpp/unix/pom.xml
    incubator/activemq/trunk/activemq-cpp/win32-gcc/
    incubator/activemq/trunk/activemq-cpp/win32-gcc/pom.xml
    incubator/activemq/trunk/activemq-cpp/win32-msvc/
    incubator/activemq/trunk/activemq-cpp/win32-msvc/pom.xml

Added: incubator/activemq/trunk/activemq-cpp/makefile
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/makefile?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/makefile (added)
+++ incubator/activemq/trunk/activemq-cpp/makefile Mon Jul  3 04:51:36 2006
@@ -0,0 +1,142 @@
+SRCDIR = src
+MAKESUPPORT_HOME = $(PWD)
+
+OFILES = \
+	$(OUTDIR)/main/activemq/exceptions/ActiveMQException.o \
+	\
+	$(OUTDIR)/main/activemq/support/InitDirector.o \
+	\
+	$(OUTDIR)/main/activemq/transport/IOTransport.o \
+	$(OUTDIR)/main/activemq/transport/TcpTransport.o \
+	$(OUTDIR)/main/activemq/transport/ResponseCorrelator.o \
+	$(OUTDIR)/main/activemq/transport/TransportFactoryMap.o \
+	$(OUTDIR)/main/activemq/transport/IOTransportFactory.o \
+	$(OUTDIR)/main/activemq/transport/TcpTransportFactory.o \
+	\
+	$(OUTDIR)/main/activemq/connector/ConnectorFactoryMap.o \
+	\
+	$(OUTDIR)/main/activemq/connector/stomp/StompConnector.o \
+	$(OUTDIR)/main/activemq/connector/stomp/StompConnectorFactory.o \
+	$(OUTDIR)/main/activemq/connector/stomp/StompCommandReader.o \
+	$(OUTDIR)/main/activemq/connector/stomp/StompCommandWriter.o \
+	$(OUTDIR)/main/activemq/connector/stomp/StompSessionManager.o \
+    \
+	$(OUTDIR)/main/activemq/connector/stomp/commands/CommandConstants.o \
+    \
+	$(OUTDIR)/main/activemq/connector/stomp/marshal/Marshaler.o \
+    \
+	$(OUTDIR)/main/activemq/core/ActiveMQConnectionFactory.o \
+	$(OUTDIR)/main/activemq/core/ActiveMQConnection.o \
+	$(OUTDIR)/main/activemq/core/ActiveMQSession.o \
+	$(OUTDIR)/main/activemq/core/ActiveMQProducer.o \
+	$(OUTDIR)/main/activemq/core/ActiveMQConsumer.o \
+	$(OUTDIR)/main/activemq/core/ActiveMQTransaction.o \
+	\
+	$(OUTDIR)/main/activemq/io/EndianReader.o \
+	$(OUTDIR)/main/activemq/io/EndianWriter.o \
+	$(OUTDIR)/main/activemq/io/BufferedInputStream.o \
+	$(OUTDIR)/main/activemq/io/BufferedOutputStream.o \
+	$(OUTDIR)/main/activemq/io/ByteArrayInputStream.o \
+	$(OUTDIR)/main/activemq/io/ByteArrayOutputStream.o \
+    \
+	$(OUTDIR)/main/activemq/logger/SimpleLogger.o \
+	$(OUTDIR)/main/activemq/logger/LogWriter.o \
+	$(OUTDIR)/main/activemq/logger/LogManager.o \
+	$(OUTDIR)/main/activemq/logger/LoggerHierarchy.o \
+    \
+    $(OUTDIR)/main/activemq/network/ServerSocket.o \
+    $(OUTDIR)/main/activemq/network/TcpSocket.o \
+    $(OUTDIR)/main/activemq/network/BufferedSocket.o \
+    $(OUTDIR)/main/activemq/network/SocketFactory.o \
+    $(OUTDIR)/main/activemq/network/SocketInputStream.o \
+    $(OUTDIR)/main/activemq/network/SocketOutputStream.o\
+    \
+    $(OUTDIR)/main/activemq/util/Guid.o \
+    $(OUTDIR)/main/activemq/util/StringTokenizer.o \
+    \
+    $(OUTDIR)/main/activemq/concurrent/Thread.o \
+    $(OUTDIR)/main/activemq/concurrent/Mutex.o \
+    $(OUTDIR)/main/activemq/concurrent/ThreadPool.o \
+    $(OUTDIR)/main/activemq/concurrent/PooledThread.o 
+
+OTESTFILES = \
+    $(OUTDIR)/test/main.o \
+    \
+    $(OUTDIR)/test/activemq/core/ActiveMQConnectionFactoryTest.o \
+    $(OUTDIR)/test/activemq/core/ActiveMQConnectionTest.o \
+    $(OUTDIR)/test/activemq/core/ActiveMQSessionTest.o \
+    \
+    $(OUTDIR)/test/activemq/concurrent/MutexTest.o \
+    $(OUTDIR)/test/activemq/concurrent/ThreadPoolTest.o \
+    $(OUTDIR)/test/activemq/concurrent/ThreadTest.o \
+    \
+    $(OUTDIR)/test/activemq/connector/stomp/StompConnectorTest.o \
+    $(OUTDIR)/test/activemq/connector/stomp/StompFrameTest.o \
+    $(OUTDIR)/test/activemq/connector/stomp/StompCommandReaderTest.o \
+    $(OUTDIR)/test/activemq/connector/stomp/StompCommandWriterTest.o \
+    $(OUTDIR)/test/activemq/connector/stomp/StompSessionManagerTest.o \
+    \
+    $(OUTDIR)/test/activemq/connector/stomp/commands/CommandConstantsTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/AbortCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/AckCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/BeginCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/CommitCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/ConnectCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/ConnectedCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/DisconnectCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/ErrorCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/ReceiptCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/SubscribeCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/UnsubscribeCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/MessageCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/BytesMessageCommandTest.o \
+	$(OUTDIR)/test/activemq/connector/stomp/commands/TextMessageCommandTest.o \
+    \
+	$(OUTDIR)/test/activemq/connector/stomp/marshal/MarshalerTest.o \
+    \
+    $(OUTDIR)/test/activemq/connector/ConnectorFactoryMapRegistrarTest.o \
+    $(OUTDIR)/test/activemq/connector/ConnectorFactoryMapTest.o \
+    \
+    $(OUTDIR)/test/activemq/exceptions/ActiveMQExceptionTest.o \
+    \
+    $(OUTDIR)/test/activemq/io/BufferedInputStreamTest.o \
+	$(OUTDIR)/test/activemq/io/BufferedOutputStreamTest.o \
+	$(OUTDIR)/test/activemq/io/ByteArrayInputStreamTest.o \
+	$(OUTDIR)/test/activemq/io/ByteArrayOutputStreamTest.o \
+	$(OUTDIR)/test/activemq/io/EndianReaderTest.o \
+	$(OUTDIR)/test/activemq/io/EndianWriterTest.o \
+	\
+	$(OUTDIR)/test/activemq/logger/LoggerTest.o \
+	\
+	$(OUTDIR)/test/activemq/network/SocketFactoryTest.o \
+	$(OUTDIR)/test/activemq/network/SocketTest.o \
+	\
+	$(OUTDIR)/test/activemq/transport/DummyTransportFactory.o \
+	$(OUTDIR)/test/activemq/transport/IOTransportTest.o \
+	$(OUTDIR)/test/activemq/transport/ResponseCorrelatorTest.o \
+	$(OUTDIR)/test/activemq/transport/TransportFactoryMapTest.o \
+	$(OUTDIR)/test/activemq/transport/TransportFactoryMapRegistrarTest.o \
+	\
+	$(OUTDIR)/test/activemq/util/GuidTest.o \
+	$(OUTDIR)/test/activemq/util/IntegerTest.o \
+	$(OUTDIR)/test/activemq/util/LongTest.o \
+	$(OUTDIR)/test/activemq/util/BooleanTest.o \
+	$(OUTDIR)/test/activemq/util/QueueTest.o \
+	$(OUTDIR)/test/activemq/util/StringTokenizerTest.o
+
+OINTEGRATIONFILES = \
+	$(OUTDIR)/test-integration/main.o \
+	\
+	$(OUTDIR)/test-integration/integration/simple/SimpleTester.o \
+	$(OUTDIR)/test-integration/integration/transactional/TransactionTester.o \
+	$(OUTDIR)/test-integration/integration/common/AbstractTester.o \
+	$(OUTDIR)/test-integration/integration/common/IntegrationCommon.o
+
+LIBFILE = $(OUTDIR)/activemq.a
+TESTEXE = $(OUTDIR)/activemqTest
+INTEGRATIONEXE = $(OUTDIR)/activemqIntegrationTests
+
+DEFINES          =
+
+include $(MAKESUPPORT_HOME)/makefile.cfg
+

Added: incubator/activemq/trunk/activemq-cpp/makefile-linux-debug.cfg
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/makefile-linux-debug.cfg?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/makefile-linux-debug.cfg (added)
+++ incubator/activemq/trunk/activemq-cpp/makefile-linux-debug.cfg Mon Jul  3 04:51:36 2006
@@ -0,0 +1,18 @@
+#
+# Compiler specific configuration
+#
+
+OUTDIR           = out
+LIBRARY_NAME = activemq-cpp
+LIBFILE = $(OUTDIR)/lib$(LIBRARY_NAME).a
+
+#
+# GCC/G++ debug for Linux
+#
+CC               = g++ -frtti -g -pthread -DDEBUG -D_DEBUG -D_REENTRANT
+LD               = g++ -g -frtti -pthread
+CCFLAGS          = -Wall
+LDFLAGS          = -L$(OUTDIR) -l$(LIBRARY_NAME) -lcppunit -ldl -luuid
+ARFLAGS		 = 
+
+

Added: incubator/activemq/trunk/activemq-cpp/makefile-linux-release.cfg
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/makefile-linux-release.cfg?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/makefile-linux-release.cfg (added)
+++ incubator/activemq/trunk/activemq-cpp/makefile-linux-release.cfg Mon Jul  3 04:51:36 2006
@@ -0,0 +1,19 @@
+#
+# Compiler specific configuration
+#
+
+OUTDIR           = out
+LIBRARY_NAME = activemq-cpp
+LIBFILE = $(OUTDIR)/lib$(LIBRARY_NAME).a
+
+#
+# GCC/G++ release for Linux
+#
+CC               = g++ -frtti -pthread -O3 -DNDEBUG -D_REENTRANT
+LD               = g++ -frtti -pthread 
+CCFLAGS          = -Wall
+LDFLAGS          = -L$(OUTDIR) -l$(LIBRARY_NAME) -lcppunit -ldl -luuid
+OUTDIR           = out
+ARFLAGS		 = 
+
+

Added: incubator/activemq/trunk/activemq-cpp/makefile-windows-debug.cfg
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/makefile-windows-debug.cfg?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/makefile-windows-debug.cfg (added)
+++ incubator/activemq/trunk/activemq-cpp/makefile-windows-debug.cfg Mon Jul  3 04:51:36 2006
@@ -0,0 +1,16 @@
+#
+# Compiler specific configuration
+#
+
+LIBFILE = $(OUTDIR)/libactivemq-cpp.a
+
+#
+# GCC/G++ debug for Linux
+#
+CC               = g++ -fexceptions -frtti -O0 -g3 -DDEBUG -D_DEBUG -D_REENTRANT -D_WIN32 -DWINVER=0x0502 -DWIN32_LEAN_AND_MEAN
+LD               = g++ -g3 -frtti
+CCFLAGS          = -Wall
+LDFLAGS          = -L$(OUTDIR) -lactivemq -lcppunit -lws2_32 -lrpcrt4
+OUTDIR           = out
+ARFLAGS		 = 
+

Added: incubator/activemq/trunk/activemq-cpp/makefile-windows-release.cfg
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/makefile-windows-release.cfg?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/makefile-windows-release.cfg (added)
+++ incubator/activemq/trunk/activemq-cpp/makefile-windows-release.cfg Mon Jul  3 04:51:36 2006
@@ -0,0 +1,17 @@
+#
+# Compiler specific configuration
+#
+
+LIBFILE = $(OUTDIR)/libactivemq-cpp.a
+
+#
+# GCC/G++ release for Linux
+#
+CC               = g++ -fexceptions -frtti -O3 -DNDEBUG -D_REENTRANT -D__WIN32 -DWIN32_LEAN_AND_MEAN
+LD               = g++ -frtti 
+CCFLAGS          = -Wall
+LDFLAGS          = -L$(OUTDIR) -lactivemq -lcppunit -lws2_32 -lrpcrt4
+OUTDIR           = out
+ARFLAGS		 = 
+
+

Added: incubator/activemq/trunk/activemq-cpp/makefile.cfg
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/makefile.cfg?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/makefile.cfg (added)
+++ incubator/activemq/trunk/activemq-cpp/makefile.cfg Mon Jul  3 04:51:36 2006
@@ -0,0 +1,179 @@
+CURRENT = $(PWD)
+
+# --- select compiler for structure
+# ----------------------------------------------------------
+
+include $(MAKESUPPORT_HOME)/makefile-$(OSTYPE)-$(CONFIG).cfg
+
+# --- set generic commmands
+# ----------------------------------------------------------
+
+MV       = mv
+RM       = rm -f
+RMR      = rm -rf
+CP       = cp -p
+LN       = ln -s
+LS       = ls
+CAT      = cat
+MD       = mkdir
+AR       = ar -r
+PURIFY   = purify
+ECHO     = echo
+TOUCH    = touch
+CD       = cd
+STRIP    = strip
+
+# --- set default targets and their handling procedures
+# ----------------------------------------------------------
+
+.SILENT:
+.KEEP_STATE:
+
+.SUFFIXES:
+.SUFFIXES: .cpp .CC
+
+.INIT:
+	$(ECHO) " -<>- Compiling "$(CURRENT)
+
+.DONE:
+	$(ECHO) " -<>- Done"
+
+.FAILED:
+	$(ECHO) " *** Compilation of $(CURRENT) Failed"
+
+$(OUTDIR)/main/%.o: $(SRCDIR)/main/%.cpp
+	$(ECHO) "    - "$(CC) "'"$<"'"
+	$(CC) -o $@ $(DEFINES) $(CCFLAGS) -I$(SRCDIR)/main \
+	$(LOCAL_INCLUDE) -c $<
+	
+$(OUTDIR)/test/%.o: $(SRCDIR)/test/%.cpp
+	$(ECHO) "    - "$(CC) "'"$<"'"
+	$(CC) -o $@ $(DEFINES) $(CCFLAGS) -I$(SRCDIR)/main -I$(SRCDIR)/test \
+	$(LOCAL_INCLUDE) -c $<
+	
+$(OUTDIR)/test-integration/%.o: $(SRCDIR)/test-integration/%.cpp
+	$(ECHO) "    - "$(CC) "'"$<"'"
+	$(CC) -o $@ $(DEFINES) $(CCFLAGS) -I$(SRCDIR)/main -I$(SRCDIR)/test-integration \
+	$(LOCAL_INCLUDE) -c $<
+
+# --- set generic targets and their handling procedures
+# ----------------------------------------------------------
+
+lib:	\
+	prepare \
+	$(OFILES) \
+	$(LIBFILE) \
+	done
+	
+test:	\
+	prepare_test \
+	$(OTESTFILES) \
+	$(TESTEXE) \
+	done
+	
+integration:	\
+	prepare_integration \
+	$(OINTEGRATIONFILES) \
+	$(INTEGRATIONEXE) \
+	done
+
+all:	lib test integration
+
+default:	all
+
+
+$(LIBFILE): $(OFILES) $(DEPLIBS)
+	$(ECHO) "    - Creating static library file "$@
+	$(AR) $(ARFLAGS) $@ $(OFILES)
+	
+$(TESTEXE):	$(OTESTFILES)
+	$(LD) -o $@ $(OTESTFILES) $(LDFLAGS)
+	$(ECHO) 'Finished building target: $@'
+	
+$(INTEGRATIONEXE):	$(OINTEGRATIONFILES)
+	$(LD) -o $@ $(OINTEGRATIONFILES) $(LDFLAGS)
+	$(ECHO) 'Finished building target: $@'
+
+clean:
+	$(ECHO) "    - Cleaning up local directory "$(CURRENT)
+	$(ECHO) "    - Removing object files"
+	$(RM) $(OFILES)
+	$(ECHO) "    - Removing file "$(LIBFILE)
+	$(RM) -rf $(OUTDIR)
+	$(RM) $(LIBFILE)
+	$(RM) *~ *%
+	$(RM) #*
+	$(RM) core
+	$(RM) a.out
+
+prepare:
+	if test ! -d $(OUTDIR) ; \
+	    then \
+	     $(MD) $(OUTDIR); \
+	     $(MD) $(OUTDIR)/main; \
+	     $(MD) $(OUTDIR)/main/activemq; \
+	     $(MD) $(OUTDIR)/main/activemq/exceptions; \
+	     $(MD) $(OUTDIR)/main/activemq/commands; \
+	     $(MD) $(OUTDIR)/main/activemq/connector; \
+	     $(MD) $(OUTDIR)/main/activemq/connector/stomp; \
+	     $(MD) $(OUTDIR)/main/activemq/connector/stomp/commands; \
+	     $(MD) $(OUTDIR)/main/activemq/connector/stomp/marshal; \
+	     $(MD) $(OUTDIR)/main/activemq/core; \
+	     $(MD) $(OUTDIR)/main/activemq/io; \
+	     $(MD) $(OUTDIR)/main/activemq/logger; \
+	     $(MD) $(OUTDIR)/main/activemq/network; \
+	     $(MD) $(OUTDIR)/main/activemq/util; \
+	     $(MD) $(OUTDIR)/main/activemq/support; \
+	     $(MD) $(OUTDIR)/main/activemq/concurrent; \
+	     $(MD) $(OUTDIR)/main/activemq/transport; \
+	     fi
+
+prepare_test:
+	if test ! -d $(OUTDIR) ; \
+		then \
+		 $(MD) $(OUTDIR); \
+		 fi
+	if test ! -d $(OUTDIR)/test ; \
+	    then \
+	     $(MD) $(OUTDIR)/test; \
+	     $(MD) $(OUTDIR)/test/activemq; \
+	     $(MD) $(OUTDIR)/test/activemq/exceptions; \
+	     $(MD) $(OUTDIR)/test/activemq/commands; \
+	     $(MD) $(OUTDIR)/test/activemq/connector; \
+	     $(MD) $(OUTDIR)/test/activemq/connector/stomp; \
+	     $(MD) $(OUTDIR)/test/activemq/connector/stomp/commands; \
+	     $(MD) $(OUTDIR)/test/activemq/connector/stomp/marshal; \
+	     $(MD) $(OUTDIR)/test/activemq/core; \
+	     $(MD) $(OUTDIR)/test/activemq/io; \
+	     $(MD) $(OUTDIR)/test/activemq/logger; \
+	     $(MD) $(OUTDIR)/test/activemq/network; \
+	     $(MD) $(OUTDIR)/test/activemq/util; \
+	     $(MD) $(OUTDIR)/test/activemq/concurrent; \
+	     $(MD) $(OUTDIR)/test/activemq/transport; \
+	     fi
+
+prepare_integration:
+	if test ! -d $(OUTDIR) ; \
+		then \
+		 $(MD) $(OUTDIR); \
+		 fi
+	if test ! -d $(OUTDIR)/test-integration ; \
+	    then \
+	     $(MD) $(OUTDIR)/test-integration; \
+	     $(MD) $(OUTDIR)/test-integration/integration; \
+	     $(MD) $(OUTDIR)/test-integration/integration/common; \
+	     $(MD) $(OUTDIR)/test-integration/integration/simple; \
+	     $(MD) $(OUTDIR)/test-integration/integration/transactional; \
+	     $(MD) $(OUTDIR)/test-integration/integration/durable; \
+	     fi
+
+done:
+	$(ECHO) "Done."
+
+
+
+
+
+
+
+

Added: incubator/activemq/trunk/activemq-cpp/pom.xml
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/pom.xml?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/pom.xml (added)
+++ incubator/activemq/trunk/activemq-cpp/pom.xml Mon Jul  3 04:51:36 2006
@@ -0,0 +1,228 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  
+  <modelVersion>4.0.0</modelVersion>
+  
+  <groupId>activemq</groupId>
+  <name>ActiveMQ :: CPP :: Parent</name>
+  <artifactId>activemq-cpp-parent</artifactId>
+  <packaging>pom</packaging>
+  
+  <!-- these should be deleted when using a parent pom-->
+  <version>1.0-SNAPSHOT</version>
+ 
+  <build> 		  
+	  <pluginManagement>
+		  <plugins>
+		      <plugin>
+		      
+		        <!-- configure the Mojo native plugin -->
+		        <groupId>org.codehaus.mojo</groupId>
+		        <artifactId>native-maven-plugin</artifactId>
+		        <version>1.0-alpha-1-SNAPSHOT</version>
+		        <extensions>true</extensions>
+		        
+		        <!-- Make child POMs inherit this configuration -->
+		        <inherited>true</inherited> 
+		             
+		        <configuration>
+		        
+		          <!-- All compiler flags are determined by the profile -->
+		          <compilerProvider>${compiler.provider}</compilerProvider>
+		          <envFactoryName>${env.factory.name}</envFactoryName>
+		          <compilerStartOptions>
+		            <compilerStartOption>${compiler.options}</compilerStartOption>
+		          </compilerStartOptions>
+		          <linkerExecutable>${linker.executable}</linkerExecutable>
+		          <linkerStartOptions>
+		            <linkerStartOption>${linker.options}</linkerStartOption>
+		          </linkerStartOptions>
+		          
+		          <!-- Define the sources for the library build -->
+		          <sources>
+		          
+		            <!-- Standard include directories -->
+		            <source><directory>../src/main</directory></source>
+		            <source><directory>../src/test</directory></source>
+		            
+		            <source>
+		              <directory>../src/main/activemq/concurrent</directory>        
+		              <fileNames>
+		                <fileName>Mutex.cpp</fileName>
+		                <fileName>PooledThread.cpp</fileName>
+		                <fileName>Thread.cpp</fileName>              
+		                <fileName>ThreadPool.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/connector</directory>        
+		              <fileNames>
+		                <fileName>ConnectorFactoryMap.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/connector/stomp</directory>        
+		              <fileNames>
+		                <fileName>StompCommandReader.cpp</fileName>
+		                <fileName>StompCommandWriter.cpp</fileName>
+		                <fileName>StompConnector.cpp</fileName>
+		                <fileName>StompConnectorFactory.cpp</fileName>
+		                <fileName>StompSessionManager.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/connector/stomp/commands</directory>        
+		              <fileNames>
+		                <fileName>CommandConstants.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/connector/stomp/marshal</directory>        
+		              <fileNames>
+		                <fileName>Marshaler.cpp</fileName>
+		              </fileNames>
+		            </source>  
+		            <source>
+		              <directory>../src/main/activemq/core</directory>        
+		              <fileNames>
+		                <fileName>ActiveMQConnection.cpp</fileName>
+		                <fileName>ActiveMQConnectionFactory.cpp</fileName>
+		                <fileName>ActiveMQConsumer.cpp</fileName>
+		                <fileName>ActiveMQProducer.cpp</fileName>
+		                <fileName>ActiveMQSession.cpp</fileName>
+		                <fileName>ActiveMQTransaction.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/exceptions</directory>        
+		              <fileNames>
+		                <fileName>ActiveMQException.cpp</fileName>
+		              </fileNames>
+		            </source> 
+		            <source>
+		              <directory>../src/main/activemq/io</directory>        
+		              <fileNames>
+		                <fileName>BufferedInputStream.cpp</fileName>
+		                <fileName>BufferedOutputStream.cpp</fileName>
+		                <fileName>ByteArrayInputStream.cpp</fileName>
+		                <fileName>ByteArrayOutputStream.cpp</fileName>
+		                <fileName>EndianReader.cpp</fileName>
+		                <fileName>EndianWriter.cpp</fileName>
+		              </fileNames>
+		            </source>    
+		            <source>
+		              <directory>../src/main/activemq/logger</directory>        
+		              <fileNames>
+		                <fileName>Logger.cpp</fileName>
+		                <fileName>LoggerHierarchy.cpp</fileName>
+		                <fileName>LogManager.cpp</fileName>
+		                <fileName>LogWriter.cpp</fileName>
+		                <fileName>SimpleLogger.cpp</fileName>
+		              </fileNames>
+		            </source> 
+		            <source>
+		              <directory>../src/main/activemq/network</directory>        
+		              <fileNames>
+		                <fileName>BufferedSocket.cpp</fileName>
+		                <fileName>ServerSocket.cpp</fileName>
+		                <fileName>SocketFactory.cpp</fileName>
+		                <fileName>SocketInputStream.cpp</fileName>
+		                <fileName>SocketOutputStream.cpp</fileName>
+		                <fileName>TcpSocket.cpp</fileName>
+		              </fileNames>
+		            </source> 
+		            <source>
+		              <directory>../src/main/activemq/support</directory>        
+		              <fileNames>
+		                <fileName>InitDirector.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/transport</directory>        
+		              <fileNames>
+		                <fileName>IOTransport.cpp</fileName>
+		                <fileName>IOTransportFactory.cpp</fileName>
+		                <fileName>ResponseCorrelator.cpp</fileName>
+		                <fileName>TcpTransport.cpp</fileName>
+		                <fileName>TcpTransportFactory.cpp</fileName>
+		                <fileName>TransportFactoryMap.cpp</fileName>
+		              </fileNames>
+		            </source>
+		            <source>
+		              <directory>../src/main/activemq/util</directory>        
+		              <fileNames>
+		                <fileName>Guid.cpp</fileName>
+		                <fileName>StringTokenizer.cpp</fileName>
+		              </fileNames>
+		            </source>
+		          </sources>
+		      	</configuration>
+		      </plugin>
+		    </plugins>
+	    </pluginManagement>
+  </build> 
+	  
+  <profiles>
+  
+    <!-- Default profile for Windows: MSVC compiler -->
+    <profile>
+      <id>win32-msvc</id>
+      <activation>
+        <os>
+          <family>windows</family>
+        </os>
+      </activation>
+      <modules>
+        <module>win32-msvc</module>
+      </modules>
+    </profile>
+    
+    <!-- Profile for building on windows (cygwin) with gcc -->
+    <profile>
+      <id>win32-gcc</id>
+      <modules>
+        <module>win32-gcc</module>
+      </modules>
+    </profile>
+
+    <!-- Profile for building on *nix with the default compiler -->
+    <profile>
+      <id>unix</id>
+      <activation>
+        <os>
+          <family>unix</family>
+        </os>
+      </activation>
+      <modules>
+        <module>unix</module>
+      </modules>
+    </profile>
+    
+  </profiles>
+
+   <!-- Repos for using the mojo native plugin -->
+  <repositories>
+    <repository>
+      <id>Maven Snapshots</id>
+      <url>http://snapshots.maven.codehaus.org/maven2/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>Maven Snapshots</id>
+      <url>http://snapshots.maven.codehaus.org/maven2/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </pluginRepository>
+  </pluginRepositories>
+</project>

Added: incubator/activemq/trunk/activemq-cpp/readme.txt
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/readme.txt?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/readme.txt (added)
+++ incubator/activemq/trunk/activemq-cpp/readme.txt Mon Jul  3 04:51:36 2006
@@ -0,0 +1,109 @@
+--------------------------------------------------------------------------
+ActiveMQ CPP Library   - Version 0.0.1
+--------------------------------------------------------------------------
+
+This library provides a JMS like interface to an ActiveMQ broker in c++.
+
+Currently the Library only supports the Stomp protocol, future versions 
+will contain support for openwire.
+
+UNIT Tests
+--------------------------------------------------------------------------
+
+The package contains a complete set of cppunit tests.  In order for you
+to build an run the tests, you will need to download and install the 
+cppunit suite.  
+
+http://cppunit.sourceforge.net/cppunit-wiki
+
+or on Fedora type 
+
+yum install cppunit*
+
+Make sure that the path to the installed cpp unit library and includes is 
+visible in your current shell before you try building the tets.
+
+Integration Tests
+--------------------------------------------------------------------------
+
+The library also contains a set of tests that are run against a real AMQ
+broker.  Running these without a broker will result in failed tests.
+The tests currently hardcode the broker url to be tcp://127.0.0.1:61613, 
+you can change this by changing the declaration in IntegrationCommon.cpp
+in the test-integration src tree.
+
+Notes for Windows users
+--------------------------------------------------------------------------
+
+The builds support using the GNU compiler on Windows, we used the MinGW
+package.  There is an issues still outstanding with this in that the sockets
+break for no reason when built this way.  We therefore suggest that you
+stick with using the MSVC compiler when on windows.
+
+There are a couple or things that you will need to setup to ensure that the
+MSVC compile succeeds.
+
+* You need to download and install the Platform SDK if you don't have it 
+  installed already.
+* Ensure that the path to you MSVC install is set in the PATH env variable.
+  you can tests this buy typing cl.exe at the command line, if you get an
+  error complaining that its not found, then setup you PATH correctly.
+* Set the INCLUDE env variable to include the path to your MSVC includes,
+  and the platform SDK includes.
+  
+  i.e. INCLUDE = D:\Program Files\Microsoft Visual Studio 8\VC\include;D:\Program Files\Microsoft Platform SDK\Include
+
+* Set the LIB env variable to include the path to your MSVC libs, and the
+  Platform SDK libs.
+
+  i.e. LIB = D:\Program Files\Microsoft Visual Studio 8\VC\lib;D:\Program Files\Microsoft Platform SDK\Lib
+
+Maven Builds
+--------------------------------------------------------------------------
+
+The pacakge currently supports building the library only using maven.
+
+The Mojo Native plugin (from the MOJO maven plugins site) is required.
+
+http://mojo.codehaus.org/maven-native/native-maven-plugin/introduction.html
+
+On the windows platform is was necessay to download the source for this
+plugin and build it locally, this shouldn't be necessary on non-windows
+platforms, but if you have problems, try that first.
+
+You can get the latest source via subversion:
+
+svn co https://svn.codehaus.org/mojo/trunk/mojo/maven-native
+
+Once you have downloaded the source, install the plugin into your local
+repository via: mvn install
+
+Using Maven with activemq-cpp
+
+* type mvn package
+
+This will build the library using the default target for the platform 
+you are on, which is release, and the gnu compiler for unix platforms, or
+the MSVC compiler on windows platforms.
+
+Makefile Builds
+--------------------------------------------------------------------------
+
+The Makefile provided requires some env variable to be set
+
+OSTYPE:  This is the OS you are on and is reflected in the names of the
+         makefiles.  Currently your choices are Linux or Windows, both use
+         the GNU compiler.  
+
+CONFIG:  This is the build Mode you want to execute, i.e. debug or release.
+
+MAKESUPPORT_HOME:  Path to the folder where the Makefiles are stored.
+
+There are three targets available in the Makefile, lib, test, and integration
+whose output is fairly obvious.
+
+Using the Makefile:
+
+* type make to build all targets: lib, tests and integration
+* type make < Target Name > to build only the target you need.
+* type make clean to remove all of the object, library, and executable files.

Added: incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Concurrent.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Concurrent.h?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Concurrent.h (added)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Concurrent.h Mon Jul  3 04:51:36 2006
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef _ACTIVEMQ_CONCURRENT_CONCURRENT_H_
+#define _ACTIVEMQ_CONCURRENT_CONCURRENT_H_
+
+#include <activemq/concurrent/Lock.h>
+
+namespace activemq{
+namespace concurrent{
+
+/**
+ * The synchronized macro defines a mechanism for snycronizing
+ * a scetion of code.  The macro must be passed an object that
+ * implements the Syncronizable interface.
+ * 
+ * The macro works by creating a for loop that will loop exactly
+ * once, creating a Lock object that is scoped to the loop.  Once
+ * the loop conpletes and exits the Lock object goes out of scope
+ * releasing the lock on object W.  For added safety the if else
+ * is used because not all compiles restrict the lifetime of 
+ * loop variables to the loop, they will however restrict them
+ * to the scope of the else.
+ * 
+ * The macro would be used as follows.
+ * 
+ * <Syncronizable> X;
+ * 
+ * somefunction()
+ * {
+ *    syncronized(X)
+ *    {
+ *       // Do something that needs syncronizing.
+ *    }
+ * }
+ */
+
+#define WAIT_INFINITE  0xFFFFFFFF
+
+#define synchronized(W)                                                     \
+      if(false){}                                                           \
+      else                                                                  \
+      for(activemq::concurrent::Lock lock_W(W);                                                    \
+          lock_W.isLocked(); lock_W.unlock())
+
+}}
+
+#endif /*_ACTIVEMQ_CONCURRENT_CONCURRENT_H_*/

Added: incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Lock.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Lock.h?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Lock.h (added)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Lock.h Mon Jul  3 04:51:36 2006
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ACTIVEMQ_CONCURRENT_LOCK_H
+#define ACTIVEMQ_CONCURRENT_LOCK_H
+
+// Includes.
+#include <activemq/concurrent/Synchronizable.h>
+
+namespace activemq{
+namespace concurrent{
+    
+  /**
+   * A wrapper class around a given synchronization mechanism that
+   * provides automatic release upon destruction.
+   * @author  Nathan Mittler
+   */
+  class Lock
+  {
+  private:       // Data
+
+    /**
+     * Flag to indicate whether or not this object has locked the
+     * sync object.
+     */
+    bool locked;
+
+    /**
+     * The synchronizable object to lock/unlock.
+     */
+    Synchronizable* syncObject;
+    
+  public:        // Interface
+
+    /**
+     * Constructor - initializes the object member and locks
+     * the object if desired.
+     * @param   object   The sync object to control
+     * @param   intiallyLocked  If true, the object will automatically
+     * be locked.
+     */
+	Lock( Synchronizable* object, const bool intiallyLocked = true )
+	{
+        try{
+    		syncObject = object;
+    		locked = false;
+    		
+    		if( intiallyLocked )
+    	    {
+    	      lock();
+    	    }
+        }
+        AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
+        AMQ_CATCHALL_THROW( exceptions::ActiveMQException )
+	}
+
+    /**
+     * Destructor - Unlocks the object if it is locked.
+     */
+    virtual ~Lock()
+    {
+        try{
+    	    if( locked )
+    	    {
+    	      syncObject->unlock();
+    	    } 
+        }
+        AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
+        AMQ_CATCHALL_THROW( exceptions::ActiveMQException )      
+  	}
+
+    /**
+     * Locks the object.
+     */
+    void lock()
+    {
+        try{
+    	    syncObject->lock();
+            locked = true;
+        }
+        AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
+        AMQ_CATCHALL_THROW( exceptions::ActiveMQException )
+	}
+
+    /**
+     * Unlocks the object.
+     */
+    void unlock()
+    {
+        try{
+           if(locked)
+           {
+              syncObject->unlock();
+              locked = false;
+           }
+        }
+        AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
+        AMQ_CATCHALL_THROW( exceptions::ActiveMQException )
+  	}
+
+    /**
+     * Indicates whether or not the object is locked.
+     * @return  true if the object is locked, otherwise false.
+     */
+    bool isLocked() const{ return locked; }  
+  };
+
+}}
+
+#endif // ACTIVEMQ_CONCURRENT_LOCK_H

Added: incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.cpp?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.cpp (added)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.cpp Mon Jul  3 04:51:36 2006
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <activemq/concurrent/Mutex.h>
+
+using namespace activemq::concurrent;
+
+////////////////////////////////////////////////////////////////////////////////

Added: incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.h?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.h (added)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/Mutex.h Mon Jul  3 04:51:36 2006
@@ -0,0 +1,358 @@
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ACTIVEMQ_CONCURRENT_MUTEX_H
+#define ACTIVEMQ_CONCURRENT_MUTEX_H
+
+// Includes.
+#include <activemq/concurrent/Synchronizable.h>
+#include <activemq/concurrent/Concurrent.h>
+#include <activemq/concurrent/Thread.h>
+#include <list>
+
+#if (defined(__unix__) || defined(unix) || defined(MACOSX)) && !defined(USG)
+    #ifndef unix
+        #define unix
+    #endif
+   
+    #include <pthread.h>
+    #include <sys/time.h>
+#endif
+
+#if defined(WIN32) || defined(__CYGWIN__) && !defined unix
+   
+    #include <windows.h>
+   
+    #if ( !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0400)
+    #if ( !defined(WINVER) || WINVER < 0x0400)
+        #pragma message ("Unsupported platform, Windows NT 4.0 or later required")
+    #endif
+    #endif
+
+#endif
+
+#include <assert.h>
+
+namespace activemq{
+namespace concurrent{
+    
+    /**
+     * Creates a pthread_mutex_t object. The object is created
+     * such that successive locks from the same thread is allowed
+     * and will be successful.
+     * @see  pthread_mutex_t
+     */
+    class Mutex : public Synchronizable
+    {
+    private:       // Data
+
+        /**
+         * The mutex object.
+         */
+        #ifdef unix
+            pthread_mutex_t mutex;
+
+            std::list<pthread_cond_t*> eventQ;
+        #else
+            CRITICAL_SECTION mutex;
+
+            std::list<HANDLE> eventQ;
+        #endif
+      
+        // Lock Status Members
+        int           lock_count;
+        unsigned long lock_owner;
+
+    public:
+
+        /**
+         * Constructor - creates and initializes the mutex.
+         */
+        Mutex()
+        {
+            #ifdef unix
+                pthread_mutexattr_t attr;
+                pthread_mutexattr_init(&attr);
+                pthread_mutex_init(&mutex, &attr);
+                pthread_mutexattr_destroy(&attr);
+            #else
+                InitializeCriticalSection(&mutex);            
+            #endif
+          
+            lock_owner = 0;
+            lock_count = 0;
+        }
+      
+        /**
+         * Destructor - destroys the mutex object.
+         */
+        virtual ~Mutex()
+        {
+            // Unlock the mutex.
+            unlock();
+      
+            #ifdef unix
+                pthread_mutex_destroy(&mutex);
+            #else
+                DeleteCriticalSection(&mutex);
+            #endif
+        }
+      
+        /**
+         * Locks the object.
+         */
+        virtual void lock() throw( exceptions::ActiveMQException )
+        {
+            if(isLockOwner())
+            {
+                lock_count++;
+            }
+            else
+            {
+                #ifdef unix               
+                    pthread_mutex_lock(&mutex);
+                #else
+                    EnterCriticalSection(&mutex);
+                #endif
+
+                lock_count = 1;
+                lock_owner = Thread::getId();
+            }         
+        }
+      
+        /**
+         * Unlocks the object.
+         */
+        virtual void unlock() throw( exceptions::ActiveMQException )
+        {
+            if(lock_owner == 0)
+            {
+                return;
+            }
+         
+            if(!isLockOwner())
+            {
+                throw exceptions::ActiveMQException( 
+                    __FILE__, __LINE__,
+                    "Mutex::unlock - Failed, not Lock Owner!" );
+            }
+         
+            lock_count--;
+         
+            if(lock_count == 0)
+            {         
+                lock_owner = 0;
+
+                #ifdef unix
+                    pthread_mutex_unlock(&mutex);
+                #else
+                    LeaveCriticalSection(&mutex);
+                #endif            
+            }
+        }
+      
+        /**
+         * Waits on a signal from this object, which is generated
+         * by a call to Notify.
+         */
+        virtual void wait() throw( exceptions::ActiveMQException )
+        {
+            // Delegate to the timed version
+            wait( WAIT_INFINITE );
+        }
+
+        /**
+         * Waits on a signal from this object, which is generated
+         * by a call to Notify.  Must have this object locked before
+         * calling.  This wait will timeout after the specified time
+         * interval.
+         */
+        virtual void wait( unsigned long millisecs ) 
+            throw( exceptions::ActiveMQException )
+        {
+            if(!isLockOwner())
+            {
+                throw exceptions::ActiveMQException( 
+                    __FILE__, __LINE__,
+                    "Mutex::wait - Failed, not Lock Owner!");
+            }
+
+            // Save the current owner and Lock count as we are going to 
+            // unlock and release for someone else to lock on potentially.
+            // When we come back and re-lock we want to restore to the 
+            // state we were in before.
+            unsigned long lock_owner = this->lock_owner;
+            int           lock_count = this->lock_count;
+
+            this->lock_count = 0;
+            this->lock_owner = 0;
+         
+            #ifdef unix
+
+                // Create this threads wait event
+                pthread_cond_t waitEvent;
+                pthread_cond_init(&waitEvent, NULL);
+            
+                // Store the event in the queue so that a notify can
+                // call it and wake up the thread.
+                eventQ.push_back(&waitEvent);
+
+                int returnValue = 0;
+                if(millisecs != WAIT_INFINITE)
+                {
+                    timeval now = {};
+                    gettimeofday(&now, NULL);
+               
+                    timespec wait = {};
+                    wait.tv_sec = now.tv_sec + (millisecs / 1000);
+                    wait.tv_nsec = (now.tv_usec * 1000) + ((millisecs % 1000) * 1000000);
+               
+                    if(wait.tv_nsec > 1000000000)
+                    {
+                        wait.tv_sec++;
+                        wait.tv_nsec -= 1000000000;
+                    }
+
+                    returnValue =  pthread_cond_timedwait(&waitEvent, &mutex, &wait);
+                }
+                else
+                {
+                    returnValue = pthread_cond_wait(&waitEvent, &mutex);
+                }
+
+                // If the wait did not succeed for any reason, remove it
+                // from the queue.
+                if( returnValue != 0 ){
+                    std::list<pthread_cond_t*>::iterator iter = eventQ.begin();
+                    for( ; iter != eventQ.end(); ++iter ){
+                        if( *iter == &waitEvent ){
+                            eventQ.erase(iter);
+                            break;
+                        }
+                    }
+                }
+                
+                // Destroy our wait event now, the notify method will have removed it
+                // from the event queue.
+                pthread_cond_destroy(&waitEvent);
+
+            #else
+
+                // Create the event to wait on
+                HANDLE waitEvent = CreateEvent( NULL, false, false, NULL );
+            
+                if(waitEvent == NULL)
+                {
+                    throw exceptions::ActiveMQException( 
+                        __FILE__, __LINE__,
+                        "Mutex::Mutex - Failed Creating Event." );
+                }
+
+                eventQ.push_back( waitEvent );
+
+                // Release the Lock
+                LeaveCriticalSection( &mutex );
+
+                // Wait for a signal
+                WaitForSingleObject( waitEvent, millisecs );
+
+                // Reaquire the Lock
+                EnterCriticalSection( &mutex );
+
+                // Clean up the event, the notif methods will have
+                // already poped it from the queue.
+                CloseHandle( waitEvent );
+            
+            #endif
+         
+            // restore the owner
+            this->lock_owner = lock_owner;
+            this->lock_count = lock_count;
+        }
+      
+        /**
+         * Signals a waiter on this object that it can now wake
+         * up and continue.
+         */
+        virtual void notify() throw( exceptions::ActiveMQException )
+        {
+            if( !isLockOwner() )
+            {
+                throw exceptions::ActiveMQException( 
+                    __FILE__, __LINE__,
+                    "Mutex::Notify - Failed, not Lock Owner!" );
+            }
+
+            if( !eventQ.empty() )
+            {
+                #ifdef unix
+                    pthread_cond_signal( eventQ.front() );
+                    eventQ.pop_front();
+                #else
+                    SetEvent( eventQ.front() );
+                    eventQ.pop_front();
+                #endif
+            }
+        }
+
+        /**
+         * Signals the waiters on this object that it can now wake
+         * up and continue.
+         */
+        virtual void notifyAll() throw( exceptions::ActiveMQException )
+        {
+            if(!isLockOwner())
+            {
+                throw exceptions::ActiveMQException( 
+                    __FILE__, __LINE__,
+                    "Mutex::NotifyAll - Failed, not Lock Owner!" );
+            }
+         
+            #ifdef unix
+
+                while(!eventQ.empty())
+                {
+                     pthread_cond_signal( eventQ.front() );
+                     eventQ.pop_front();
+                }
+
+            #else
+
+                while(!eventQ.empty())
+                {
+                     SetEvent( eventQ.front() );
+                     eventQ.pop_front();
+                }
+
+            #endif
+        }
+
+    private:
+   
+        /**
+         * Check if the calling thread is the Lock Owner
+         */
+        bool isLockOwner()
+        {
+            return lock_owner == Thread::getId();
+        }
+      
+    };
+
+}}
+
+#endif // ACTIVEMQ_CONCURRENT_MUTEX_H

Added: incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThread.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThread.cpp?rev=418749&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThread.cpp (added)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/concurrent/PooledThread.cpp Mon Jul  3 04:51:36 2006
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <activemq/concurrent/PooledThread.h>
+#include <activemq/concurrent/ThreadPool.h>
+#include <activemq/concurrent/TaskListener.h>
+#include <activemq/exceptions/IllegalArgumentException.h>
+
+#include <iostream>
+
+using namespace activemq;
+using namespace activemq::concurrent;
+
+////////////////////////////////////////////////////////////////////////////////
+LOGCMS_INITIALIZE(logger, PooledThread, "com.activemq.concurrent.PooledThread");
+
+////////////////////////////////////////////////////////////////////////////////
+PooledThread::PooledThread(ThreadPool* pool)
+{
+   if(pool == NULL)
+   {
+      throw exceptions::IllegalArgumentException( __FILE__, __LINE__, 
+        "PooledThread::PooledThread");
+   }
+   
+   busy = false;
+   done = false;
+
+   listener = NULL;
+   
+   // Store our Pool.
+   this->pool = pool;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+PooledThread::~PooledThread()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void PooledThread::run(void) 
+{
+   ThreadPool::Task task;
+
+   try
+   {
+      while(!done)
+      {
+         //LOGCMS_DEBUG(logger, "PooledThread::run - Entering deQ");
+
+         // Blocks until there something to be done
+         task = pool->deQueueTask();
+
+         //LOGCMS_DEBUG(logger, "PooledThread::run - Exited deQ");
+         
+         // Check if the Done Flag is set, in case it happened while we
+         // were waiting for a task
+         if(done)
+         {
+            break;
+         }
+         
+         // If we got here and the runnable was null then something
+         // bad must have happened.  Throw an Exception and bail.
+         if(!task.first)
+         {
+            throw exceptions::ActiveMQException( __FILE__, __LINE__, 
+               "PooledThread::run - Retrieive NULL task from Pool.");
+         }
+                  
+         // Got some work to do, so set flag to busy
+         busy = true;
+         
+         // Inform a listener that we are going to start
+         if(listener)
+         {
+            /*LOGCMS_DEBUG(logger, 
+               "PooledThread::run - Inform Listener we are starting");*/
+            listener->onTaskStarted(this);
+         }
+         
+         // Perform the work
+         task.first->run();
+         
+         /*LOGCMS_DEBUG(logger, 
+            "PooledThread::run - Inform Task Listener we are done");*/
+
+         // Notify the Task listener that we are done
+         task.second->onTaskComplete(task.first);
+
+         // Inform a listener that we are going to stop and wait
+         // for a new task
+         if(listener)
+         {
+            /*LOGCMS_DEBUG(logger, 
+               "PooledThread::run - Inform Listener we are done");*/
+            listener->onTaskCompleted(this);
+         }
+
+         // Set flag to inactive, we will wait for work
+         busy = false;   
+      }
+   }
+   catch(exceptions::ActiveMQException& ex)
+   {
+      ex.setMark( __FILE__, __LINE__ );
+      
+      // Notify the Task owner
+      if(task.first && task.second)
+      {
+         task.second->onTaskException(task.first, ex);
+      }
+
+      busy = false;
+      
+      // Notify the PooledThreadListener
+      if(listener)
+      {
+         listener->onTaskException(this, ex);
+      }
+   }
+   catch(...)
+   {
+      exceptions::ActiveMQException ex(
+         __FILE__, __LINE__, 
+         "PooledThread::run - Caught Unknown Exception");
+         
+      // Notify the Task owner
+      if(task.first && task.second)
+      {
+         task.second->onTaskException(task.first, ex);
+      }
+
+      busy = false;
+
+      // Notify the PooledThreadListener
+      if(listener)
+      {
+         listener->onTaskException(this, ex);
+      }
+   }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void PooledThread::stop(void) throw ( cms::CMSException )
+{
+   done = true;
+}



Mime
View raw message