activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject svn commit: r474108 [1/10] - in /incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main: ./ activemq/connector/openwire/commands/ activemq/connector/openwire/marshal/ activemq/connector/openwire/marshal/v2/
Date Mon, 13 Nov 2006 00:46:30 GMT
Author: tabish
Date: Sun Nov 12 16:46:23 2006
New Revision: 474108

URL: http://svn.apache.org/viewvc?view=rev&rev=474108
Log:
Updates for planned Openwire Support

Modified:
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/Makefile.am
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerError.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataStructure.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LastPartialCommand.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LastPartialCommand.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LocalTransactionId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LocalTransactionId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Message.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Message.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageAck.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageAck.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatch.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatch.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatchNotification.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatchNotification.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessagePull.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessagePull.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/NetworkBridgeFilter.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/NetworkBridgeFilter.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/PartialCommand.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/PartialCommand.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveSubscriptionInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveSubscriptionInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ReplayCommand.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ReplayCommand.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Response.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Response.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ShutdownInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ShutdownInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SubscriptionInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SubscriptionInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionInfo.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionInfo.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/XATransactionId.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/XATransactionId.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/BaseDataStreamMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQBytesMessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQBytesMessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQDestinationMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQDestinationMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQMapMessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQMapMessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQMessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQMessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQObjectMessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQObjectMessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQQueueMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQQueueMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQStreamMessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQStreamMessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTempDestinationMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTempDestinationMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTempQueueMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTempQueueMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTempTopicMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTempTopicMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTextMessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTextMessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTopicMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ActiveMQTopicMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/BaseCommandMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/BaseCommandMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/BrokerIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/BrokerIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/BrokerInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/BrokerInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionControlMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionControlMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionErrorMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionErrorMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConnectionInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConsumerControlMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConsumerControlMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConsumerIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConsumerIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConsumerInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ConsumerInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ControlCommandMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ControlCommandMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DataArrayResponseMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DataArrayResponseMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DataResponseMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DataResponseMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DestinationInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DestinationInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DiscoveryEventMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/DiscoveryEventMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ExceptionResponseMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ExceptionResponseMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/FlushCommandMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/FlushCommandMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/IntegerResponseMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/IntegerResponseMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalQueueAckMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalQueueAckMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalTopicAckMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalTopicAckMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalTraceMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalTraceMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalTransactionMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/JournalTransactionMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/KeepAliveInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/KeepAliveInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/LastPartialCommandMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/LastPartialCommandMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/LocalTransactionIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/LocalTransactionIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageAckMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageAckMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageDispatchMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageDispatchMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageDispatchNotificationMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageDispatchNotificationMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessageMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessagePullMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/MessagePullMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/NetworkBridgeFilterMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/NetworkBridgeFilterMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/PartialCommandMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/PartialCommandMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ProducerIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ProducerIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/RemoveInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/RemoveInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/RemoveSubscriptionInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/RemoveSubscriptionInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ResponseMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ResponseMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/SessionIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/SessionIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/SessionInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/SessionInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ShutdownInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/ShutdownInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/TransactionIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/TransactionIdMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/TransactionInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/TransactionInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/WireFormatInfoMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/WireFormatInfoMarshaller.h
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/XATransactionIdMarshaller.cpp
    incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/v2/XATransactionIdMarshaller.h

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/Makefile.am?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/Makefile.am (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/Makefile.am Sun Nov 12 16:46:23 2006
@@ -242,6 +242,7 @@
     cms/MessageConsumer.h
 
 ## include activemq/connector/openwire/commands/srcmakefile.mk
+## include activemq/connector/openwire/marshal/v2/srcmakefile.mk
 
 ##
 ## Compiler / Linker Info

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ActiveMQDestination.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -34,6 +36,25 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
+void ActiveMQDestination::copyDataStructure( const DataStructure* src ) {
+
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
+    const ActiveMQDestination* srcPtr = 
+        dynamic_cast<const ActiveMQDestination*>( src );
+
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "BrokerId::copyDataStructure - src is NULL or invalid" );
+    }
+    
+    this->setPhysicalName( srcPtr->getPhysicalName() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
 unsigned char ActiveMQDestination::getDataStructureType() const
 {
     return ActiveMQDestination::ID_ACTIVEMQDESTINATION; 
@@ -50,7 +71,7 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ActiveMQDestination::setPhysicalName(const std::string& physicalName ) {
+void ActiveMQDestination::setPhysicalName( const std::string& physicalName ) {
     this->physicalName = physicalName;
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h Sun Nov 12 16:46:23 2006
@@ -23,6 +23,8 @@
 #pragma warning( disable : 4290 )
 #endif
 
+#include <activemq/connector/openwire/commands/BaseDataStructure.h>
+
 #include <vector>
 #include <string>
 
@@ -31,7 +33,7 @@
 namespace openwire{
 namespace commands{
 
-    class ActiveMQDestination
+    class ActiveMQDestination : public BaseDataStructure
     {
     protected:
 
@@ -45,6 +47,13 @@
 
         ActiveMQDestination();
         virtual ~ActiveMQDestination();
+
+        /**
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
+         */
+        virtual void copyCommand( const DataStructure* src );
 
         virtual unsigned char getDataStructureType() const;
         virtual const std::string& getPhysicalName() const;

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerError.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerError.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerError.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerError.h Sun Nov 12 16:46:23 2006
@@ -19,6 +19,7 @@
 #define _ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_BROKERERROR_H_
 
 #include <activemq/connector/openwire/commands/BaseCommand.h>
+#icnlude <activemq/exceptions/NullPointerException.h>
 
 #include <string>
 #include <vector>
@@ -47,8 +48,45 @@
     public:
 
         BrokerError() {}
-        virtual ~BrokerError() {}
-        
+        virtual ~BrokerError() {
+            for( int i = 0; i < stackTraceElements.size(); ++i ) {
+                delete stackTraceElements[i];
+            }
+        }
+
+        /**
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
+         */
+        virtual void copyCommand( const DataStructure* src ) {
+            
+            BrokerError* srcErr = dynamic_cast<BrokerError*>( src );
+            
+            if( srcErr == NULL || src == NULL ) {
+                throw exceptions::NullPointerException(
+                    __FILE__, __LINE__,
+                    "BrokerError::copyCommand - src is NULL or invalid" );
+            } 
+            
+            this->setMessage( srcErr->getMessage() );
+            this->setExceptionClass( srcErr->getExceptionClass() );
+            
+            for( int i = 0; i < srcErr->getStackTraceElements().size(); ++i ) {
+                if( src->getStackTraceElements()[i] != NULL ) {
+                    StackTraceElement* element = new StatckTraceElement;
+                    element = *( srcErr->getStackTraceElements()[i] );
+
+                    // store the copy
+                    this->getStackTraceElements().push_back( element );
+                }
+            }
+            
+            if( srcErr->getCause() ) {
+                this->cause = srcErr->getCause()->copyCommand();
+            }
+        }
+
         /**
          * Gets the string holding the error message
          * @returns String Message

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/BrokerId.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -44,24 +46,30 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-BrokerId* BrokerId::clone() const {
+DataStructure* BrokerId::cloneDataStructure() const {
     BrokerId* brokerId = new BrokerId();
 
     // Copy the data from the base class or classes
-    BaseDataStructure::copy( brokerId );
+    brokerId->copyDataStructure( this );
 
-    brokerId->value = this->getValue();
-
-    return brokerId
+    return brokerId;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void BrokerId::copy( BrokerId* dest ) const {
+void BrokerId::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseDataStructure::copy( brokerId );
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
+    const BrokerId* srcPtr = dynamic_cast<const BrokerId*>( src );
 
-    dest->setValue( this->getValue() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "BrokerId::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setValue( srcPtr->getValue() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.h Sun Nov 12 16:46:23 2006
@@ -69,14 +69,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual BrokerId* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( BrokerId* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const std::string& getValue() const;
         virtual std::string& getValue();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/BrokerInfo.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -56,48 +58,44 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-BrokerInfo* BrokerInfo::clone() const {
+DataStructure* BrokerInfo::cloneDataStructure() const {
     BrokerInfo* brokerInfo = new BrokerInfo();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( brokerInfo );
+    brokerInfo->copyDataStructure( this );
 
-    brokerInfo->brokerId = this->getBrokerId();
-    brokerInfo->brokerURL = this->getBrokerURL();
-    for( size_t ipeerBrokerInfos = 0; ipeerBrokerInfos < peerBrokerInfos.size(); ++ipeerBrokerInfos ) {
-        brokerInfo->getPeerBrokerInfos().push_back( 
-            this->peerBrokerInfos[ipeerBrokerInfos]->clone();
-    }
-    brokerInfo->brokerName = this->getBrokerName();
-    brokerInfo->slaveBroker = this->getSlaveBroker()->clone();
-    brokerInfo->masterBroker = this->getMasterBroker()->clone();
-    brokerInfo->faultTolerantConfiguration = this->getFaultTolerantConfiguration()->clone();
-    brokerInfo->duplexConnection = this->getDuplexConnection()->clone();
-    brokerInfo->networkConnection = this->getNetworkConnection()->clone();
-    brokerInfo->connectionId = this->getConnectionId()->clone();
-
-    return brokerInfo
+    return brokerInfo;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void BrokerInfo::copy( BrokerInfo* dest ) const {
+void BrokerInfo::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( brokerInfo );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
 
-    dest->setBrokerId( this->getBrokerId() );
-    dest->setBrokerURL( this->getBrokerURL() );
-    for( size_t ipeerBrokerInfos = 0; ipeerBrokerInfos < peerBrokerInfos.size(); ++ipeerBrokerInfos ) {
-        dest->getPeerBrokerInfos().push_back( 
-            this->peerBrokerInfos[ipeerBrokerInfos]->clone() );
+    const BrokerInfo* srcPtr = dynamic_cast<const BrokerInfo*>( src );
+
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "BrokerInfo::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setBrokerId( 
+        dynamic_cast<BrokerId*>( 
+            srcPtr->getBrokerId()->cloneDataStructure() ) );
+    this->setBrokerURL( srcPtr->getBrokerURL() );
+    for( size_t ipeerBrokerInfos = 0; ipeerBrokerInfos < srcPtr->getPeerBrokerInfos().size(); ++ipeerBrokerInfos ) {
+        this->getPeerBrokerInfos().push_back( 
+            srcPtr->getPeerBrokerInfos()[ipeerBrokerInfos]->cloneDataStructure() );
     }
-    dest->setBrokerName( this->getBrokerName() );
-    dest->setSlaveBroker( this->getSlaveBroker()->clone() );
-    dest->setMasterBroker( this->getMasterBroker()->clone() );
-    dest->setFaultTolerantConfiguration( this->getFaultTolerantConfiguration()->clone() );
-    dest->setDuplexConnection( this->getDuplexConnection()->clone() );
-    dest->setNetworkConnection( this->getNetworkConnection()->clone() );
-    dest->setConnectionId( this->getConnectionId()->clone() );
+    this->setBrokerName( srcPtr->getBrokerName() );
+    this->setSlaveBroker( srcPtr->getSlaveBroker() );
+    this->setMasterBroker( srcPtr->getMasterBroker() );
+    this->setFaultTolerantConfiguration( srcPtr->getFaultTolerantConfiguration() );
+    this->setDuplexConnection( srcPtr->getDuplexConnection() );
+    this->setNetworkConnection( srcPtr->getNetworkConnection() );
+    this->setConnectionId( srcPtr->getConnectionId() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.h Sun Nov 12 16:46:23 2006
@@ -80,14 +80,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual BrokerInfo* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( BrokerInfo* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const BrokerId* getBrokerId() const;
         virtual BrokerId* getBrokerId();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConnectionControl.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -48,32 +50,34 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConnectionControl* ConnectionControl::clone() const {
+DataStructure* ConnectionControl::cloneDataStructure() const {
     ConnectionControl* connectionControl = new ConnectionControl();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( connectionControl );
+    connectionControl->copyDataStructure( this );
 
-    connectionControl->close = this->getClose()->clone();
-    connectionControl->exit = this->getExit()->clone();
-    connectionControl->faultTolerant = this->getFaultTolerant()->clone();
-    connectionControl->resume = this->getResume()->clone();
-    connectionControl->suspend = this->getSuspend()->clone();
-
-    return connectionControl
+    return connectionControl;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConnectionControl::copy( ConnectionControl* dest ) const {
+void ConnectionControl::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( connectionControl );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
+    const ConnectionControl* srcPtr = dynamic_cast<const ConnectionControl*>( src );
 
-    dest->setClose( this->getClose()->clone() );
-    dest->setExit( this->getExit()->clone() );
-    dest->setFaultTolerant( this->getFaultTolerant()->clone() );
-    dest->setResume( this->getResume()->clone() );
-    dest->setSuspend( this->getSuspend()->clone() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConnectionControl::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setClose( srcPtr->getClose() );
+    this->setExit( srcPtr->getExit() );
+    this->setFaultTolerant( srcPtr->getFaultTolerant() );
+    this->setResume( srcPtr->getResume() );
+    this->setSuspend( srcPtr->getSuspend() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.h Sun Nov 12 16:46:23 2006
@@ -73,14 +73,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConnectionControl* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConnectionControl* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const bool getClose() const;
         virtual bool getClose();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConnectionError.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -47,26 +49,35 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConnectionError* ConnectionError::clone() const {
+DataStructure* ConnectionError::cloneDataStructure() const {
     ConnectionError* connectionError = new ConnectionError();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( connectionError );
+    connectionError->copyDataStructure( this );
 
-    connectionError->exception = this->getException();
-    connectionError->connectionId = this->getConnectionId();
-
-    return connectionError
+    return connectionError;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConnectionError::copy( ConnectionError* dest ) const {
+void ConnectionError::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( connectionError );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
+    const ConnectionError* srcPtr = dynamic_cast<const ConnectionError*>( src );
 
-    dest->setException( this->getException() );
-    dest->setConnectionId( this->getConnectionId() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConnectionError::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setException( 
+        dynamic_cast<BrokerError*>( 
+            srcPtr->getException()->cloneDataStructure() ) );
+    this->setConnectionId( 
+        dynamic_cast<ConnectionId*>( 
+            srcPtr->getConnectionId()->cloneDataStructure() ) );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.h Sun Nov 12 16:46:23 2006
@@ -72,14 +72,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConnectionError* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConnectionError* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const BrokerError* getException() const;
         virtual BrokerError* getException();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConnectionId.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -44,24 +46,30 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConnectionId* ConnectionId::clone() const {
+DataStructure* ConnectionId::cloneDataStructure() const {
     ConnectionId* connectionId = new ConnectionId();
 
     // Copy the data from the base class or classes
-    BaseDataStructure::copy( connectionId );
+    connectionId->copyDataStructure( this );
 
-    connectionId->value = this->getValue();
-
-    return connectionId
+    return connectionId;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConnectionId::copy( ConnectionId* dest ) const {
+void ConnectionId::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseDataStructure::copy( connectionId );
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
+    const ConnectionId* srcPtr = dynamic_cast<const ConnectionId*>( src );
 
-    dest->setValue( this->getValue() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConnectionId::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setValue( srcPtr->getValue() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.h Sun Nov 12 16:46:23 2006
@@ -69,14 +69,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConnectionId* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConnectionId* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const std::string& getValue() const;
         virtual std::string& getValue();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConnectionInfo.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -54,44 +56,42 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConnectionInfo* ConnectionInfo::clone() const {
+DataStructure* ConnectionInfo::cloneDataStructure() const {
     ConnectionInfo* connectionInfo = new ConnectionInfo();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( connectionInfo );
+    connectionInfo->copyDataStructure( this );
 
-    connectionInfo->connectionId = this->getConnectionId();
-    connectionInfo->clientId = this->getClientId();
-    connectionInfo->password = this->getPassword();
-    connectionInfo->userName = this->getUserName();
-    for( size_t ibrokerPath = 0; ibrokerPath < brokerPath.size(); ++ibrokerPath ) {
-        connectionInfo->getBrokerPath().push_back( 
-            this->brokerPath[ibrokerPath]->clone();
-    }
-    connectionInfo->brokerMasterConnector = this->getBrokerMasterConnector()->clone();
-    connectionInfo->manageable = this->getManageable()->clone();
-    connectionInfo->clientMaster = this->getClientMaster()->clone();
-
-    return connectionInfo
+    return connectionInfo;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConnectionInfo::copy( ConnectionInfo* dest ) const {
+void ConnectionInfo::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( connectionInfo );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
 
-    dest->setConnectionId( this->getConnectionId() );
-    dest->setClientId( this->getClientId() );
-    dest->setPassword( this->getPassword() );
-    dest->setUserName( this->getUserName() );
-    for( size_t ibrokerPath = 0; ibrokerPath < brokerPath.size(); ++ibrokerPath ) {
-        dest->getBrokerPath().push_back( 
-            this->brokerPath[ibrokerPath]->clone() );
+    const ConnectionInfo* srcPtr = dynamic_cast<const ConnectionInfo*>( src );
+
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConnectionInfo::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setConnectionId( 
+        dynamic_cast<ConnectionId*>( 
+            srcPtr->getConnectionId()->cloneDataStructure() ) );
+    this->setClientId( srcPtr->getClientId() );
+    this->setPassword( srcPtr->getPassword() );
+    this->setUserName( srcPtr->getUserName() );
+    for( size_t ibrokerPath = 0; ibrokerPath < srcPtr->getBrokerPath().size(); ++ibrokerPath ) {
+        this->getBrokerPath().push_back( 
+            srcPtr->getBrokerPath()[ibrokerPath]->cloneDataStructure() );
     }
-    dest->setBrokerMasterConnector( this->getBrokerMasterConnector()->clone() );
-    dest->setManageable( this->getManageable()->clone() );
-    dest->setClientMaster( this->getClientMaster()->clone() );
+    this->setBrokerMasterConnector( srcPtr->getBrokerMasterConnector() );
+    this->setManageable( srcPtr->getManageable() );
+    this->setClientMaster( srcPtr->getClientMaster() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.h Sun Nov 12 16:46:23 2006
@@ -78,14 +78,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConnectionInfo* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConnectionInfo* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const ConnectionId* getConnectionId() const;
         virtual ConnectionId* getConnectionId();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConsumerControl.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -50,34 +52,37 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConsumerControl* ConsumerControl::clone() const {
+DataStructure* ConsumerControl::cloneDataStructure() const {
     ConsumerControl* consumerControl = new ConsumerControl();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( consumerControl );
+    consumerControl->copyDataStructure( this );
 
-    consumerControl->close = this->getClose()->clone();
-    consumerControl->consumerId = this->getConsumerId();
-    consumerControl->prefetch = this->getPrefetch()->clone();
-    consumerControl->flush = this->getFlush()->clone();
-    consumerControl->start = this->getStart()->clone();
-    consumerControl->stop = this->getStop()->clone();
-
-    return consumerControl
+    return consumerControl;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConsumerControl::copy( ConsumerControl* dest ) const {
+void ConsumerControl::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( consumerControl );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
+    const ConsumerControl* srcPtr = dynamic_cast<const ConsumerControl*>( src );
 
-    dest->setClose( this->getClose()->clone() );
-    dest->setConsumerId( this->getConsumerId() );
-    dest->setPrefetch( this->getPrefetch()->clone() );
-    dest->setFlush( this->getFlush()->clone() );
-    dest->setStart( this->getStart()->clone() );
-    dest->setStop( this->getStop()->clone() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConsumerControl::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setClose( srcPtr->getClose() );
+    this->setConsumerId( 
+        dynamic_cast<ConsumerId*>( 
+            srcPtr->getConsumerId()->cloneDataStructure() ) );
+    this->setPrefetch( srcPtr->getPrefetch() );
+    this->setFlush( srcPtr->getFlush() );
+    this->setStart( srcPtr->getStart() );
+    this->setStop( srcPtr->getStop() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.h Sun Nov 12 16:46:23 2006
@@ -75,14 +75,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConsumerControl* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConsumerControl* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const bool getClose() const;
         virtual bool getClose();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConsumerId.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -46,28 +48,32 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConsumerId* ConsumerId::clone() const {
+DataStructure* ConsumerId::cloneDataStructure() const {
     ConsumerId* consumerId = new ConsumerId();
 
     // Copy the data from the base class or classes
-    BaseDataStructure::copy( consumerId );
+    consumerId->copyDataStructure( this );
 
-    consumerId->connectionId = this->getConnectionId();
-    consumerId->sessionId = this->getSessionId()->clone();
-    consumerId->value = this->getValue()->clone();
-
-    return consumerId
+    return consumerId;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConsumerId::copy( ConsumerId* dest ) const {
+void ConsumerId::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseDataStructure::copy( consumerId );
+    // Copy the data of the base class or classes
+    BaseDataStructure::copyDataStructure( src );
+
+    const ConsumerId* srcPtr = dynamic_cast<const ConsumerId*>( src );
 
-    dest->setConnectionId( this->getConnectionId() );
-    dest->setSessionId( this->getSessionId()->clone() );
-    dest->setValue( this->getValue()->clone() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConsumerId::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setConnectionId( srcPtr->getConnectionId() );
+    this->setSessionId( srcPtr->getSessionId() );
+    this->setValue( srcPtr->getValue() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.h Sun Nov 12 16:46:23 2006
@@ -71,14 +71,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConsumerId* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConsumerId* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const std::string& getConnectionId() const;
         virtual std::string& getConnectionId();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ConsumerInfo.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -65,62 +67,55 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ConsumerInfo* ConsumerInfo::clone() const {
+DataStructure* ConsumerInfo::cloneDataStructure() const {
     ConsumerInfo* consumerInfo = new ConsumerInfo();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( consumerInfo );
+    consumerInfo->copyDataStructure( this );
 
-    consumerInfo->consumerId = this->getConsumerId();
-    consumerInfo->browser = this->getBrowser()->clone();
-    consumerInfo->destination = this->getDestination();
-    consumerInfo->prefetchSize = this->getPrefetchSize()->clone();
-    consumerInfo->maximumPendingMessageLimit = this->getMaximumPendingMessageLimit()->clone();
-    consumerInfo->dispatchAsync = this->getDispatchAsync()->clone();
-    consumerInfo->selector = this->getSelector();
-    consumerInfo->subscriptionName = this->getSubscriptionName();
-    consumerInfo->noLocal = this->getNoLocal()->clone();
-    consumerInfo->exclusive = this->getExclusive()->clone();
-    consumerInfo->retroactive = this->getRetroactive()->clone();
-    consumerInfo->priority = this->getPriority()->clone();
-    for( size_t ibrokerPath = 0; ibrokerPath < brokerPath.size(); ++ibrokerPath ) {
-        consumerInfo->getBrokerPath().push_back( 
-            this->brokerPath[ibrokerPath]->clone();
-    }
-    consumerInfo->additionalPredicate = this->getAdditionalPredicate();
-    consumerInfo->networkSubscription = this->getNetworkSubscription()->clone();
-    consumerInfo->optimizedAcknowledge = this->getOptimizedAcknowledge()->clone();
-    consumerInfo->noRangeAcks = this->getNoRangeAcks()->clone();
-
-    return consumerInfo
+    return consumerInfo;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ConsumerInfo::copy( ConsumerInfo* dest ) const {
+void ConsumerInfo::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( consumerInfo );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
 
-    dest->setConsumerId( this->getConsumerId() );
-    dest->setBrowser( this->getBrowser()->clone() );
-    dest->setDestination( this->getDestination() );
-    dest->setPrefetchSize( this->getPrefetchSize()->clone() );
-    dest->setMaximumPendingMessageLimit( this->getMaximumPendingMessageLimit()->clone() );
-    dest->setDispatchAsync( this->getDispatchAsync()->clone() );
-    dest->setSelector( this->getSelector() );
-    dest->setSubscriptionName( this->getSubscriptionName() );
-    dest->setNoLocal( this->getNoLocal()->clone() );
-    dest->setExclusive( this->getExclusive()->clone() );
-    dest->setRetroactive( this->getRetroactive()->clone() );
-    dest->setPriority( this->getPriority()->clone() );
-    for( size_t ibrokerPath = 0; ibrokerPath < brokerPath.size(); ++ibrokerPath ) {
-        dest->getBrokerPath().push_back( 
-            this->brokerPath[ibrokerPath]->clone() );
+    const ConsumerInfo* srcPtr = dynamic_cast<const ConsumerInfo*>( src );
+
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ConsumerInfo::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setConsumerId( 
+        dynamic_cast<ConsumerId*>( 
+            srcPtr->getConsumerId()->cloneDataStructure() ) );
+    this->setBrowser( srcPtr->getBrowser() );
+    this->setDestination( 
+        dynamic_cast<ActiveMQDestination*>( 
+            srcPtr->getDestination()->cloneDataStructure() ) );
+    this->setPrefetchSize( srcPtr->getPrefetchSize() );
+    this->setMaximumPendingMessageLimit( srcPtr->getMaximumPendingMessageLimit() );
+    this->setDispatchAsync( srcPtr->getDispatchAsync() );
+    this->setSelector( srcPtr->getSelector() );
+    this->setSubscriptionName( srcPtr->getSubscriptionName() );
+    this->setNoLocal( srcPtr->getNoLocal() );
+    this->setExclusive( srcPtr->getExclusive() );
+    this->setRetroactive( srcPtr->getRetroactive() );
+    this->setPriority( srcPtr->getPriority() );
+    for( size_t ibrokerPath = 0; ibrokerPath < srcPtr->getBrokerPath().size(); ++ibrokerPath ) {
+        this->getBrokerPath().push_back( 
+            srcPtr->getBrokerPath()[ibrokerPath]->cloneDataStructure() );
     }
-    dest->setAdditionalPredicate( this->getAdditionalPredicate() );
-    dest->setNetworkSubscription( this->getNetworkSubscription()->clone() );
-    dest->setOptimizedAcknowledge( this->getOptimizedAcknowledge()->clone() );
-    dest->setNoRangeAcks( this->getNoRangeAcks()->clone() );
+    this->setAdditionalPredicate( 
+        dynamic_cast<BooleanExpression*>( 
+            srcPtr->getAdditionalPredicate()->cloneDataStructure() ) );
+    this->setNetworkSubscription( srcPtr->getNetworkSubscription() );
+    this->setOptimizedAcknowledge( srcPtr->getOptimizedAcknowledge() );
+    this->setNoRangeAcks( srcPtr->getNoRangeAcks() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.h Sun Nov 12 16:46:23 2006
@@ -89,14 +89,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ConsumerInfo* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ConsumerInfo* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const ConsumerId* getConsumerId() const;
         virtual ConsumerId* getConsumerId();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/ControlCommand.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -44,24 +46,30 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-ControlCommand* ControlCommand::clone() const {
+DataStructure* ControlCommand::cloneDataStructure() const {
     ControlCommand* controlCommand = new ControlCommand();
 
     // Copy the data from the base class or classes
-    BaseCommand::copy( controlCommand );
+    controlCommand->copyDataStructure( this );
 
-    controlCommand->command = this->getCommand();
-
-    return controlCommand
+    return controlCommand;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void ControlCommand::copy( ControlCommand* dest ) const {
+void ControlCommand::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    BaseCommand::copy( controlCommand );
+    // Copy the data of the base class or classes
+    BaseCommand::copyDataStructure( src );
+
+    const ControlCommand* srcPtr = dynamic_cast<const ControlCommand*>( src );
 
-    dest->setCommand( this->getCommand() );
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "ControlCommand::copyDataStructure - src is NULL or invalid" );
+    }
+    this->setCommand( srcPtr->getCommand() );
 }
 
 ////////////////////////////////////////////////////////////////////////////////

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.h Sun Nov 12 16:46:23 2006
@@ -69,14 +69,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual ControlCommand* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( ControlCommand* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const std::string& getCommand() const;
         virtual std::string& getCommand();

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.cpp?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.cpp Sun Nov 12 16:46:23 2006
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 #include <activemq/connector/openwire/commands/DataArrayResponse.h>
+#include <activemq/exceptions/NullPointerException.h>
 
 using namespace std;
 using namespace activemq;
+using namespace activemq::exceptions;
 using namespace activemq::connector;
 using namespace activemq::connector::openwire;
 using namespace activemq::connector::openwire::commands;
@@ -46,29 +48,32 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-DataArrayResponse* DataArrayResponse::clone() const {
+DataStructure* DataArrayResponse::cloneDataStructure() const {
     DataArrayResponse* dataArrayResponse = new DataArrayResponse();
 
     // Copy the data from the base class or classes
-    Response::copy( dataArrayResponse );
+    dataArrayResponse->copyDataStructure( this );
 
-    for( size_t idata = 0; idata < data.size(); ++idata ) {
-        dataArrayResponse->getData().push_back( 
-            this->data[idata]->clone();
-    }
-
-    return dataArrayResponse
+    return dataArrayResponse;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-void DataArrayResponse::copy( DataArrayResponse* dest ) const {
+void DataArrayResponse::copyDataStructure( const DataStructure* src ) {
 
-    // Copy the data from the base class or classes
-    Response::copy( dataArrayResponse );
+    // Copy the data of the base class or classes
+    Response::copyDataStructure( src );
 
-    for( size_t idata = 0; idata < data.size(); ++idata ) {
-        dest->getData().push_back( 
-            this->data[idata]->clone() );
+    const DataArrayResponse* srcPtr = dynamic_cast<const DataArrayResponse*>( src );
+
+    if( srcPtr == NULL || src == NULL ) {
+    
+        throw exceptions::NullPointerException(
+            __FILE__, __LINE__,
+            "DataArrayResponse::copyDataStructure - src is NULL or invalid" );
+    }
+    for( size_t idata = 0; idata < srcPtr->getData().size(); ++idata ) {
+        this->getData().push_back( 
+            srcPtr->getData()[idata]->cloneDataStructure() );
     }
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.h?view=diff&rev=474108&r1=474107&r2=474108
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.h Sun Nov 12 16:46:23 2006
@@ -70,14 +70,14 @@
          * caller now owns, this will be an exact copy of this one
          * @returns new copy of this object.
          */
-        virtual DataArrayResponse* clone() const;
+        virtual DataStructure* cloneDataStructure() const;
 
         /**
-         * Copy the contents of this object and place them into the
-         * instance of this object type that was passed in.
-         * @return dest - Destination Object
+         * Copy the contents of the passed object into this objects
+         * members, overwriting any existing data.
+         * @return src - Source Object
          */
-        virtual void clone( DataArrayResponse* dest ) const;
+        virtual void copyDataStructure( const DataStructure* src );
 
         virtual const std::vector<DataStructure*> getData() const;
         virtual std::vector<DataStructure*> getData();



Mime
View raw message