You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2006/10/18 00:39:09 UTC

svn commit: r465088 [1/2] - /incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/

Author: tabish
Date: Tue Oct 17 15:39:06 2006
New Revision: 465088

URL: http://svn.apache.org/viewvc?view=rev&rev=465088
Log: (empty)

Modified:
    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/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

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -44,8 +44,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char BrokerId::getDataStructureType() const
-{
+BrokerId* BrokerId::clone() const {
+    BrokerId* brokerId = new BrokerId();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( brokerId );
+
+    brokerId->value = this->getValue();
+
+    return brokerId
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void BrokerId::copy( BrokerId* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( brokerId );
+
+    dest->setValue( this->getValue() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char BrokerId::getDataStructureType() const {
     return BrokerId::ID_BROKERID; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -57,7 +57,27 @@
         BrokerId();
         virtual ~BrokerId();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual BrokerId* clone() 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
+         */
+        virtual void clone( BrokerId* dest ) const;
+
         virtual const std::string& getValue() const;
         virtual std::string& getValue();
         virtual void setValue( const std::string& value );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -53,8 +53,46 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char BrokerInfo::getDataStructureType() const
-{
+BrokerInfo* BrokerInfo::clone() const {
+    BrokerInfo* brokerInfo = new BrokerInfo();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( brokerInfo );
+
+    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();
+
+    return brokerInfo
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void BrokerInfo::copy( BrokerInfo* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( brokerInfo );
+
+    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() );
+    }
+    dest->setBrokerName( this->getBrokerName() );
+    dest->setSlaveBroker( this->getSlaveBroker()->clone() );
+    dest->setMasterBroker( this->getMasterBroker()->clone() );
+    dest->setFaultTolerantConfiguration( this->getFaultTolerantConfiguration()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char BrokerInfo::getDataStructureType() const {
     return BrokerInfo::ID_BROKERINFO; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -65,7 +65,27 @@
         BrokerInfo();
         virtual ~BrokerInfo();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual BrokerInfo* clone() 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
+         */
+        virtual void clone( BrokerInfo* dest ) const;
+
         virtual const BrokerId* getBrokerId() const;
         virtual BrokerId* getBrokerId();
         virtual void setBrokerId( BrokerId* brokerId );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -48,8 +48,36 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConnectionControl::getDataStructureType() const
-{
+ConnectionControl* ConnectionControl::clone() const {
+    ConnectionControl* connectionControl = new ConnectionControl();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( connectionControl );
+
+    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
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConnectionControl::copy( ConnectionControl* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( connectionControl );
+
+    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() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConnectionControl::getDataStructureType() const {
     return ConnectionControl::ID_CONNECTIONCONTROL; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -61,7 +61,27 @@
         ConnectionControl();
         virtual ~ConnectionControl();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConnectionControl* clone() 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
+         */
+        virtual void clone( ConnectionControl* dest ) const;
+
         virtual const bool getClose() const;
         virtual bool getClose();
         virtual void setClose( bool close );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -47,8 +47,30 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConnectionError::getDataStructureType() const
-{
+ConnectionError* ConnectionError::clone() const {
+    ConnectionError* connectionError = new ConnectionError();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( connectionError );
+
+    connectionError->exception = this->getException();
+    connectionError->connectionId = this->getConnectionId();
+
+    return connectionError
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConnectionError::copy( ConnectionError* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( connectionError );
+
+    dest->setException( this->getException() );
+    dest->setConnectionId( this->getConnectionId() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConnectionError::getDataStructureType() const {
     return ConnectionError::ID_CONNECTIONERROR; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -60,7 +60,27 @@
         ConnectionError();
         virtual ~ConnectionError();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConnectionError* clone() 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
+         */
+        virtual void clone( ConnectionError* dest ) const;
+
         virtual const BrokerError* getException() const;
         virtual BrokerError* getException();
         virtual void setException( BrokerError* exception );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -44,8 +44,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConnectionId::getDataStructureType() const
-{
+ConnectionId* ConnectionId::clone() const {
+    ConnectionId* connectionId = new ConnectionId();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( connectionId );
+
+    connectionId->value = this->getValue();
+
+    return connectionId
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConnectionId::copy( ConnectionId* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( connectionId );
+
+    dest->setValue( this->getValue() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConnectionId::getDataStructureType() const {
     return ConnectionId::ID_CONNECTIONID; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -57,7 +57,27 @@
         ConnectionId();
         virtual ~ConnectionId();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConnectionId* clone() 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
+         */
+        virtual void clone( ConnectionId* dest ) const;
+
         virtual const std::string& getValue() const;
         virtual std::string& getValue();
         virtual void setValue( const std::string& value );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -53,8 +53,46 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConnectionInfo::getDataStructureType() const
-{
+ConnectionInfo* ConnectionInfo::clone() const {
+    ConnectionInfo* connectionInfo = new ConnectionInfo();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( connectionInfo );
+
+    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();
+
+    return connectionInfo
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConnectionInfo::copy( ConnectionInfo* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( connectionInfo );
+
+    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() );
+    }
+    dest->setBrokerMasterConnector( this->getBrokerMasterConnector()->clone() );
+    dest->setManageable( this->getManageable()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConnectionInfo::getDataStructureType() const {
     return ConnectionInfo::ID_CONNECTIONINFO; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -65,7 +65,27 @@
         ConnectionInfo();
         virtual ~ConnectionInfo();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConnectionInfo* clone() 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
+         */
+        virtual void clone( ConnectionInfo* dest ) const;
+
         virtual const ConnectionId* getConnectionId() const;
         virtual ConnectionId* getConnectionId();
         virtual void setConnectionId( ConnectionId* connectionId );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -47,8 +47,32 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConsumerControl::getDataStructureType() const
-{
+ConsumerControl* ConsumerControl::clone() const {
+    ConsumerControl* consumerControl = new ConsumerControl();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( consumerControl );
+
+    consumerControl->close = this->getClose()->clone();
+    consumerControl->consumerId = this->getConsumerId();
+    consumerControl->prefetch = this->getPrefetch()->clone();
+
+    return consumerControl
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConsumerControl::copy( ConsumerControl* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( consumerControl );
+
+    dest->setClose( this->getClose()->clone() );
+    dest->setConsumerId( this->getConsumerId() );
+    dest->setPrefetch( this->getPrefetch()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConsumerControl::getDataStructureType() const {
     return ConsumerControl::ID_CONSUMERCONTROL; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -60,7 +60,27 @@
         ConsumerControl();
         virtual ~ConsumerControl();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConsumerControl* clone() 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
+         */
+        virtual void clone( ConsumerControl* dest ) const;
+
         virtual const bool getClose() const;
         virtual bool getClose();
         virtual void setClose( bool close );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -46,8 +46,32 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConsumerId::getDataStructureType() const
-{
+ConsumerId* ConsumerId::clone() const {
+    ConsumerId* consumerId = new ConsumerId();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( consumerId );
+
+    consumerId->connectionId = this->getConnectionId();
+    consumerId->sessionId = this->getSessionId()->clone();
+    consumerId->value = this->getValue()->clone();
+
+    return consumerId
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConsumerId::copy( ConsumerId* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( consumerId );
+
+    dest->setConnectionId( this->getConnectionId() );
+    dest->setSessionId( this->getSessionId()->clone() );
+    dest->setValue( this->getValue()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConsumerId::getDataStructureType() const {
     return ConsumerId::ID_CONSUMERID; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -59,7 +59,27 @@
         ConsumerId();
         virtual ~ConsumerId();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConsumerId* clone() 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
+         */
+        virtual void clone( ConsumerId* dest ) const;
+
         virtual const std::string& getConnectionId() const;
         virtual std::string& getConnectionId();
         virtual void setConnectionId( const std::string& connectionId );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -65,8 +65,66 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ConsumerInfo::getDataStructureType() const
-{
+ConsumerInfo* ConsumerInfo::clone() const {
+    ConsumerInfo* consumerInfo = new ConsumerInfo();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( consumerInfo );
+
+    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->subcriptionName = this->getSubcriptionName();
+    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
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ConsumerInfo::copy( ConsumerInfo* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( consumerInfo );
+
+    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->setSubcriptionName( this->getSubcriptionName() );
+    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() );
+    }
+    dest->setAdditionalPredicate( this->getAdditionalPredicate() );
+    dest->setNetworkSubscription( this->getNetworkSubscription()->clone() );
+    dest->setOptimizedAcknowledge( this->getOptimizedAcknowledge()->clone() );
+    dest->setNoRangeAcks( this->getNoRangeAcks()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ConsumerInfo::getDataStructureType() const {
     return ConsumerInfo::ID_CONSUMERINFO; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -77,7 +77,27 @@
         ConsumerInfo();
         virtual ~ConsumerInfo();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ConsumerInfo* clone() 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
+         */
+        virtual void clone( ConsumerInfo* dest ) const;
+
         virtual const ConsumerId* getConsumerId() const;
         virtual ConsumerId* getConsumerId();
         virtual void setConsumerId( ConsumerId* consumerId );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -44,8 +44,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ControlCommand::getDataStructureType() const
-{
+ControlCommand* ControlCommand::clone() const {
+    ControlCommand* controlCommand = new ControlCommand();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( controlCommand );
+
+    controlCommand->command = this->getCommand();
+
+    return controlCommand
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ControlCommand::copy( ControlCommand* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( controlCommand );
+
+    dest->setCommand( this->getCommand() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ControlCommand::getDataStructureType() const {
     return ControlCommand::ID_CONTROLCOMMAND; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -57,7 +57,27 @@
         ControlCommand();
         virtual ~ControlCommand();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ControlCommand* clone() 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
+         */
+        virtual void clone( ControlCommand* dest ) const;
+
         virtual const std::string& getCommand() const;
         virtual std::string& getCommand();
         virtual void setCommand( const std::string& command );

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -46,8 +46,34 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char DataArrayResponse::getDataStructureType() const
-{
+DataArrayResponse* DataArrayResponse::clone() const {
+    DataArrayResponse* dataArrayResponse = new DataArrayResponse();
+
+    // Copy the data from the base class or classes
+    Response::copy( dataArrayResponse );
+
+    for( size_t idata = 0; idata < data.size(); ++idata ) {
+        dataArrayResponse->getData().push_back( 
+            this->data[idata]->clone();
+    }
+
+    return dataArrayResponse
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataArrayResponse::copy( DataArrayResponse* dest ) const {
+
+    // Copy the data from the base class or classes
+    Response::copy( dataArrayResponse );
+
+    for( size_t idata = 0; idata < data.size(); ++idata ) {
+        dest->getData().push_back( 
+            this->data[idata]->clone() );
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char DataArrayResponse::getDataStructureType() const {
     return DataArrayResponse::ID_DATAARRAYRESPONSE; 
 }
 

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=465088&r1=465087&r2=465088
==============================================================================
--- 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 Tue Oct 17 15:39:06 2006
@@ -58,7 +58,27 @@
         DataArrayResponse();
         virtual ~DataArrayResponse();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual DataArrayResponse* clone() 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
+         */
+        virtual void clone( DataArrayResponse* dest ) const;
+
         virtual const std::vector<DataStructure*> getData() const;
         virtual std::vector<DataStructure*> getData();
         virtual void setData( std::vector<DataStructure*> data );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.cpp Tue Oct 17 15:39:06 2006
@@ -45,8 +45,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char DataResponse::getDataStructureType() const
-{
+DataResponse* DataResponse::clone() const {
+    DataResponse* dataResponse = new DataResponse();
+
+    // Copy the data from the base class or classes
+    Response::copy( dataResponse );
+
+    dataResponse->data = this->getData();
+
+    return dataResponse
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DataResponse::copy( DataResponse* dest ) const {
+
+    // Copy the data from the base class or classes
+    Response::copy( dataResponse );
+
+    dest->setData( this->getData() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char DataResponse::getDataStructureType() const {
     return DataResponse::ID_DATARESPONSE; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.h Tue Oct 17 15:39:06 2006
@@ -58,7 +58,27 @@
         DataResponse();
         virtual ~DataResponse();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual DataResponse* clone() 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
+         */
+        virtual void clone( DataResponse* dest ) const;
+
         virtual const DataStructure* getData() const;
         virtual DataStructure* getData();
         virtual void setData( DataStructure* data );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.cpp Tue Oct 17 15:39:06 2006
@@ -52,8 +52,42 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char DestinationInfo::getDataStructureType() const
-{
+DestinationInfo* DestinationInfo::clone() const {
+    DestinationInfo* destinationInfo = new DestinationInfo();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( destinationInfo );
+
+    destinationInfo->connectionId = this->getConnectionId();
+    destinationInfo->destination = this->getDestination();
+    destinationInfo->operationType = this->getOperationType()->clone();
+    destinationInfo->timeout = this->getTimeout()->clone();
+    for( size_t ibrokerPath = 0; ibrokerPath < brokerPath.size(); ++ibrokerPath ) {
+        destinationInfo->getBrokerPath().push_back( 
+            this->brokerPath[ibrokerPath]->clone();
+    }
+
+    return destinationInfo
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DestinationInfo::copy( DestinationInfo* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( destinationInfo );
+
+    dest->setConnectionId( this->getConnectionId() );
+    dest->setDestination( this->getDestination() );
+    dest->setOperationType( this->getOperationType()->clone() );
+    dest->setTimeout( this->getTimeout()->clone() );
+    for( size_t ibrokerPath = 0; ibrokerPath < brokerPath.size(); ++ibrokerPath ) {
+        dest->getBrokerPath().push_back( 
+            this->brokerPath[ibrokerPath]->clone() );
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char DestinationInfo::getDataStructureType() const {
     return DestinationInfo::ID_DESTINATIONINFO; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.h Tue Oct 17 15:39:06 2006
@@ -64,7 +64,27 @@
         DestinationInfo();
         virtual ~DestinationInfo();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual DestinationInfo* clone() 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
+         */
+        virtual void clone( DestinationInfo* dest ) const;
+
         virtual const ConnectionId* getConnectionId() const;
         virtual ConnectionId* getConnectionId();
         virtual void setConnectionId( ConnectionId* connectionId );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.cpp Tue Oct 17 15:39:06 2006
@@ -45,8 +45,30 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char DiscoveryEvent::getDataStructureType() const
-{
+DiscoveryEvent* DiscoveryEvent::clone() const {
+    DiscoveryEvent* discoveryEvent = new DiscoveryEvent();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( discoveryEvent );
+
+    discoveryEvent->serviceName = this->getServiceName();
+    discoveryEvent->brokerName = this->getBrokerName();
+
+    return discoveryEvent
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void DiscoveryEvent::copy( DiscoveryEvent* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( discoveryEvent );
+
+    dest->setServiceName( this->getServiceName() );
+    dest->setBrokerName( this->getBrokerName() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char DiscoveryEvent::getDataStructureType() const {
     return DiscoveryEvent::ID_DISCOVERYEVENT; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.h Tue Oct 17 15:39:06 2006
@@ -58,7 +58,27 @@
         DiscoveryEvent();
         virtual ~DiscoveryEvent();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual DiscoveryEvent* clone() 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
+         */
+        virtual void clone( DiscoveryEvent* dest ) const;
+
         virtual const std::string& getServiceName() const;
         virtual std::string& getServiceName();
         virtual void setServiceName( const std::string& serviceName );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.cpp Tue Oct 17 15:39:06 2006
@@ -45,8 +45,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char ExceptionResponse::getDataStructureType() const
-{
+ExceptionResponse* ExceptionResponse::clone() const {
+    ExceptionResponse* exceptionResponse = new ExceptionResponse();
+
+    // Copy the data from the base class or classes
+    Response::copy( exceptionResponse );
+
+    exceptionResponse->exception = this->getException();
+
+    return exceptionResponse
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ExceptionResponse::copy( ExceptionResponse* dest ) const {
+
+    // Copy the data from the base class or classes
+    Response::copy( exceptionResponse );
+
+    dest->setException( this->getException() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ExceptionResponse::getDataStructureType() const {
     return ExceptionResponse::ID_EXCEPTIONRESPONSE; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.h Tue Oct 17 15:39:06 2006
@@ -58,7 +58,27 @@
         ExceptionResponse();
         virtual ~ExceptionResponse();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual ExceptionResponse* clone() 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
+         */
+        virtual void clone( ExceptionResponse* dest ) const;
+
         virtual const BrokerError* getException() const;
         virtual BrokerError* getException();
         virtual void setException( BrokerError* exception );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.cpp Tue Oct 17 15:39:06 2006
@@ -43,8 +43,26 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char FlushCommand::getDataStructureType() const
-{
+FlushCommand* FlushCommand::clone() const {
+    FlushCommand* flushCommand = new FlushCommand();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( flushCommand );
+
+
+    return flushCommand
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void FlushCommand::copy( FlushCommand* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( flushCommand );
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char FlushCommand::getDataStructureType() const {
     return FlushCommand::ID_FLUSHCOMMAND; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.h Tue Oct 17 15:39:06 2006
@@ -56,7 +56,27 @@
         FlushCommand();
         virtual ~FlushCommand();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual FlushCommand* clone() 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
+         */
+        virtual void clone( FlushCommand* dest ) const;
+
     };
 
 }}}}

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.cpp Tue Oct 17 15:39:06 2006
@@ -44,8 +44,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char IntegerResponse::getDataStructureType() const
-{
+IntegerResponse* IntegerResponse::clone() const {
+    IntegerResponse* integerResponse = new IntegerResponse();
+
+    // Copy the data from the base class or classes
+    Response::copy( integerResponse );
+
+    integerResponse->result = this->getResult()->clone();
+
+    return integerResponse
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void IntegerResponse::copy( IntegerResponse* dest ) const {
+
+    // Copy the data from the base class or classes
+    Response::copy( integerResponse );
+
+    dest->setResult( this->getResult()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char IntegerResponse::getDataStructureType() const {
     return IntegerResponse::ID_INTEGERRESPONSE; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.h Tue Oct 17 15:39:06 2006
@@ -57,7 +57,27 @@
         IntegerResponse();
         virtual ~IntegerResponse();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual IntegerResponse* clone() 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
+         */
+        virtual void clone( IntegerResponse* dest ) const;
+
         virtual const int getResult() const;
         virtual int getResult();
         virtual void setResult( int result );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.cpp Tue Oct 17 15:39:06 2006
@@ -47,8 +47,30 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char JournalQueueAck::getDataStructureType() const
-{
+JournalQueueAck* JournalQueueAck::clone() const {
+    JournalQueueAck* journalQueueAck = new JournalQueueAck();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalQueueAck );
+
+    journalQueueAck->destination = this->getDestination();
+    journalQueueAck->messageAck = this->getMessageAck();
+
+    return journalQueueAck
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void JournalQueueAck::copy( JournalQueueAck* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalQueueAck );
+
+    dest->setDestination( this->getDestination() );
+    dest->setMessageAck( this->getMessageAck() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char JournalQueueAck::getDataStructureType() const {
     return JournalQueueAck::ID_JOURNALQUEUEACK; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.h Tue Oct 17 15:39:06 2006
@@ -60,7 +60,27 @@
         JournalQueueAck();
         virtual ~JournalQueueAck();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual JournalQueueAck* clone() 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
+         */
+        virtual void clone( JournalQueueAck* dest ) const;
+
         virtual const ActiveMQDestination* getDestination() const;
         virtual ActiveMQDestination* getDestination();
         virtual void setDestination( ActiveMQDestination* destination );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.cpp Tue Oct 17 15:39:06 2006
@@ -52,8 +52,38 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char JournalTopicAck::getDataStructureType() const
-{
+JournalTopicAck* JournalTopicAck::clone() const {
+    JournalTopicAck* journalTopicAck = new JournalTopicAck();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalTopicAck );
+
+    journalTopicAck->destination = this->getDestination();
+    journalTopicAck->messageId = this->getMessageId();
+    journalTopicAck->messageSequenceId = this->getMessageSequenceId()->clone();
+    journalTopicAck->subscritionName = this->getSubscritionName();
+    journalTopicAck->clientId = this->getClientId();
+    journalTopicAck->transactionId = this->getTransactionId();
+
+    return journalTopicAck
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void JournalTopicAck::copy( JournalTopicAck* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalTopicAck );
+
+    dest->setDestination( this->getDestination() );
+    dest->setMessageId( this->getMessageId() );
+    dest->setMessageSequenceId( this->getMessageSequenceId()->clone() );
+    dest->setSubscritionName( this->getSubscritionName() );
+    dest->setClientId( this->getClientId() );
+    dest->setTransactionId( this->getTransactionId() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char JournalTopicAck::getDataStructureType() const {
     return JournalTopicAck::ID_JOURNALTOPICACK; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.h Tue Oct 17 15:39:06 2006
@@ -65,7 +65,27 @@
         JournalTopicAck();
         virtual ~JournalTopicAck();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual JournalTopicAck* clone() 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
+         */
+        virtual void clone( JournalTopicAck* dest ) const;
+
         virtual const ActiveMQDestination* getDestination() const;
         virtual ActiveMQDestination* getDestination();
         virtual void setDestination( ActiveMQDestination* destination );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.cpp Tue Oct 17 15:39:06 2006
@@ -44,8 +44,28 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char JournalTrace::getDataStructureType() const
-{
+JournalTrace* JournalTrace::clone() const {
+    JournalTrace* journalTrace = new JournalTrace();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalTrace );
+
+    journalTrace->message = this->getMessage();
+
+    return journalTrace
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void JournalTrace::copy( JournalTrace* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalTrace );
+
+    dest->setMessage( this->getMessage() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char JournalTrace::getDataStructureType() const {
     return JournalTrace::ID_JOURNALTRACE; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.h Tue Oct 17 15:39:06 2006
@@ -57,7 +57,27 @@
         JournalTrace();
         virtual ~JournalTrace();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual JournalTrace* clone() 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
+         */
+        virtual void clone( JournalTrace* dest ) const;
+
         virtual const std::string& getMessage() const;
         virtual std::string& getMessage();
         virtual void setMessage( const std::string& message );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.cpp Tue Oct 17 15:39:06 2006
@@ -47,8 +47,32 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char JournalTransaction::getDataStructureType() const
-{
+JournalTransaction* JournalTransaction::clone() const {
+    JournalTransaction* journalTransaction = new JournalTransaction();
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalTransaction );
+
+    journalTransaction->transactionId = this->getTransactionId();
+    journalTransaction->type = this->getType()->clone();
+    journalTransaction->wasPrepared = this->getWasPrepared()->clone();
+
+    return journalTransaction
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void JournalTransaction::copy( JournalTransaction* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseDataStructure::copy( journalTransaction );
+
+    dest->setTransactionId( this->getTransactionId() );
+    dest->setType( this->getType()->clone() );
+    dest->setWasPrepared( this->getWasPrepared()->clone() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char JournalTransaction::getDataStructureType() const {
     return JournalTransaction::ID_JOURNALTRANSACTION; 
 }
 

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.h?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.h (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.h Tue Oct 17 15:39:06 2006
@@ -60,7 +60,27 @@
         JournalTransaction();
         virtual ~JournalTransaction();
 
+        /**
+         * Get the unique identifier that this object and its own
+         * Marshaller share.
+         * @returns new DataStructure type copy.
+         */
         virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Clone this obbject and return a new instance that the
+         * caller now owns, this will be an exact copy of this one
+         * @returns new copy of this object.
+         */
+        virtual JournalTransaction* clone() 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
+         */
+        virtual void clone( JournalTransaction* dest ) const;
+
         virtual const TransactionId* getTransactionId() const;
         virtual TransactionId* getTransactionId();
         virtual void setTransactionId( TransactionId* transactionId );

Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.cpp?view=diff&rev=465088&r1=465087&r2=465088
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.cpp (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.cpp Tue Oct 17 15:39:06 2006
@@ -43,8 +43,26 @@
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-unsigned char KeepAliveInfo::getDataStructureType() const
-{
+KeepAliveInfo* KeepAliveInfo::clone() const {
+    KeepAliveInfo* keepAliveInfo = new KeepAliveInfo();
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( keepAliveInfo );
+
+
+    return keepAliveInfo
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void KeepAliveInfo::copy( KeepAliveInfo* dest ) const {
+
+    // Copy the data from the base class or classes
+    BaseCommand::copy( keepAliveInfo );
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char KeepAliveInfo::getDataStructureType() const {
     return KeepAliveInfo::ID_KEEPALIVEINFO; 
 }