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 2008/08/14 01:43:02 UTC

svn commit: r685729 [8/17] - in /activemq/activemq-cpp/trunk/src: main/ main/activemq/connector/openwire/ main/activemq/connector/openwire/commands/ main/activemq/connector/openwire/marshal/v3/ main/java/org/apache/activemq/openwire/tool/ test/ test/ac...

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.cpp?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.cpp Wed Aug 13 16:42:56 2008
@@ -0,0 +1,336 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <activemq/connector/openwire/marshal/v3/MessageMarshaller.h>
+
+#include <activemq/connector/openwire/commands/Message.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+//
+//     NOTE!: This file is autogenerated - do not modify!
+//            if you need to make a change, please see the Java Classes in the
+//            activemq-core module
+//
+
+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;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::utils;
+using namespace activemq::connector::openwire::marshal::v3;
+using namespace decaf;
+using namespace decaf::io;
+
+///////////////////////////////////////////////////////////////////////////////
+void MessageMarshaller::tightUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::tightUnmarshal( wireFormat, dataStructure, dataIn, bs );
+
+        Message* info =
+            dynamic_cast<Message*>( dataStructure );
+        info->setProducerId( dynamic_cast< ProducerId* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setDestination( dynamic_cast< ActiveMQDestination* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setTransactionId( dynamic_cast< TransactionId* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setOriginalDestination( dynamic_cast< ActiveMQDestination* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setMessageId( dynamic_cast< MessageId* >(
+            tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+        info->setOriginalTransactionId( dynamic_cast< TransactionId* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setGroupID( tightUnmarshalString( dataIn, bs ) );
+        info->setGroupSequence( dataIn->readInt() );
+        info->setCorrelationId( tightUnmarshalString( dataIn, bs ) );
+        info->setPersistent( bs->readBoolean() );
+        info->setExpiration( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+        info->setPriority( dataIn->readByte() );
+        info->setReplyTo( dynamic_cast< ActiveMQDestination* >(
+            tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+        info->setTimestamp( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+        info->setType( tightUnmarshalString( dataIn, bs ) );
+        info->setContent( tightUnmarshalByteArray( dataIn, bs ) );
+        info->setMarshalledProperties( tightUnmarshalByteArray( dataIn, bs ) );
+        info->setDataStructure( dynamic_cast< DataStructure* >(
+            tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+        info->setTargetConsumerId( dynamic_cast< ConsumerId* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setCompressed( bs->readBoolean() );
+        info->setRedeliveryCounter( dataIn->readInt() );
+
+        if( bs->readBoolean() ) {
+            short size = dataIn->readShort();
+            info->getBrokerPath().reserve( size );
+            for( int i = 0; i < size; i++ ) {
+                info->getBrokerPath().push_back( dynamic_cast< BrokerId* >(
+                    tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+            }
+        }
+        else {
+            info->getBrokerPath().clear();
+        }
+        info->setArrival( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+        info->setUserID( tightUnmarshalString( dataIn, bs ) );
+        info->setRecievedByDFBridge( bs->readBoolean() );
+        info->setDroppable( bs->readBoolean() );
+
+        if( bs->readBoolean() ) {
+            short size = dataIn->readShort();
+            info->getCluster().reserve( size );
+            for( int i = 0; i < size; i++ ) {
+                info->getCluster().push_back( dynamic_cast< BrokerId* >(
+                    tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+            }
+        }
+        else {
+            info->getCluster().clear();
+        }
+        info->setBrokerInTime( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+        info->setBrokerOutTime( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+int MessageMarshaller::tightMarshal1( OpenWireFormat* wireFormat, DataStructure* dataStructure, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        Message* info =
+            dynamic_cast<Message*>( dataStructure );
+
+        int rc = BaseCommandMarshaller::tightMarshal1( wireFormat, dataStructure, bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getProducerId(), bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getDestination(), bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getTransactionId(), bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getOriginalDestination(), bs );
+        rc += tightMarshalNestedObject1( wireFormat, info->getMessageId(), bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getOriginalTransactionId(), bs );
+        rc += tightMarshalString1( info->getGroupID(), bs );
+        rc += tightMarshalString1( info->getCorrelationId(), bs );
+        bs->writeBoolean( info->isPersistent() );
+        rc += tightMarshalLong1( wireFormat, info->getExpiration(), bs );
+        rc += tightMarshalNestedObject1( wireFormat, info->getReplyTo(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getTimestamp(), bs );
+        rc += tightMarshalString1( info->getType(), bs );
+        bs->writeBoolean( info->getContent().size() != 0 );
+        rc += info->getContent().size() == 0 ? 0 : (int)info->getContent().size() + 4;
+        bs->writeBoolean( info->getMarshalledProperties().size() != 0 );
+        rc += info->getMarshalledProperties().size() == 0 ? 0 : (int)info->getMarshalledProperties().size() + 4;
+        rc += tightMarshalNestedObject1( wireFormat, info->getDataStructure(), bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getTargetConsumerId(), bs );
+        bs->writeBoolean( info->isCompressed() );
+        rc += tightMarshalObjectArray1( wireFormat, info->getBrokerPath(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getArrival(), bs );
+        rc += tightMarshalString1( info->getUserID(), bs );
+        bs->writeBoolean( info->isRecievedByDFBridge() );
+        bs->writeBoolean( info->isDroppable() );
+        rc += tightMarshalObjectArray1( wireFormat, info->getCluster(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getBrokerInTime(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getBrokerOutTime(), bs );
+
+        return rc + 9;
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessageMarshaller::tightMarshal2( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::tightMarshal2( wireFormat, dataStructure, dataOut, bs );
+
+        Message* info =
+            dynamic_cast<Message*>( dataStructure );
+        tightMarshalCachedObject2( wireFormat, info->getProducerId(), dataOut, bs );
+        tightMarshalCachedObject2( wireFormat, info->getDestination(), dataOut, bs );
+        tightMarshalCachedObject2( wireFormat, info->getTransactionId(), dataOut, bs );
+        tightMarshalCachedObject2( wireFormat, info->getOriginalDestination(), dataOut, bs );
+        tightMarshalNestedObject2( wireFormat, info->getMessageId(), dataOut, bs );
+        tightMarshalCachedObject2( wireFormat, info->getOriginalTransactionId(), dataOut, bs );
+        tightMarshalString2( info->getGroupID(), dataOut, bs );
+        dataOut->writeInt( info->getGroupSequence() );
+        tightMarshalString2( info->getCorrelationId(), dataOut, bs );
+        bs->readBoolean();
+        tightMarshalLong2( wireFormat, info->getExpiration(), dataOut, bs );
+        dataOut->write( info->getPriority() );
+        tightMarshalNestedObject2( wireFormat, info->getReplyTo(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getTimestamp(), dataOut, bs );
+        tightMarshalString2( info->getType(), dataOut, bs );
+        if( bs->readBoolean() ) {
+            dataOut->writeInt( (int)info->getContent().size() );
+            dataOut->write( (const unsigned char*)(&info->getContent()[0]), 0, (int)info->getContent().size() );
+        }
+        if( bs->readBoolean() ) {
+            dataOut->writeInt( (int)info->getMarshalledProperties().size() );
+            dataOut->write( (const unsigned char*)(&info->getMarshalledProperties()[0]), 0, (int)info->getMarshalledProperties().size() );
+        }
+        tightMarshalNestedObject2( wireFormat, info->getDataStructure(), dataOut, bs );
+        tightMarshalCachedObject2( wireFormat, info->getTargetConsumerId(), dataOut, bs );
+        bs->readBoolean();
+        dataOut->writeInt( info->getRedeliveryCounter() );
+        tightMarshalObjectArray2( wireFormat, info->getBrokerPath(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getArrival(), dataOut, bs );
+        tightMarshalString2( info->getUserID(), dataOut, bs );
+        bs->readBoolean();
+        bs->readBoolean();
+        tightMarshalObjectArray2( wireFormat, info->getCluster(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getBrokerInTime(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getBrokerOutTime(), dataOut, bs );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessageMarshaller::looseUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::looseUnmarshal( wireFormat, dataStructure, dataIn );
+        Message* info =
+            dynamic_cast<Message*>( dataStructure );
+        info->setProducerId( dynamic_cast< ProducerId* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setDestination( dynamic_cast< ActiveMQDestination* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setTransactionId( dynamic_cast< TransactionId* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setOriginalDestination( dynamic_cast< ActiveMQDestination* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setMessageId( dynamic_cast< MessageId* >( 
+            looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+        info->setOriginalTransactionId( dynamic_cast< TransactionId* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setGroupID( looseUnmarshalString( dataIn ) );
+        info->setGroupSequence( dataIn->readInt() );
+        info->setCorrelationId( looseUnmarshalString( dataIn ) );
+        info->setPersistent( dataIn->readBoolean() );
+        info->setExpiration( looseUnmarshalLong( wireFormat, dataIn ) );
+        info->setPriority( dataIn->readByte() );
+        info->setReplyTo( dynamic_cast< ActiveMQDestination* >( 
+            looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+        info->setTimestamp( looseUnmarshalLong( wireFormat, dataIn ) );
+        info->setType( looseUnmarshalString( dataIn ) );
+        info->setContent( looseUnmarshalByteArray( dataIn ) );
+        info->setMarshalledProperties( looseUnmarshalByteArray( dataIn ) );
+        info->setDataStructure( dynamic_cast< DataStructure* >( 
+            looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+        info->setTargetConsumerId( dynamic_cast< ConsumerId* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setCompressed( dataIn->readBoolean() );
+        info->setRedeliveryCounter( dataIn->readInt() );
+
+        if( dataIn->readBoolean() ) {
+            short size = dataIn->readShort();
+            info->getBrokerPath().reserve( size );
+            for( int i = 0; i < size; i++ ) {
+                info->getBrokerPath().push_back( dynamic_cast<BrokerId* >(
+                    looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+            }
+        }
+        else {
+            info->getBrokerPath().clear();
+        }
+        info->setArrival( looseUnmarshalLong( wireFormat, dataIn ) );
+        info->setUserID( looseUnmarshalString( dataIn ) );
+        info->setRecievedByDFBridge( dataIn->readBoolean() );
+        info->setDroppable( dataIn->readBoolean() );
+
+        if( dataIn->readBoolean() ) {
+            short size = dataIn->readShort();
+            info->getCluster().reserve( size );
+            for( int i = 0; i < size; i++ ) {
+                info->getCluster().push_back( dynamic_cast<BrokerId* >(
+                    looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+            }
+        }
+        else {
+            info->getCluster().clear();
+        }
+        info->setBrokerInTime( looseUnmarshalLong( wireFormat, dataIn ) );
+        info->setBrokerOutTime( looseUnmarshalLong( wireFormat, dataIn ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessageMarshaller::looseMarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut ) throw( decaf::io::IOException ) {
+
+    try {
+
+        Message* info =
+            dynamic_cast<Message*>( dataStructure );
+        BaseCommandMarshaller::looseMarshal( wireFormat, dataStructure, dataOut );
+
+        looseMarshalCachedObject( wireFormat, info->getProducerId(), dataOut );
+        looseMarshalCachedObject( wireFormat, info->getDestination(), dataOut );
+        looseMarshalCachedObject( wireFormat, info->getTransactionId(), dataOut );
+        looseMarshalCachedObject( wireFormat, info->getOriginalDestination(), dataOut );
+        looseMarshalNestedObject( wireFormat, info->getMessageId(), dataOut );
+        looseMarshalCachedObject( wireFormat, info->getOriginalTransactionId(), dataOut );
+        looseMarshalString( info->getGroupID(), dataOut );
+        dataOut->writeInt( info->getGroupSequence() );
+        looseMarshalString( info->getCorrelationId(), dataOut );
+        dataOut->writeBoolean( info->isPersistent() );
+        looseMarshalLong( wireFormat, info->getExpiration(), dataOut );
+        dataOut->write( info->getPriority() );
+        looseMarshalNestedObject( wireFormat, info->getReplyTo(), dataOut );
+        looseMarshalLong( wireFormat, info->getTimestamp(), dataOut );
+        looseMarshalString( info->getType(), dataOut );
+        dataOut->write( info->getContent().size() != 0 );
+        if( info->getContent().size() != 0 ) {
+            dataOut->writeInt( (int)info->getContent().size() );
+            dataOut->write( (const unsigned char*)(&info->getContent()[0]), 0, (int)info->getContent().size() );
+        }
+        dataOut->write( info->getMarshalledProperties().size() != 0 );
+        if( info->getMarshalledProperties().size() != 0 ) {
+            dataOut->writeInt( (int)info->getMarshalledProperties().size() );
+            dataOut->write( (const unsigned char*)(&info->getMarshalledProperties()[0]), 0, (int)info->getMarshalledProperties().size() );
+        }
+        looseMarshalNestedObject( wireFormat, info->getDataStructure(), dataOut );
+        looseMarshalCachedObject( wireFormat, info->getTargetConsumerId(), dataOut );
+        dataOut->writeBoolean( info->isCompressed() );
+        dataOut->writeInt( info->getRedeliveryCounter() );
+        looseMarshalObjectArray( wireFormat, info->getBrokerPath(), dataOut );
+        looseMarshalLong( wireFormat, info->getArrival(), dataOut );
+        looseMarshalString( info->getUserID(), dataOut );
+        dataOut->writeBoolean( info->isRecievedByDFBridge() );
+        dataOut->writeBoolean( info->isDroppable() );
+        looseMarshalObjectArray( wireFormat, info->getCluster(), dataOut );
+        looseMarshalLong( wireFormat, info->getBrokerInTime(), dataOut );
+        looseMarshalLong( wireFormat, info->getBrokerOutTime(), dataOut );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.h?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.h (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessageMarshaller.h Wed Aug 13 16:42:56 2008
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_MESSAGEMARSHALLER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_MESSAGEMARSHALLER_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/marshal/v3/BaseCommandMarshaller.h>
+
+#include <decaf/io/DataInputStream.h>
+#include <decaf/io/DataOutputStream.h>
+#include <decaf/io/IOException.h>
+#include <activemq/connector/openwire/OpenWireFormat.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace marshal{
+namespace v3{
+
+    /**
+     * Marshalling code for Open Wire Format for MessageMarshaller
+     *
+     *  NOTE!: This file is autogenerated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the activemq-openwire-generator module
+     */
+    class MessageMarshaller : public BaseCommandMarshaller
+    {
+    public:
+
+        MessageMarshaller() {}
+        virtual ~MessageMarshaller() {}
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be un-marshaled
+         * @param dataIn - BinaryReader that provides that data
+         * @param bs - BooleanStream
+         */
+        virtual void tightUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn,
+                                     utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write the booleans that this object uses to a BooleanStream
+         * @param wireFormat - describis the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param bs - BooleanStream
+         * @returns int
+         */
+        virtual int tightMarshal1( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryReader that provides that data sink
+         * @param bs - BooleanStream
+         */
+        virtual void tightMarshal2( OpenWireFormat* wireFormat,
+                                    commands::DataStructure* dataStructure,
+                                    decaf::io::DataOutputStream* dataOut,
+                                    utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataIn - BinaryReader that provides that data source
+         */
+        virtual void looseUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryWriter that provides that data sink
+         */
+        virtual void looseMarshal( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   decaf::io::DataOutputStream* dataOut ) throw( decaf::io::IOException );
+
+    };
+
+}}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_MESSAGEMARSHALLER_H_*/
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.cpp?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.cpp Wed Aug 13 16:42:56 2008
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <activemq/connector/openwire/marshal/v3/MessagePullMarshaller.h>
+
+#include <activemq/connector/openwire/commands/MessagePull.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+//
+//     NOTE!: This file is autogenerated - do not modify!
+//            if you need to make a change, please see the Java Classes in the
+//            activemq-core module
+//
+
+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;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::utils;
+using namespace activemq::connector::openwire::marshal::v3;
+using namespace decaf;
+using namespace decaf::io;
+
+///////////////////////////////////////////////////////////////////////////////
+DataStructure* MessagePullMarshaller::createObject() const {
+    return new MessagePull();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+unsigned char MessagePullMarshaller::getDataStructureType() const {
+    return MessagePull::ID_MESSAGEPULL;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessagePullMarshaller::tightUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::tightUnmarshal( wireFormat, dataStructure, dataIn, bs );
+
+        MessagePull* info =
+            dynamic_cast<MessagePull*>( dataStructure );
+        info->setConsumerId( dynamic_cast< ConsumerId* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setDestination( dynamic_cast< ActiveMQDestination* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+        info->setTimeout( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+        info->setCorrelationId( tightUnmarshalString( dataIn, bs ) );
+        info->setMessageId( dynamic_cast< MessageId* >(
+            tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+int MessagePullMarshaller::tightMarshal1( OpenWireFormat* wireFormat, DataStructure* dataStructure, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        MessagePull* info =
+            dynamic_cast<MessagePull*>( dataStructure );
+
+        int rc = BaseCommandMarshaller::tightMarshal1( wireFormat, dataStructure, bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getConsumerId(), bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getDestination(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getTimeout(), bs );
+        rc += tightMarshalString1( info->getCorrelationId(), bs );
+        rc += tightMarshalNestedObject1( wireFormat, info->getMessageId(), bs );
+
+        return rc + 0;
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessagePullMarshaller::tightMarshal2( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::tightMarshal2( wireFormat, dataStructure, dataOut, bs );
+
+        MessagePull* info =
+            dynamic_cast<MessagePull*>( dataStructure );
+        tightMarshalCachedObject2( wireFormat, info->getConsumerId(), dataOut, bs );
+        tightMarshalCachedObject2( wireFormat, info->getDestination(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getTimeout(), dataOut, bs );
+        tightMarshalString2( info->getCorrelationId(), dataOut, bs );
+        tightMarshalNestedObject2( wireFormat, info->getMessageId(), dataOut, bs );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessagePullMarshaller::looseUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::looseUnmarshal( wireFormat, dataStructure, dataIn );
+        MessagePull* info =
+            dynamic_cast<MessagePull*>( dataStructure );
+        info->setConsumerId( dynamic_cast< ConsumerId* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setDestination( dynamic_cast< ActiveMQDestination* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+        info->setTimeout( looseUnmarshalLong( wireFormat, dataIn ) );
+        info->setCorrelationId( looseUnmarshalString( dataIn ) );
+        info->setMessageId( dynamic_cast< MessageId* >( 
+            looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void MessagePullMarshaller::looseMarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut ) throw( decaf::io::IOException ) {
+
+    try {
+
+        MessagePull* info =
+            dynamic_cast<MessagePull*>( dataStructure );
+        BaseCommandMarshaller::looseMarshal( wireFormat, dataStructure, dataOut );
+
+        looseMarshalCachedObject( wireFormat, info->getConsumerId(), dataOut );
+        looseMarshalCachedObject( wireFormat, info->getDestination(), dataOut );
+        looseMarshalLong( wireFormat, info->getTimeout(), dataOut );
+        looseMarshalString( info->getCorrelationId(), dataOut );
+        looseMarshalNestedObject( wireFormat, info->getMessageId(), dataOut );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.h?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.h (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/MessagePullMarshaller.h Wed Aug 13 16:42:56 2008
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_MESSAGEPULLMARSHALLER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_MESSAGEPULLMARSHALLER_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/marshal/v3/BaseCommandMarshaller.h>
+
+#include <decaf/io/DataInputStream.h>
+#include <decaf/io/DataOutputStream.h>
+#include <decaf/io/IOException.h>
+#include <activemq/connector/openwire/OpenWireFormat.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace marshal{
+namespace v3{
+
+    /**
+     * Marshalling code for Open Wire Format for MessagePullMarshaller
+     *
+     *  NOTE!: This file is autogenerated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the activemq-openwire-generator module
+     */
+    class MessagePullMarshaller : public BaseCommandMarshaller
+    {
+    public:
+
+        MessagePullMarshaller() {}
+        virtual ~MessagePullMarshaller() {}
+
+        /**
+         * Creates a new instance of this marshalable type.
+         * @return new DataStructure object pointer caller owns it.
+         */
+        virtual commands::DataStructure* createObject() const;
+
+        /**
+         * Get the Data Structure Type that identifies this Marshaller
+         * @return byte holding the data structure type value
+         */
+        virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be un-marshaled
+         * @param dataIn - BinaryReader that provides that data
+         * @param bs - BooleanStream
+         */
+        virtual void tightUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn,
+                                     utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write the booleans that this object uses to a BooleanStream
+         * @param wireFormat - describis the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param bs - BooleanStream
+         * @returns int
+         */
+        virtual int tightMarshal1( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryReader that provides that data sink
+         * @param bs - BooleanStream
+         */
+        virtual void tightMarshal2( OpenWireFormat* wireFormat,
+                                    commands::DataStructure* dataStructure,
+                                    decaf::io::DataOutputStream* dataOut,
+                                    utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataIn - BinaryReader that provides that data source
+         */
+        virtual void looseUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryWriter that provides that data sink
+         */
+        virtual void looseMarshal( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   decaf::io::DataOutputStream* dataOut ) throw( decaf::io::IOException );
+
+    };
+
+}}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_MESSAGEPULLMARSHALLER_H_*/
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.cpp?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.cpp Wed Aug 13 16:42:56 2008
@@ -0,0 +1,137 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.h>
+
+#include <activemq/connector/openwire/commands/NetworkBridgeFilter.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+//
+//     NOTE!: This file is autogenerated - do not modify!
+//            if you need to make a change, please see the Java Classes in the
+//            activemq-core module
+//
+
+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;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::utils;
+using namespace activemq::connector::openwire::marshal::v3;
+using namespace decaf;
+using namespace decaf::io;
+
+///////////////////////////////////////////////////////////////////////////////
+DataStructure* NetworkBridgeFilterMarshaller::createObject() const {
+    return new NetworkBridgeFilter();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+unsigned char NetworkBridgeFilterMarshaller::getDataStructureType() const {
+    return NetworkBridgeFilter::ID_NETWORKBRIDGEFILTER;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void NetworkBridgeFilterMarshaller::tightUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::tightUnmarshal( wireFormat, dataStructure, dataIn, bs );
+
+        NetworkBridgeFilter* info =
+            dynamic_cast<NetworkBridgeFilter*>( dataStructure );
+        info->setNetworkTTL( dataIn->readInt() );
+        info->setNetworkBrokerId( dynamic_cast< BrokerId* >(
+            tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+int NetworkBridgeFilterMarshaller::tightMarshal1( OpenWireFormat* wireFormat, DataStructure* dataStructure, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        NetworkBridgeFilter* info =
+            dynamic_cast<NetworkBridgeFilter*>( dataStructure );
+
+        int rc = BaseDataStreamMarshaller::tightMarshal1( wireFormat, dataStructure, bs );
+        rc += tightMarshalCachedObject1( wireFormat, info->getNetworkBrokerId(), bs );
+
+        return rc + 4;
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void NetworkBridgeFilterMarshaller::tightMarshal2( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::tightMarshal2( wireFormat, dataStructure, dataOut, bs );
+
+        NetworkBridgeFilter* info =
+            dynamic_cast<NetworkBridgeFilter*>( dataStructure );
+        dataOut->writeInt( info->getNetworkTTL() );
+        tightMarshalCachedObject2( wireFormat, info->getNetworkBrokerId(), dataOut, bs );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void NetworkBridgeFilterMarshaller::looseUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::looseUnmarshal( wireFormat, dataStructure, dataIn );
+        NetworkBridgeFilter* info =
+            dynamic_cast<NetworkBridgeFilter*>( dataStructure );
+        info->setNetworkTTL( dataIn->readInt() );
+        info->setNetworkBrokerId( dynamic_cast< BrokerId* >( 
+            looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void NetworkBridgeFilterMarshaller::looseMarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut ) throw( decaf::io::IOException ) {
+
+    try {
+
+        NetworkBridgeFilter* info =
+            dynamic_cast<NetworkBridgeFilter*>( dataStructure );
+        BaseDataStreamMarshaller::looseMarshal( wireFormat, dataStructure, dataOut );
+
+        dataOut->writeInt( info->getNetworkTTL() );
+        looseMarshalCachedObject( wireFormat, info->getNetworkBrokerId(), dataOut );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.h?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.h (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/NetworkBridgeFilterMarshaller.h Wed Aug 13 16:42:56 2008
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_NETWORKBRIDGEFILTERMARSHALLER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_NETWORKBRIDGEFILTERMARSHALLER_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/marshal/BaseDataStreamMarshaller.h>
+
+#include <decaf/io/DataInputStream.h>
+#include <decaf/io/DataOutputStream.h>
+#include <decaf/io/IOException.h>
+#include <activemq/connector/openwire/OpenWireFormat.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace marshal{
+namespace v3{
+
+    /**
+     * Marshalling code for Open Wire Format for NetworkBridgeFilterMarshaller
+     *
+     *  NOTE!: This file is autogenerated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the activemq-openwire-generator module
+     */
+    class NetworkBridgeFilterMarshaller : public BaseDataStreamMarshaller
+    {
+    public:
+
+        NetworkBridgeFilterMarshaller() {}
+        virtual ~NetworkBridgeFilterMarshaller() {}
+
+        /**
+         * Creates a new instance of this marshalable type.
+         * @return new DataStructure object pointer caller owns it.
+         */
+        virtual commands::DataStructure* createObject() const;
+
+        /**
+         * Get the Data Structure Type that identifies this Marshaller
+         * @return byte holding the data structure type value
+         */
+        virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be un-marshaled
+         * @param dataIn - BinaryReader that provides that data
+         * @param bs - BooleanStream
+         */
+        virtual void tightUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn,
+                                     utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write the booleans that this object uses to a BooleanStream
+         * @param wireFormat - describis the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param bs - BooleanStream
+         * @returns int
+         */
+        virtual int tightMarshal1( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryReader that provides that data sink
+         * @param bs - BooleanStream
+         */
+        virtual void tightMarshal2( OpenWireFormat* wireFormat,
+                                    commands::DataStructure* dataStructure,
+                                    decaf::io::DataOutputStream* dataOut,
+                                    utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataIn - BinaryReader that provides that data source
+         */
+        virtual void looseUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryWriter that provides that data sink
+         */
+        virtual void looseMarshal( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   decaf::io::DataOutputStream* dataOut ) throw( decaf::io::IOException );
+
+    };
+
+}}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_NETWORKBRIDGEFILTERMARSHALLER_H_*/
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.cpp?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.cpp Wed Aug 13 16:42:56 2008
@@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.h>
+
+#include <activemq/connector/openwire/commands/PartialCommand.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+//
+//     NOTE!: This file is autogenerated - do not modify!
+//            if you need to make a change, please see the Java Classes in the
+//            activemq-core module
+//
+
+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;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::utils;
+using namespace activemq::connector::openwire::marshal::v3;
+using namespace decaf;
+using namespace decaf::io;
+
+///////////////////////////////////////////////////////////////////////////////
+DataStructure* PartialCommandMarshaller::createObject() const {
+    return new PartialCommand();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+unsigned char PartialCommandMarshaller::getDataStructureType() const {
+    return PartialCommand::ID_PARTIALCOMMAND;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void PartialCommandMarshaller::tightUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::tightUnmarshal( wireFormat, dataStructure, dataIn, bs );
+
+        PartialCommand* info =
+            dynamic_cast<PartialCommand*>( dataStructure );
+        info->setCommandId( dataIn->readInt() );
+        info->setData( tightUnmarshalByteArray( dataIn, bs ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+int PartialCommandMarshaller::tightMarshal1( OpenWireFormat* wireFormat, DataStructure* dataStructure, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        PartialCommand* info =
+            dynamic_cast<PartialCommand*>( dataStructure );
+
+        int rc = BaseDataStreamMarshaller::tightMarshal1( wireFormat, dataStructure, bs );
+        bs->writeBoolean( info->getData().size() != 0 );
+        rc += info->getData().size() == 0 ? 0 : (int)info->getData().size() + 4;
+
+        return rc + 4;
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void PartialCommandMarshaller::tightMarshal2( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::tightMarshal2( wireFormat, dataStructure, dataOut, bs );
+
+        PartialCommand* info =
+            dynamic_cast<PartialCommand*>( dataStructure );
+        dataOut->writeInt( info->getCommandId() );
+        if( bs->readBoolean() ) {
+            dataOut->writeInt( (int)info->getData().size() );
+            dataOut->write( (const unsigned char*)(&info->getData()[0]), 0, (int)info->getData().size() );
+        }
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void PartialCommandMarshaller::looseUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::looseUnmarshal( wireFormat, dataStructure, dataIn );
+        PartialCommand* info =
+            dynamic_cast<PartialCommand*>( dataStructure );
+        info->setCommandId( dataIn->readInt() );
+        info->setData( looseUnmarshalByteArray( dataIn ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void PartialCommandMarshaller::looseMarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut ) throw( decaf::io::IOException ) {
+
+    try {
+
+        PartialCommand* info =
+            dynamic_cast<PartialCommand*>( dataStructure );
+        BaseDataStreamMarshaller::looseMarshal( wireFormat, dataStructure, dataOut );
+
+        dataOut->writeInt( info->getCommandId() );
+        dataOut->write( info->getData().size() != 0 );
+        if( info->getData().size() != 0 ) {
+            dataOut->writeInt( (int)info->getData().size() );
+            dataOut->write( (const unsigned char*)(&info->getData()[0]), 0, (int)info->getData().size() );
+        }
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.h?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.h (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/PartialCommandMarshaller.h Wed Aug 13 16:42:56 2008
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_PARTIALCOMMANDMARSHALLER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_PARTIALCOMMANDMARSHALLER_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/marshal/BaseDataStreamMarshaller.h>
+
+#include <decaf/io/DataInputStream.h>
+#include <decaf/io/DataOutputStream.h>
+#include <decaf/io/IOException.h>
+#include <activemq/connector/openwire/OpenWireFormat.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace marshal{
+namespace v3{
+
+    /**
+     * Marshalling code for Open Wire Format for PartialCommandMarshaller
+     *
+     *  NOTE!: This file is autogenerated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the activemq-openwire-generator module
+     */
+    class PartialCommandMarshaller : public BaseDataStreamMarshaller
+    {
+    public:
+
+        PartialCommandMarshaller() {}
+        virtual ~PartialCommandMarshaller() {}
+
+        /**
+         * Creates a new instance of this marshalable type.
+         * @return new DataStructure object pointer caller owns it.
+         */
+        virtual commands::DataStructure* createObject() const;
+
+        /**
+         * Get the Data Structure Type that identifies this Marshaller
+         * @return byte holding the data structure type value
+         */
+        virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be un-marshaled
+         * @param dataIn - BinaryReader that provides that data
+         * @param bs - BooleanStream
+         */
+        virtual void tightUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn,
+                                     utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write the booleans that this object uses to a BooleanStream
+         * @param wireFormat - describis the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param bs - BooleanStream
+         * @returns int
+         */
+        virtual int tightMarshal1( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryReader that provides that data sink
+         * @param bs - BooleanStream
+         */
+        virtual void tightMarshal2( OpenWireFormat* wireFormat,
+                                    commands::DataStructure* dataStructure,
+                                    decaf::io::DataOutputStream* dataOut,
+                                    utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataIn - BinaryReader that provides that data source
+         */
+        virtual void looseUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryWriter that provides that data sink
+         */
+        virtual void looseMarshal( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   decaf::io::DataOutputStream* dataOut ) throw( decaf::io::IOException );
+
+    };
+
+}}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_PARTIALCOMMANDMARSHALLER_H_*/
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.cpp?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.cpp Wed Aug 13 16:42:56 2008
@@ -0,0 +1,137 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.h>
+
+#include <activemq/connector/openwire/commands/ProducerAck.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+//
+//     NOTE!: This file is autogenerated - do not modify!
+//            if you need to make a change, please see the Java Classes in the
+//            activemq-core module
+//
+
+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;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::utils;
+using namespace activemq::connector::openwire::marshal::v3;
+using namespace decaf;
+using namespace decaf::io;
+
+///////////////////////////////////////////////////////////////////////////////
+DataStructure* ProducerAckMarshaller::createObject() const {
+    return new ProducerAck();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+unsigned char ProducerAckMarshaller::getDataStructureType() const {
+    return ProducerAck::ID_PRODUCERACK;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerAckMarshaller::tightUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::tightUnmarshal( wireFormat, dataStructure, dataIn, bs );
+
+        ProducerAck* info =
+            dynamic_cast<ProducerAck*>( dataStructure );
+        info->setProducerId( dynamic_cast< ProducerId* >(
+            tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
+        info->setSize( dataIn->readInt() );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+int ProducerAckMarshaller::tightMarshal1( OpenWireFormat* wireFormat, DataStructure* dataStructure, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        ProducerAck* info =
+            dynamic_cast<ProducerAck*>( dataStructure );
+
+        int rc = BaseCommandMarshaller::tightMarshal1( wireFormat, dataStructure, bs );
+        rc += tightMarshalNestedObject1( wireFormat, info->getProducerId(), bs );
+
+        return rc + 4;
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerAckMarshaller::tightMarshal2( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::tightMarshal2( wireFormat, dataStructure, dataOut, bs );
+
+        ProducerAck* info =
+            dynamic_cast<ProducerAck*>( dataStructure );
+        tightMarshalNestedObject2( wireFormat, info->getProducerId(), dataOut, bs );
+        dataOut->writeInt( info->getSize() );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerAckMarshaller::looseUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseCommandMarshaller::looseUnmarshal( wireFormat, dataStructure, dataIn );
+        ProducerAck* info =
+            dynamic_cast<ProducerAck*>( dataStructure );
+        info->setProducerId( dynamic_cast< ProducerId* >( 
+            looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
+        info->setSize( dataIn->readInt() );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerAckMarshaller::looseMarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut ) throw( decaf::io::IOException ) {
+
+    try {
+
+        ProducerAck* info =
+            dynamic_cast<ProducerAck*>( dataStructure );
+        BaseCommandMarshaller::looseMarshal( wireFormat, dataStructure, dataOut );
+
+        looseMarshalNestedObject( wireFormat, info->getProducerId(), dataOut );
+        dataOut->writeInt( info->getSize() );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.h?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.h (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerAckMarshaller.h Wed Aug 13 16:42:56 2008
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_PRODUCERACKMARSHALLER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_PRODUCERACKMARSHALLER_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/marshal/v3/BaseCommandMarshaller.h>
+
+#include <decaf/io/DataInputStream.h>
+#include <decaf/io/DataOutputStream.h>
+#include <decaf/io/IOException.h>
+#include <activemq/connector/openwire/OpenWireFormat.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace marshal{
+namespace v3{
+
+    /**
+     * Marshalling code for Open Wire Format for ProducerAckMarshaller
+     *
+     *  NOTE!: This file is autogenerated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the activemq-openwire-generator module
+     */
+    class ProducerAckMarshaller : public BaseCommandMarshaller
+    {
+    public:
+
+        ProducerAckMarshaller() {}
+        virtual ~ProducerAckMarshaller() {}
+
+        /**
+         * Creates a new instance of this marshalable type.
+         * @return new DataStructure object pointer caller owns it.
+         */
+        virtual commands::DataStructure* createObject() const;
+
+        /**
+         * Get the Data Structure Type that identifies this Marshaller
+         * @return byte holding the data structure type value
+         */
+        virtual unsigned char getDataStructureType() const;
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be un-marshaled
+         * @param dataIn - BinaryReader that provides that data
+         * @param bs - BooleanStream
+         */
+        virtual void tightUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn,
+                                     utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write the booleans that this object uses to a BooleanStream
+         * @param wireFormat - describis the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param bs - BooleanStream
+         * @returns int
+         */
+        virtual int tightMarshal1( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryReader that provides that data sink
+         * @param bs - BooleanStream
+         */
+        virtual void tightMarshal2( OpenWireFormat* wireFormat,
+                                    commands::DataStructure* dataStructure,
+                                    decaf::io::DataOutputStream* dataOut,
+                                    utils::BooleanStream* bs ) throw( decaf::io::IOException );
+
+        /**
+         * Un-marshal an object instance from the data input stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataIn - BinaryReader that provides that data source
+         */
+        virtual void looseUnmarshal( OpenWireFormat* wireFormat,
+                                     commands::DataStructure* dataStructure,
+                                     decaf::io::DataInputStream* dataIn ) throw( decaf::io::IOException );
+
+        /**
+         * Write a object instance to data output stream
+         * @param wireFormat - describs the wire format of the broker
+         * @param o - Object to be marshaled
+         * @param dataOut - BinaryWriter that provides that data sink
+         */
+        virtual void looseMarshal( OpenWireFormat* wireFormat,
+                                   commands::DataStructure* dataStructure,
+                                   decaf::io::DataOutputStream* dataOut ) throw( decaf::io::IOException );
+
+    };
+
+}}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_MARSAHAL_V3_PRODUCERACKMARSHALLER_H_*/
+

Added: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerIdMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerIdMarshaller.cpp?rev=685729&view=auto
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerIdMarshaller.cpp (added)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v3/ProducerIdMarshaller.cpp Wed Aug 13 16:42:56 2008
@@ -0,0 +1,141 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <activemq/connector/openwire/marshal/v3/ProducerIdMarshaller.h>
+
+#include <activemq/connector/openwire/commands/ProducerId.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+//
+//     NOTE!: This file is autogenerated - do not modify!
+//            if you need to make a change, please see the Java Classes in the
+//            activemq-core module
+//
+
+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;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::utils;
+using namespace activemq::connector::openwire::marshal::v3;
+using namespace decaf;
+using namespace decaf::io;
+
+///////////////////////////////////////////////////////////////////////////////
+DataStructure* ProducerIdMarshaller::createObject() const {
+    return new ProducerId();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+unsigned char ProducerIdMarshaller::getDataStructureType() const {
+    return ProducerId::ID_PRODUCERID;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerIdMarshaller::tightUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::tightUnmarshal( wireFormat, dataStructure, dataIn, bs );
+
+        ProducerId* info =
+            dynamic_cast<ProducerId*>( dataStructure );
+        info->setConnectionId( tightUnmarshalString( dataIn, bs ) );
+        info->setValue( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+        info->setSessionId( tightUnmarshalLong( wireFormat, dataIn, bs ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+int ProducerIdMarshaller::tightMarshal1( OpenWireFormat* wireFormat, DataStructure* dataStructure, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        ProducerId* info =
+            dynamic_cast<ProducerId*>( dataStructure );
+
+        int rc = BaseDataStreamMarshaller::tightMarshal1( wireFormat, dataStructure, bs );
+        rc += tightMarshalString1( info->getConnectionId(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getValue(), bs );
+        rc += tightMarshalLong1( wireFormat, info->getSessionId(), bs );
+
+        return rc + 0;
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerIdMarshaller::tightMarshal2( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut, BooleanStream* bs ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::tightMarshal2( wireFormat, dataStructure, dataOut, bs );
+
+        ProducerId* info =
+            dynamic_cast<ProducerId*>( dataStructure );
+        tightMarshalString2( info->getConnectionId(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getValue(), dataOut, bs );
+        tightMarshalLong2( wireFormat, info->getSessionId(), dataOut, bs );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerIdMarshaller::looseUnmarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataInputStream* dataIn ) throw( decaf::io::IOException ) {
+
+    try {
+
+        BaseDataStreamMarshaller::looseUnmarshal( wireFormat, dataStructure, dataIn );
+        ProducerId* info =
+            dynamic_cast<ProducerId*>( dataStructure );
+        info->setConnectionId( looseUnmarshalString( dataIn ) );
+        info->setValue( looseUnmarshalLong( wireFormat, dataIn ) );
+        info->setSessionId( looseUnmarshalLong( wireFormat, dataIn ) );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+
+///////////////////////////////////////////////////////////////////////////////
+void ProducerIdMarshaller::looseMarshal( OpenWireFormat* wireFormat, DataStructure* dataStructure, DataOutputStream* dataOut ) throw( decaf::io::IOException ) {
+
+    try {
+
+        ProducerId* info =
+            dynamic_cast<ProducerId*>( dataStructure );
+        BaseDataStreamMarshaller::looseMarshal( wireFormat, dataStructure, dataOut );
+
+        looseMarshalString( info->getConnectionId(), dataOut );
+        looseMarshalLong( wireFormat, info->getValue(), dataOut );
+        looseMarshalLong( wireFormat, info->getSessionId(), dataOut );
+    }
+    AMQ_CATCH_RETHROW( decaf::io::IOException )
+    AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
+    AMQ_CATCHALL_THROW( decaf::io::IOException )
+}
+