Return-Path: Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: (qmail 94069 invoked from network); 13 Aug 2008 23:43:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Aug 2008 23:43:57 -0000 Received: (qmail 33625 invoked by uid 500); 13 Aug 2008 23:43:56 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 33603 invoked by uid 500); 13 Aug 2008 23:43:56 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 33593 invoked by uid 99); 13 Aug 2008 23:43:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Aug 2008 16:43:56 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Aug 2008 23:43:06 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 45E682388AB4; Wed, 13 Aug 2008 16:43:13 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Wed, 13 Aug 2008 23:43:02 -0000 To: commits@activemq.apache.org From: tabish@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080813234313.45E682388AB4@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 + +#include +#include + +// +// 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( 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( 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( 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( 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( + 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( + 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( 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 + +#include +#include +#include +#include +#include +#include + +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 + +#include +#include + +// +// 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( 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( 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( 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( 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( 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 + +#include +#include +#include +#include +#include +#include + +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 + +#include +#include + +// +// 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( 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( 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( 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( 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( 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 + +#include +#include +#include +#include +#include +#include + +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 + +#include +#include + +// +// 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( 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( 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( 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( 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( 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 + +#include +#include +#include +#include +#include +#include + +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 + +#include +#include + +// +// 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( 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( 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( 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( 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( 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 + +#include +#include +#include +#include +#include +#include + +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 + +#include +#include + +// +// 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( 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( 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( 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( 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( 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 ) +} +