You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2006/10/02 16:30:22 UTC
svn commit: r452053 [1/17] - in
/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src:
main/activemq/connector/openwire/ main/activemq/connector/openwire/commands/
main/activemq/connector/openwire/marshal/
main/activemq/connector/openwire/marshal/V2/...
Author: tabish
Date: Mon Oct 2 07:30:10 2006
New Revision: 452053
URL: http://svn.apache.org/viewvc?view=rev&rev=452053
Log: (empty)
Added:
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/DataStreamMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnectorException.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQObjectMessage.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQObjectMessage.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQQueue.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQQueue.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQStreamMessage.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQStreamMessage.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTempDestination.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTempDestination.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTempQueue.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTempQueue.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTempTopic.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTempTopic.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTextMessage.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTextMessage.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTopic.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQTopic.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BaseCommand.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BaseCommand.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BaseDataStructure.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BooleanExpression.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerError.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/BrokerInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionControl.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionError.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConnectionInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerControl.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ConsumerInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ControlCommand.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataArrayResponse.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataResponse.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DataStructure.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DestinationInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/DiscoveryEvent.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ExceptionResponse.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/FlushCommand.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/IntegerResponse.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalQueueAck.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTopicAck.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTrace.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/JournalTransaction.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/KeepAliveInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LastPartialCommand.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LastPartialCommand.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LocalTransactionId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/LocalTransactionId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Message.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Message.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageAck.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageAck.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatch.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatch.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatchNotification.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageDispatchNotification.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessageId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessagePull.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/MessagePull.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/NetworkBridgeFilter.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/NetworkBridgeFilter.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/PartialCommand.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/PartialCommand.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ProducerInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveSubscriptionInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/RemoveSubscriptionInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ReplayCommand.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ReplayCommand.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Response.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/Response.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SessionInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ShutdownInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ShutdownInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SubscriptionInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/SubscriptionInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/TransactionInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/WireFormatInfo.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/WireFormatInfo.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/XATransactionId.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/XATransactionId.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/BaseDataStreamMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/BaseDataStreamMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/MarshalAware.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQBytesMessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQBytesMessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQDestinationMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQDestinationMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQMapMessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQMapMessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQMessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQMessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQObjectMessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQObjectMessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQQueueMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQQueueMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQStreamMessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQStreamMessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTempDestinationMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTempDestinationMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTempQueueMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTempQueueMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTempTopicMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTempTopicMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTextMessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTextMessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTopicMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ActiveMQTopicMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/BaseCommandMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/BaseCommandMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/BrokerIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/BrokerIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/BrokerInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/BrokerInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionControlMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionControlMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionErrorMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionErrorMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConnectionInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConsumerControlMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConsumerControlMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConsumerIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConsumerIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConsumerInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ConsumerInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ControlCommandMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ControlCommandMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DataArrayResponseMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DataArrayResponseMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DataResponseMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DataResponseMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DestinationInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DestinationInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DiscoveryEventMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/DiscoveryEventMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ExceptionResponseMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ExceptionResponseMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/FlushCommandMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/FlushCommandMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/IntegerResponseMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/IntegerResponseMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalQueueAckMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalQueueAckMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalTopicAckMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalTopicAckMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalTraceMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalTraceMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalTransactionMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/JournalTransactionMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/KeepAliveInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/KeepAliveInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/LastPartialCommandMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/LastPartialCommandMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/LocalTransactionIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/LocalTransactionIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MarshallerFactory.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MarshallerFactory.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageAckMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageAckMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageDispatchMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageDispatchMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageDispatchNotificationMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageDispatchNotificationMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessageMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessagePullMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/MessagePullMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/NetworkBridgeFilterMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/NetworkBridgeFilterMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/PartialCommandMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/PartialCommandMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ProducerIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ProducerIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ProducerInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ProducerInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/RemoveInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/RemoveInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/RemoveSubscriptionInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/RemoveSubscriptionInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ReplayCommandMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ReplayCommandMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ResponseMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ResponseMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/SessionIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/SessionIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/SessionInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/SessionInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ShutdownInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/ShutdownInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/SubscriptionInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/SubscriptionInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/TransactionIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/TransactionIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/TransactionInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/TransactionInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/WireFormatInfoMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/WireFormatInfoMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/XATransactionIdMarshaller.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/marshal/V2/XATransactionIdMarshaller.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/utils/
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/utils/BooleanStream.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/utils/BooleanStream.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/connector/openwire/
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/io/DataInputStreamTest.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/io/DataInputStreamTest.h (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/io/DataOutputStreamTest.cpp (with props)
incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/test/activemq/io/DataOutputStreamTest.h (with props)
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/DataStreamMarshaller.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/DataStreamMarshaller.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/DataStreamMarshaller.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/DataStreamMarshaller.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,123 @@
+/**
+ * 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_DATASTREAMMARSHALLER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_DATASTREAMMARSHALLER_H_
+
+#include <activemq/io/DataInputStream.h>
+#include <activemq/io/DataOutputStream.h>
+#include <activemq/io/IOException.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+#include <activemq/connector/openwire/OpenWireFormat.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+
+ /**
+ * Base class for all classes that marshal commands for Openwire
+ */
+ class DataStreamMarshaller
+ {
+ public:
+
+ DataStreamMarshaller() {}
+ virtual ~DataStreamMarshaller() {}
+
+ /**
+ * Gets the DataStructureType that this class marshals/unmarshals
+ * @returns byte Id of this classes DataStructureType
+ */
+ virtual unsigned char getDataStructureType() = 0;
+
+ /**
+ * Creates a new instance of the class that this class is a marshaling
+ * director for.
+ * @returns newly allocated Command
+ */
+ virtual commands::DataStructure* createObject() = 0;
+
+ /**
+ * Tight Marhsal to the given stream
+ * @param format - The OpenwireFormat properties
+ * @param command - the object to Marshal
+ * @param bs - boolean stream to marshal to.
+ * @throws IOException if an error occurs.
+ */
+ virtual int tightMarshal1( OpenWireFormat* format,
+ commands::DataStructure* command,
+ utils::BooleanStream* bs )
+ throw ( io::IOException ) = 0;
+
+ /**
+ * Tight Marhsal to the given stream
+ * @param format - The OpenwireFormat properties
+ * @param command - the object to Marshal
+ * @param ds - the DataOutputStream to Marshal to
+ * @param bs - boolean stream to marshal to.
+ * @throws IOException if an error occurs.
+ */
+ virtual void tightMarshal2( OpenWireFormat* format,
+ commands::DataStructure* command,
+ io::DataOutputStream* ds,
+ utils::BooleanStream* bs )
+ throw ( io::IOException ) = 0;
+
+ /**
+ * Tight Un-marhsal to the given stream
+ * @param format - The OpenwireFormat properties
+ * @param command - the object to Un-Marshal
+ * @param dis - the DataInputStream to Un-Marshal from
+ * @param bs - boolean stream to unmarshal from.
+ * @throws IOException if an error occurs.
+ */
+ virtual void tightUnmarshal( OpenWireFormat* format,
+ commands::DataStructure* command,
+ io::DataInputStream* dis,
+ utils::BooleanStream* bs )
+ throw ( io::IOException ) = 0;
+
+ /**
+ * Tight Marhsal to the given stream
+ * @param format - The OpenwireFormat properties
+ * @param command - the object to Marshal
+ * @param ds - DataOutputStream to marshal to
+ * @throws IOException if an error occurs.
+ */
+ virtual void looseMarshal( OpenWireFormat* format,
+ commands::DataStructure* command,
+ io::DataOutputStream* ds )
+ throw ( io::IOException ) = 0;
+
+ /**
+ * Loose Un-marhsal to the given stream
+ * @param format - The OpenwireFormat properties
+ * @param command - the object to Un-Marshal
+ * @param dis - the DataInputStream to Un-Marshal from
+ * @throws IOException if an error occurs.
+ */
+ virtual void looseUnmarshal( OpenWireFormat* format,
+ commands::DataStructure* command,
+ io::DataInputStream* dis )
+ throw ( io::IOException ) = 0;
+
+ };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_DATASTREAMMARSHALLER_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/DataStreamMarshaller.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,512 @@
+/**
+ * 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 "OpenWireFormat.h"
+
+#include <activemq/util/Boolean.h>
+#include <activemq/util/Integer.h>
+#include <activemq/util/Long.h>
+#include <activemq/util/Guid.h>
+#include <activemq/util/Math.h>
+#include <activemq/io/ByteArrayOutputStream.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+#include <activemq/connector/openwire/commands/MessageId.h>
+#include <activemq/connector/openwire/commands/ProducerId.h>
+#include <activemq/connector/openwire/commands/TransactionId.h>
+#include <activemq/connector/openwire/commands/LocalTransactionId.h>
+#include <activemq/connector/openwire/commands/XATransactionId.h>
+#include <activemq/connector/openwire/commands/WireFormatInfo.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/marshal/MarshalAware.h>
+#include <activemq/connector/openwire/DataStreamMarshaller.h>
+#include <activemq/connector/openwire/marshal/v2/MarshallerFactory.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::wireformat;
+using namespace activemq::io;
+using namespace activemq::util;
+using namespace activemq::connector;
+using namespace activemq::transport;
+using namespace activemq::exceptions;
+using namespace activemq::connector::openwire;
+using namespace activemq::connector::openwire::commands;
+using namespace activemq::connector::openwire::marshal;
+using namespace activemq::connector::openwire::marshal::v2;
+using namespace activemq::connector::openwire::utils;
+
+////////////////////////////////////////////////////////////////////////////////
+const unsigned char OpenWireFormat::NULL_TYPE = 0;
+
+////////////////////////////////////////////////////////////////////////////////
+OpenWireFormat::OpenWireFormat( const activemq::util::Properties& properties ) {
+
+ // init
+ this->preferedWireFormatInfo = NULL;
+
+ // Copy config data
+ this->properties.copy( &properties );
+
+ // Fill in that DataStreamMarshallers collection
+ dataMarshallers.resize( 255 );
+ MarshallerFactory().configure( this );
+
+ // Generate an ID
+ this->id = Guid::createGUIDString();
+
+ // parse params out of the properties
+ stackTraceEnabled = Boolean::parseBoolean(
+ properties.getProperty( "wireFormat.stackTraceEnabled",
+ "1" ) );
+ cacheEnabled = Boolean::parseBoolean(
+ properties.getProperty( "wireFormat.cacheEnabled",
+ "1" ) );
+ tcpNoDelayEnabled = Boolean::parseBoolean(
+ properties.getProperty( "wireFormat.tcpNoDelayEnabled",
+ "1" ) );
+ tightEncodingEnabled = Boolean::parseBoolean(
+ properties.getProperty( "wireFormat.tightEncodingEnabled",
+ "1" ) );
+ sizePrefixDisabled = Boolean::parseBoolean(
+ properties.getProperty( "wireFormat.sizePrefixDisabled",
+ "0" ) );
+ maxInactivityDuration = Long::parseLong(
+ properties.getProperty( "wireFormat.maxInactivityDuration",
+ "30000" ) );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+OpenWireFormat::~OpenWireFormat()
+{
+ try {
+
+ for( size_t i = 0; i < dataMarshallers.size(); ++i )
+ {
+ delete dataMarshallers[i];
+ }
+
+ delete preferedWireFormatInfo;
+ }
+ AMQ_CATCH_NOTHROW( ActiveMQException )
+ AMQ_CATCHALL_NOTHROW( )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenWireFormat::addMarshaller( DataStreamMarshaller* marshaller )
+{
+ unsigned char type = marshaller->getDataStructureType();
+ dataMarshallers[type & 0xFF] = marshaller;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenWireFormat::setPreferedWireFormatInfo(
+ commands::WireFormatInfo* info ) throw ( IllegalStateException ) {
+
+ this->preferedWireFormatInfo = info;
+
+ try {
+ preferedWireFormatInfo->setStackTraceEnabled( stackTraceEnabled );
+ preferedWireFormatInfo->setCacheEnabled( cacheEnabled );
+ preferedWireFormatInfo->setTcpNoDelayEnabled( tcpNoDelayEnabled );
+ preferedWireFormatInfo->setTightEncodingEnabled( tightEncodingEnabled );
+ preferedWireFormatInfo->setSizePrefixDisabled( sizePrefixDisabled );
+ preferedWireFormatInfo->setMaxInactivityDuration( maxInactivityDuration );
+ } catch( ActiveMQException& e ) {
+ throw IllegalStateException(
+ __FILE__, __LINE__,
+ "OpenWireFormat::initialize - "
+ "Could not configure WireFormatInfo" );
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenWireFormat::marshal( transport::Command* command,
+ io::DataOutputStream* dataOut )
+ throw ( io::IOException ) {
+
+ try {
+
+ int size = 1;
+
+ if( command != NULL ) {
+
+ DataStructure* dataStructure =
+ dynamic_cast< DataStructure* >( command );
+
+ unsigned char type = dataStructure->getDataStructureType();
+
+ DataStreamMarshaller* dsm = dataMarshallers[type & 0xFF];
+
+ if( dsm == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ ( string( "OpenWireFormat::marshal - Unknown data type: " ) +
+ Integer::toString( type ) ).c_str() );
+ }
+
+ if( tightEncodingEnabled ) {
+ BooleanStream* bs = new BooleanStream();
+ size += dsm->tightMarshal1( this, dataStructure, bs );
+ size += bs->marshalledSize();
+
+ if( !sizePrefixDisabled ) {
+ dataOut->writeInt( size );
+ }
+
+ dataOut->writeByte( type );
+ bs->marshal( dataOut );
+ dsm->tightMarshal2( this, dataStructure, dataOut, bs );
+
+ } else {
+ DataOutputStream* looseOut = dataOut;
+ ByteArrayOutputStream* baos = NULL;
+
+ if( !sizePrefixDisabled ) {
+ baos = new ByteArrayOutputStream();
+ looseOut = new DataOutputStream( baos );
+ }
+
+ looseOut->writeByte( type );
+ dsm->looseMarshal( this, dataStructure, looseOut );
+
+ if( !sizePrefixDisabled ) {
+ looseOut->close();
+ dataOut->writeInt( baos->getByteArraySize() );
+ dataOut->write( baos->getByteArray(),
+ baos->getByteArraySize() );
+
+ // Delete allocated resource
+ delete baos;
+ delete looseOut;
+ }
+ }
+ } else {
+ dataOut->writeInt( size );
+ dataOut->writeByte( NULL_TYPE );
+ }
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+transport::Command* OpenWireFormat::unmarshal( io::DataInputStream* dis )
+ throw ( io::IOException ) {
+
+ try{
+
+ if( !sizePrefixDisabled ) {
+ dis->readInt();
+ }
+
+ // Get the unmarshalled DataStructure
+ DataStructure* data = doUnmarshal( dis );
+
+ if( data == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ "OpenWireFormat::doUnmarshal - "
+ "Failed to unmarshal an Object" );
+ }
+
+ // Now all unmarshals from this level should result in an object
+ // that is a transport::Command type, if its not then we throw an
+ // exception.
+ transport::Command* command =
+ dynamic_cast< transport::Command* >( data );
+
+ if( command == NULL ) {
+ delete data;
+
+ throw IOException(
+ __FILE__, __LINE__,
+ "OpenWireFormat::doUnmarshal - "
+ "Unmarshalled a non Command Type" );
+ }
+
+ return command;
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+commands::DataStructure* OpenWireFormat::doUnmarshal( DataInputStream* dis )
+ throw ( IOException ) {
+
+ try {
+
+ unsigned char dataType = dis->readByte();
+
+ if( dataType != NULL_TYPE ) {
+
+ DataStreamMarshaller* dsm =
+ dynamic_cast< DataStreamMarshaller* >(
+ dataMarshallers[dataType & 0xFF] );
+
+ if( dsm == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ ( string( "OpenWireFormat::marshal - Unknown data type: " ) +
+ Integer::toString( dataType ) ).c_str() );
+ }
+
+ // Ask the DataStreamMarshaller to create a new instance of its
+ // command so that we can fill in its data.
+ DataStructure* data = dsm->createObject();
+
+ if( this->tightEncodingEnabled ) {
+ BooleanStream bs;
+ bs.unmarshal( dis );
+ dsm->tightUnmarshal( this, data, dis, &bs );
+ } else {
+ dsm->looseUnmarshal( this, data, dis );
+ }
+
+ return data;
+ }
+
+ return NULL;
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenWireFormat::tightMarshalNestedObject2( DataStructure* o,
+ DataOutputStream* ds,
+ BooleanStream* bs )
+ throw ( IOException ) {
+
+ try {
+
+ if( !bs->readBoolean() ) {
+ return;
+ }
+
+ unsigned char type = o->getDataStructureType();
+
+ ds->writeByte(type);
+
+ if( o->isMarshallAware() && bs->readBoolean() ) {
+
+ MarshalAware* ma = dynamic_cast< MarshalAware* >( o );
+ vector<unsigned char> sequence = ma->GetMarshalledForm( this );
+ ds->write( &sequence[0], sequence.size() );
+
+ } else {
+
+ DataStreamMarshaller* dsm =
+ dynamic_cast< DataStreamMarshaller* >( dataMarshallers[type & 0xFF] );
+
+ if( dsm == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ ( string( "OpenWireFormat::marshal - Unknown data type: " ) +
+ Integer::toString( type ) ).c_str() );
+ }
+
+ dsm->tightMarshal2( this, o, ds, bs );
+
+ }
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+DataStructure* OpenWireFormat::tightUnmarshalNestedObject( DataInputStream* dis,
+ BooleanStream* bs)
+ throw ( io::IOException ) {
+
+ try {
+
+ if( bs->readBoolean() ) {
+
+ byte dataType = dis->readByte();
+
+ DataStreamMarshaller* dsm =
+ dynamic_cast< DataStreamMarshaller* >(
+ dataMarshallers[dataType & 0xFF] );
+
+ if( dsm == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ ( string( "OpenWireFormat::marshal - Unknown data type: " ) +
+ Integer::toString( dataType ) ).c_str() );
+ }
+
+ DataStructure* data = dsm->createObject();
+
+ if( data->isMarshallAware() && bs->readBoolean() ) {
+
+ dis->readInt();
+ dis->readByte();
+
+ BooleanStream bs2;
+ bs2.unmarshal( dis );
+ dsm->tightUnmarshal( this, data, dis, &bs2 );
+
+ } else {
+ dsm->tightUnmarshal( this, data, dis, bs );
+ }
+
+ return data;
+ } else {
+ return NULL;
+ }
+
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+DataStructure* OpenWireFormat::looseUnmarshalNestedObject( io::DataInputStream* dis )
+ throw ( IOException ) {
+
+ try{
+
+ if( dis->readBoolean() ) {
+
+ unsigned char dataType = dis->readByte();
+
+ DataStreamMarshaller* dsm =
+ dynamic_cast< DataStreamMarshaller* >(
+ dataMarshallers[dataType & 0xFF] );
+
+ if( dsm == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ ( string( "OpenWireFormat::marshal - Unknown data type: " ) +
+ Integer::toString( dataType ) ).c_str() );
+ }
+
+ DataStructure* data = dsm->createObject();
+ dsm->looseUnmarshal( this, data, dis );
+
+ return data;
+
+ } else {
+ return NULL;
+ }
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenWireFormat::looseMarshalNestedObject( commands::DataStructure* o,
+ io::DataOutputStream* dataOut )
+ throw ( io::IOException ) {
+
+ try{
+
+ dataOut->writeBoolean( o != NULL );
+ if( o != NULL ) {
+
+ unsigned char dataType = o->getDataStructureType();
+
+ dataOut->writeByte( dataType );
+
+ DataStreamMarshaller* dsm =
+ dynamic_cast< DataStreamMarshaller* >(
+ dataMarshallers[dataType & 0xFF] );
+
+ if( dsm == NULL ) {
+ throw IOException(
+ __FILE__, __LINE__,
+ ( string( "OpenWireFormat::marshal - Unknown data type: " ) +
+ Integer::toString( dataType ) ).c_str() );
+ }
+
+ dsm->looseMarshal( this, o, dataOut );
+ }
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenWireFormat::renegotiateWireFormat( WireFormatInfo* info )
+ throw ( exceptions::IllegalStateException ) {
+
+ if( preferedWireFormatInfo == NULL ) {
+ throw IllegalStateException(
+ __FILE__, __LINE__,
+ "OpenWireFormat::renegotiateWireFormat - "
+ "Wireformat cannot not be renegotiated." );
+ }
+
+ this->setVersion( Math::min( preferedWireFormatInfo->getVersion(),
+ info->getVersion() ) );
+ this->stackTraceEnabled = info->isStackTraceEnabled() &&
+ preferedWireFormatInfo->isStackTraceEnabled();
+ this->tcpNoDelayEnabled = info->isTcpNoDelayEnabled() &&
+ preferedWireFormatInfo->isTcpNoDelayEnabled();
+ this->cacheEnabled = info->isCacheEnabled() &&
+ preferedWireFormatInfo->isCacheEnabled();
+ this->tightEncodingEnabled = info->isTightEncodingEnabled() &&
+ preferedWireFormatInfo->isTightEncodingEnabled();
+ this->sizePrefixDisabled = info->isSizePrefixDisabled() &&
+ preferedWireFormatInfo->isSizePrefixDisabled();
+
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string OpenWireFormat::toString( commands::MessageId* id )
+{
+ if( id == NULL ) return "";
+
+ return OpenWireFormat::toString( id->getProducerId() ) + ":" +
+ Long::toString( id->getProducerSequenceId() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string OpenWireFormat::toString( commands::ProducerId* id )
+{
+ return id->getConnectionId() + ":" +
+ Long::toString( id->getSessionId() ) + ":" +
+ Long::toString( id->getValue() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string OpenWireFormat::toString( commands::TransactionId* txnId )
+{
+ LocalTransactionId* ltxnId = dynamic_cast<LocalTransactionId*>( txnId );
+ XATransactionId* xaTxnId = dynamic_cast<XATransactionId*>( txnId );
+
+ if( ltxnId != NULL )
+ {
+ return Long::toString( ltxnId->getValue() );
+ }
+ else if( xaTxnId != NULL )
+ {
+// return string("XID:") + Integer::toString( xaTxnId->getFormatId() ) + ":" +
+// toHexFromBytes( xaTxnId->getGlobalTransactionId() ) + ":" +
+// toHexFromBytes( xaTxnId->getBranchQualifier() );
+ }
+
+ return "";
+}
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,323 @@
+/**
+ * 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_OPENWIREFORMAT_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIREFORMAT_H_
+
+#include <activemq/wireformat/WireFormat.h>
+#include <activemq/connector/openwire/commands/WireFormatInfo.h>
+#include <activemq/connector/openwire/commands/DataStructure.h>
+#include <activemq/connector/openwire/utils/BooleanStream.h>
+#include <activemq/util/SimpleProperties.h>
+#include <activemq/exceptions/IllegalStateException.h>
+#include <activemq/connector/openwire/commands/MessageId.h>
+#include <activemq/connector/openwire/commands/ProducerId.h>
+#include <activemq/connector/openwire/commands/TransactionId.h>
+
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+
+ class DataStreamMarshaller;
+
+ class OpenWireFormat : public wireformat::WireFormat
+ {
+ public:
+
+ /**
+ * Constructs a new OpenWireFormat object
+ * @param properties - can contain optional config params.
+ */
+ OpenWireFormat( const activemq::util::Properties& properties );
+
+ virtual ~OpenWireFormat();
+
+ /**
+ * Allows an external source to add marshallers to this object for
+ * types that may be marshalled or unmarhsalled.
+ * @param marshaller - the Marshaller to add to the collection.
+ */
+ void addMarshaller( DataStreamMarshaller* marshaller );
+
+ /**
+ * Stream based marshaling
+ * @param command - The Command to Marshal
+ * @param out - the output stream to write the command to.
+ * @throws IOException
+ */
+ virtual void marshal( transport::Command* command,
+ io::DataOutputStream* dataOut )
+ throw ( io::IOException );
+
+ /**
+ * Packet based un-marshaling
+ * @param dis - the input stream to read the command from.
+ * @returns the newly marshaled Command, caller owns the pointer
+ * @throws IOException
+ */
+ virtual transport::Command* unmarshal( io::DataInputStream* dis ) throw ( io::IOException );
+
+ /**
+ * Utility method that will Tight marshall some internally nested object
+ * that implements the DataStructure interface. Writes the data to the
+ * Data Ouput Stream provided.
+ * @param o - DataStructure object
+ * @param ds - DataOuputStream for writing
+ * @param bs - BooleanStream
+ * @throws IOException if an error occurs.
+ */
+ void tightMarshalNestedObject2( commands::DataStructure* o,
+ io::DataOutputStream* ds,
+ utils::BooleanStream* bs ) throw ( io::IOException );
+
+ /**
+ * Utility method used to Unmarshal a Nested DataStructure type object
+ * from the given DataInputStream. The DataStructure instance that is
+ * returned is now the property of the caller.
+ * @param ds - DataInputStream to read from
+ * @param bs - BooleanStream to read from
+ * @returns Newly allocated DataStructure Object
+ * @throws IOException if an error occurs.
+ */
+ commands::DataStructure* tightUnmarshalNestedObject( io::DataInputStream* dis,
+ utils::BooleanStream* bs )
+ throw ( io::IOException );
+
+ /**
+ * Utility method to unmarshal an DataStructure object from an
+ * DataInputStream using the Loose Unmarshalling format. Will read
+ * the Data and construct a new DataStructure based Object, the
+ * pointer to the Object returned is now owned by the caller.
+ * @param dis - the DataInputStream to read the data from
+ * @returns a new DataStructure derived Object pointer
+ * @throws IOException if an error occurs.
+ */
+ commands::DataStructure* looseUnmarshalNestedObject(
+ io::DataInputStream* dis)
+ throw ( io::IOException );
+
+ /**
+ * Utility method to loosely Marshal an object that is derived from the
+ * DataStrucutre interface. The marshalled data is written to the
+ * passed in DataOutputStream.
+ * @param o - DataStructure derived Object to Marshal
+ * @param dataOut - DataOutputStream to write the data to
+ * @throw IOException if an error occurs.
+ */
+ void looseMarshalNestedObject( commands::DataStructure* o,
+ io::DataOutputStream* dataOut )
+ throw ( io::IOException );
+
+ /**
+ * Called to renegotiate the settings for the WireFormatInfo, these
+ * determine how the client and broker communicate.
+ * @param info - The new Wireformat Info settings
+ * @throws IllegalStateException is the params can't be negotiated.
+ */
+ void renegotiateWireFormat( commands::WireFormatInfo* info )
+ throw ( exceptions::IllegalStateException );
+
+ /**
+ * Configures this object using the provieded WireformatInfo object
+ * @param info - a WireFormatInfo object, takes ownership.
+ */
+ virtual void setPreferedWireFormatInfo( commands::WireFormatInfo* info )
+ throw ( exceptions::IllegalStateException );
+
+ /**
+ * Checks if the stackTraceEnabled flag is on
+ * @return true if the flag is on.
+ */
+ bool isStackTraceEnabled() const {
+ return stackTraceEnabled;
+ }
+
+ /**
+ * Sets if the stackTraceEnabled flag is on
+ * @param stackTraceEnabled - ture to turn flag is on
+ */
+ void setStackTraceEnabled( bool stackTraceEnabled ) {
+ this->stackTraceEnabled = stackTraceEnabled;
+ }
+
+ /**
+ * Checks if the tcpNoDelayEnabled flag is on
+ * @return true if the flag is on.
+ */
+ bool isTcpNoDelayEnabled() const {
+ return tcpNoDelayEnabled;
+ }
+
+ /**
+ * Sets if the tcpNoDelayEnabled flag is on
+ * @param tcpNoDelayEnabled - ture to turn flag is on
+ */
+ void setTcpNoDelayEnabled( bool tcpNoDelayEnabled ) {
+ this->tcpNoDelayEnabled = tcpNoDelayEnabled;
+ }
+
+ /**
+ * Get the current Wireformat Version
+ * @return int that identifies the version
+ */
+ int getVersion() const {
+ return version;
+ }
+
+ /**
+ * Set the current Wireformat Version
+ * @param version - int that identifies the version
+ */
+ void setVersion( int version ) {
+ this->version = version;
+ }
+
+ /**
+ * Checks if the cacheEnabled flag is on
+ * @return true if the flag is on.
+ */
+ bool isCacheEnabled() const {
+ return cacheEnabled;
+ }
+
+ /**
+ * Sets if the cacheEnabled flag is on
+ * @param cacheEnabled - ture to turn flag is on
+ */
+ void setCacheEnabled( bool cacheEnabled ) {
+ this->cacheEnabled = cacheEnabled;
+ }
+
+ /**
+ * Checks if the tightEncodingEnabled flag is on
+ * @return true if the flag is on.
+ */
+ bool isTightEncodingEnabled() const {
+ return tightEncodingEnabled;
+ }
+
+ /**
+ * Sets if the tightEncodingEnabled flag is on
+ * @param tightEncodingEnabled - ture to turn flag is on
+ */
+ void setTightEncodingEnabled( bool tightEncodingEnabled ) {
+ this->tightEncodingEnabled = tightEncodingEnabled;
+ }
+
+ /**
+ * Checks if the sizePrefixDisabled flag is on
+ * @return true if the flag is on.
+ */
+ bool isSizePrefixDisabled() const {
+ return sizePrefixDisabled;
+ }
+
+ /**
+ * Sets if the sizePrefixDisabled flag is on
+ * @param sizePrefixDisabled - ture to turn flag is on
+ */
+ void setSizePrefixDisabled( bool sizePrefixDisabled ) {
+ this->sizePrefixDisabled = sizePrefixDisabled;
+ }
+
+ /**
+ * Get the current value of the maxInactivityDuration feild
+ * @return the value of the maxInactivityDuration
+ */
+ long getMaxInactivityDuration() const {
+ return maxInactivityDuration;
+ }
+
+ /**
+ * Set the current Wireformat Version
+ * @param version - int that identifies the version
+ */
+ void setMaxInactivityDuration( long maxInactivityDuration ) {
+ this->maxInactivityDuration = maxInactivityDuration;
+ }
+
+ public: // Statics
+
+ /**
+ * Converts the object to a String
+ * @param id - MessageId pointer
+ * @returns string representing the id
+ */
+ static std::string toString( commands::MessageId* id );
+
+ /**
+ * Converts the object to a String
+ * @param id - ProducerId pointer
+ * @returns string representing the id
+ */
+ static std::string toString( commands::ProducerId* id );
+
+ /**
+ * Converts the given transaction ID into a String
+ * @param txnId - TransactionId poitner
+ * @returns string representation of the id
+ */
+ static std::string toString( commands::TransactionId* txnId );
+
+ protected:
+
+ /**
+ * Perform the actual unmarshal of data from the given DataInputStream
+ * return the unmarshalled DataStrucutre object once done, caller takes
+ * ownership of this object. This method can return null if the type
+ * of the object to unmarshal is NULL, empty data.
+ * @param dis - DataInputStream to read from
+ * @returns new DataStructure* that the caller owns
+ * @throws IOException if an error occurs during the unmarshal
+ */
+ commands::DataStructure* doUnmarshal( io::DataInputStream* dis )
+ throw ( io::IOException );
+
+ protected:
+
+ // Declared here to make life easier.
+ static const unsigned char NULL_TYPE;
+
+ private:
+
+ // This object config data
+ activemq::util::SimpleProperties properties;
+
+ // Prefered WireFormatInfo
+ commands::WireFormatInfo* preferedWireFormatInfo;
+
+ // Marshallers
+ std::vector< DataStreamMarshaller* > dataMarshallers;
+
+ // Uniquely Generated ID, initialize in the Ctor
+ std::string id;
+
+ // WireFormat Data
+ int version;
+ bool stackTraceEnabled;
+ bool tcpNoDelayEnabled;
+ bool cacheEnabled;
+ bool tightEncodingEnabled;
+ bool sizePrefixDisabled;
+ int maxInactivityDuration;
+
+ };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIREFORMAT_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormat.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,48 @@
+/*
+ * 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/OpenwireFormatFactory.h>
+#include <activemq/connector/openwire/OpenwireFormat.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::wireformat;
+using namespace activemq::connector;
+using namespace activemq::transport;
+using namespace activemq::exceptions;
+using namespace activemq::connector::openwire;
+using namespace activemq::connector::openwire::commands;
+
+////////////////////////////////////////////////////////////////////////////////
+WireFormat* OpenWireFormatFactory::createWireFormat(
+ const util::Properties& properties )
+ throw ( exceptions::IllegalStateException ) {
+
+ WireFormatInfo* info = new WireFormatInfo();
+
+ // Configure the version to use
+ info->setVersion( 2 );
+
+ // Create the Openwire Format Object
+ OpenWireFormat* f = new OpenWireFormat( properties );
+
+ // give the format object the ownership
+ f->setPreferedWireFormatInfo( info );
+
+ return f;
+}
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,64 @@
+/**
+ * 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_OPENWIREFORMATFACTORY_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIREFORMATFACTORY_H_
+
+#include <activemq/wireformat/WireFormatFactory.h>
+#include <activemq/connector/openwire/commands/WireFormatInfo.h>
+#include <activemq/exceptions/IllegalStateException.h>
+#include <activemq/util/Properties.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+
+ class OpenWireFormatFactory : public wireformat::WireFormatFactory
+ {
+ public:
+
+ /**
+ * Constructor - Sets Defaults for all properties, these are all
+ * subject to change once the <code>createWireFormat</code> method
+ * is called.
+ *
+ * URL options
+ * --------------------
+ * wireFormat.stackTraceEnabled
+ * wireFormat.cacheEnabled
+ * wireFormat.tcpNoDelayEnabled
+ * wireFormat.tightEncodingEnabled
+ * wireFormat.sizePrefixDisabled
+ * wireFormat.maxInactivityDuration
+ */
+ OpenWireFormatFactory() {};
+
+ virtual ~OpenWireFormatFactory() {};
+
+ /**
+ * Creates a new WireFormat Object passing it a set of
+ * properties from which it can obtain any optional settings
+ * @param properties - the Properties for this WireFormat
+ */
+ virtual wireformat::WireFormat* createWireFormat( const util::Properties& properties )
+ throw ( exceptions::IllegalStateException );
+
+ };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIREFORMATFACTORY_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenWireFormatFactory.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,113 @@
+/*
+ * 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 "OpenwireCommandReader.h"
+
+#include <activemq/concurrent/Thread.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::concurrent;
+using namespace activemq::connector;
+using namespace activemq::connector::openwire;
+using namespace activemq::transport;
+using namespace activemq::io;
+using namespace activemq::exceptions;
+
+////////////////////////////////////////////////////////////////////////////////
+OpenwireCommandReader::OpenwireCommandReader(void)
+{
+ inputStream = NULL;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+OpenwireCommandReader::OpenwireCommandReader( InputStream* is )
+{
+ inputStream = is;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Command* OpenwireCommandReader::readCommand(void)
+ throw ( CommandIOException )
+{
+ try
+ {
+ return NULL;
+ }
+ AMQ_CATCH_RETHROW( CommandIOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, CommandIOException )
+ AMQ_CATCHALL_THROW( CommandIOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+int OpenwireCommandReader::read( unsigned char* buffer, int count )
+ throw( io::IOException )
+{
+ try
+ {
+ if( inputStream == NULL )
+ {
+ throw IOException(
+ __FILE__, __LINE__,
+ "OpenwireCommandReader::read(char*,int) - input stream is NULL" );
+ }
+
+ int head = 0;
+
+ // We call the read(buffer, size) version asking for one
+ // byte, if this returns zero, then there wasn't anything
+ // on the stream to read, so we try again after a short
+ // pause in hopes that some more data will show up.
+ while( true )
+ {
+ head += inputStream->read( &buffer[head], count - head );
+
+ if( head == count )
+ {
+ return count;
+ }
+
+ // Got here, so we wait a bit and try again.
+ Thread::sleep( 10 );
+ }
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char OpenwireCommandReader::readByte(void) throw( io::IOException )
+{
+ try
+ {
+ if( inputStream == NULL )
+ {
+ throw IOException(
+ __FILE__, __LINE__,
+ "OpenwireCommandReader::read(char*,int) - "
+ "input stream is NULL" );
+ }
+
+ unsigned char c = 0;
+ inputStream->read( &c, 1 );
+ return c;
+ }
+ AMQ_CATCH_RETHROW( IOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, IOException )
+ AMQ_CATCHALL_THROW( IOException )
+}
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.cpp
------------------------------------------------------------------------------
svn:eol-style = native