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 [2/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/...
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,99 @@
+/*
+ * 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_OPENWIRECOMMANDREADER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECOMMANDREADER_H_
+
+#include <activemq/transport/CommandReader.h>
+#include <activemq/io/InputStream.h>
+#include <activemq/transport/CommandIOException.h>
+#include <activemq/transport/Command.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+
+ class OpenwireCommandReader : public transport::CommandReader
+ {
+ private:
+
+ /**
+ * The target input stream.
+ */
+ io::InputStream* inputStream;
+
+ public:
+
+ /**
+ * Deafult Constructor
+ */
+ OpenwireCommandReader( void );
+
+ /**
+ * Constructor.
+ * @param is the target input stream.
+ */
+ OpenwireCommandReader( io::InputStream* is );
+
+ virtual ~OpenwireCommandReader(void) {}
+
+ /**
+ * Reads a command from the given input stream.
+ * @return The next command available on the stream.
+ * @throws CommandIOException if a problem occurs during the read.
+ */
+ virtual transport::Command* readCommand(void)
+ throw ( transport::CommandIOException );
+
+ /**
+ * Sets the target input stream.
+ * @param Target Input Stream
+ */
+ virtual void setInputStream( io::InputStream* is ){
+ inputStream = is;
+ }
+
+ /**
+ * Gets the target input stream.
+ * @return Target Input Stream
+ */
+ virtual io::InputStream* getInputStream(void){
+ return inputStream;
+ }
+
+ /**
+ * Attempts to read an array of bytes from the stream.
+ * @param buffer The target byte buffer.
+ * @param count The number of bytes to read.
+ * @return The number of bytes read.
+ * @throws IOException thrown if an error occurs.
+ */
+ virtual int read( unsigned char* buffer, int count )
+ throw( io::IOException );
+
+ /**
+ * Attempts to read a byte from the input stream
+ * @return The byte.
+ * @throws IOException thrown if an error occurs.
+ */
+ virtual unsigned char readByte(void) throw( io::IOException );
+
+ };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECOMMANDREADER_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandReader.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,93 @@
+/*
+ * 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 "OpenwireCommandWriter.h"
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::connector;
+using namespace activemq::connector::openwire;
+using namespace activemq::transport;
+using namespace activemq::io;
+using namespace activemq::exceptions;
+
+////////////////////////////////////////////////////////////////////////////////
+OpenwireCommandWriter::OpenwireCommandWriter(void)
+{
+ outputStream = NULL;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+OpenwireCommandWriter::OpenwireCommandWriter( OutputStream* os )
+{
+ outputStream = os;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireCommandWriter::writeCommand( const Command* command )
+ throw ( transport::CommandIOException )
+{
+ try
+ {
+ if( outputStream == NULL )
+ {
+ throw CommandIOException(
+ __FILE__, __LINE__,
+ "OpenwireCommandWriter::writeCommand - "
+ "output stream is NULL" );
+ }
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( CommandIOException )
+ AMQ_CATCH_EXCEPTION_CONVERT( ActiveMQException, CommandIOException )
+ AMQ_CATCHALL_THROW( CommandIOException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireCommandWriter::write( const unsigned char* buffer, int count )
+ throw( IOException )
+{
+ if( outputStream == NULL )
+ {
+ throw IOException(
+ __FILE__, __LINE__,
+ "OpenwireCommandWriter::write(char*,int) - input stream is NULL" );
+ }
+
+ outputStream->write( buffer, count );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireCommandWriter::writeByte( unsigned char v ) throw( IOException )
+{
+ if( outputStream == NULL )
+ {
+ throw IOException(
+ __FILE__, __LINE__,
+ "OpenwireCommandWriter::write(char) - input stream is NULL" );
+ }
+
+ outputStream->write( v );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireCommandWriter::write( const char* buffer, int count )
+ throw( io::IOException )
+{
+ write( reinterpret_cast<const unsigned char*>( buffer ), count );
+}
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,103 @@
+/*
+ * 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_OPENWIRECOMMANDWRITER_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECOMMANDWRITER_H_
+
+#include <activemq/transport/CommandWriter.h>
+#include <activemq/io/InputStream.h>
+#include <activemq/transport/CommandIOException.h>
+#include <activemq/connector/stomp/StompConnectorException.h>
+#include <activemq/transport/Command.h>
+
+using namespace activemq{
+using namespace connector{
+using namespace openwire{
+
+ class OpenwireCommandWriter : public transport::CommandWriter
+ {
+ private:
+
+ /**
+ * Target output stream.
+ */
+ io::OutputStream* outputStream;
+
+ /**
+ * Marshaler of Stomp Commands
+ */
+ marshal::Marshaler marshaler;
+
+ public:
+
+ /**
+ * Default Constructor
+ */
+ OpenwireCommandWriter(void);
+
+ /**
+ * Constructor.
+ * @param os the target output stream.
+ */
+ OpenwireCommandWriter( io::OutputStream* os );
+
+ virtual ~OpenwireCommandWriter(void) {}
+
+ /**
+ * Sets the target output stream.
+ */
+ virtual void setOutputStream( io::OutputStream* os ){
+ outputStream = os;
+ }
+
+ /**
+ * Gets the target output stream.
+ */
+ virtual io::OutputStream* getOutputStream(void){
+ return outputStream;
+ }
+
+ /**
+ * Writes a command to the given output stream.
+ * @param command the command to write.
+ * @param os the target stream for the write.
+ * @throws CommandIOException if a problem occurs during the write.
+ */
+ virtual void writeCommand( const transport::Command* command )
+ throw ( transport::CommandIOException );
+
+ /**
+ * Writes a byte array to the output stream.
+ * @param buffer a byte array
+ * @param count the number of bytes in the array to write.
+ * @throws IOException thrown if an error occurs.
+ */
+ virtual void write( const unsigned char* buffer, int count )
+ throw( io::IOException );
+
+ /**
+ * Writes a byte to the output stream.
+ * @param v The value to be written.
+ * @throws IOException thrown if an error occurs.
+ */
+ virtual void writeByte( unsigned char v ) throw( io::IOException );
+
+ };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECOMMANDWRITER_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireCommandWriter.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,567 @@
+/*
+ * 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/OpenwireConnector.h>
+
+#include <activemq/concurrent/Concurrent.h>
+#include <activemq/transport/BrokerError.h>
+#include <activemq/transport/Transport.h>
+#include <activemq/transport/ExceptionResponse.h>
+#include <activemq/exceptions/UnsupportedOperationException.h>
+#include <activemq/util/Integer.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::connector;
+using namespace activemq::util;
+using namespace activemq::transport;
+using namespace activemq::exceptions;
+using namespace activemq::connector::openwire;
+
+////////////////////////////////////////////////////////////////////////////////
+OpenwireConnector::OpenwireConnector( Transport* transport,
+ const util::Properties& properties )
+ throw ( IllegalArgumentException )
+{
+ if( transport == NULL )
+ {
+ throw IllegalArgumentException(
+ __FILE__, __LINE__,
+ "OpenwireConnector::OpenwireConnector - Transport cannot be NULL");
+ }
+
+ this->transport = transport;
+ this->state = DISCONNECTED;
+ this->exceptionListener = NULL;
+ this->messageListener = NULL;
+ this->nextProducerId = 1;
+ this->nextTransactionId = 1;
+ this->properties.copy( &properties );
+
+ // Observe the transport for events.
+ this->transport->setCommandListener( this );
+ this->transport->setTransportExceptionListener( this );
+
+ // Setup the reader and writer in the transport.
+ this->transport->setCommandReader( &reader );
+ this->transport->setCommandWriter( &writer );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+OpenwireConnector::~OpenwireConnector(void)
+{
+ try
+ {
+ close();
+
+ // TODO - Add any cleanup code here
+ }
+ AMQ_CATCH_NOTHROW( ActiveMQException )
+ AMQ_CATCHALL_NOTHROW( )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned int OpenwireConnector::getNextProducerId(void)
+{
+ synchronized( &mutex )
+ {
+ return nextProducerId++;
+ }
+
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned int OpenwireConnector::getNextTransactionId(void)
+{
+ synchronized( &mutex )
+ {
+ return nextTransactionId++;
+ }
+
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::enforceConnected( void ) throw ( ConnectorException )
+{
+ if( state != CONNECTED )
+ {
+ throw OpenwireConnectorException(
+ __FILE__, __LINE__,
+ "OpenwireConnector::enforceConnected - Not Connected!" );
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::start(void) throw( cms::CMSException )
+{
+ try
+ {
+ synchronized( &mutex )
+ {
+ if( state == CONNECTED )
+ {
+ throw ActiveMQException(
+ __FILE__, __LINE__,
+ "OpenwireConnector::start - already started" );
+ }
+
+ // Start the transport - this establishes the socket.
+ transport->start();
+
+ // Send the connect message to the broker.
+ connect();
+ }
+ }
+ AMQ_CATCH_RETHROW( ActiveMQException )
+ AMQ_CATCHALL_THROW( ActiveMQException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::close(void) throw( cms::CMSException ){
+
+ try
+ {
+ synchronized( &mutex )
+ {
+ if( state == this->CONNECTED )
+ {
+ // Send the disconnect message to the broker.
+ disconnect();
+
+ // Close the transport.
+ transport->close();
+ }
+ }
+ }
+ AMQ_CATCH_RETHROW( ActiveMQException )
+ AMQ_CATCHALL_THROW( ActiveMQException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::connect(void)
+{
+ try
+ {
+ // Mark this connector as started.
+ state = this->CONNECTING;
+
+ // TODO - Create a Connect Command
+
+ // Encode User Name and Password and Client ID
+ string login = getUsername();
+ if( login.length() > 0 ){
+ cmd.setLogin( login );
+ }
+ string password = getPassword();
+ if( password.length() > 0 ){
+ cmd.setPassword( password );
+ }
+ string clientId = getClientId();
+ if( clientId.length() > 0 ){
+ cmd.setClientId( clientId );
+ }
+
+// Response* response = transport->request( &cmd );
+//
+// if( dynamic_cast< ExceptionResponse* >( response ) != NULL )
+// {
+// delete response;
+//
+// throw OpenwireConnectorException(
+// __FILE__, __LINE__,
+// "OpenwireConnector::connect - Failed on Connect Request" );
+// }
+
+// ConnectedCommand* connected =
+// dynamic_cast< ConnectedCommand* >( response );
+//
+// if( connected == NULL )
+// {
+// delete response;
+//
+// throw OpenwireConnectorException(
+// __FILE__, __LINE__,
+// "OpenwireConnector::connect - "
+// "Response not a connected response" );
+// }
+
+ // TODO
+
+ // Tag us in the Connected State now.
+ state = CONNECTED;
+
+ // Clean up
+ delete response;
+ }
+ AMQ_CATCH_RETHROW( BrokerError )
+ AMQ_CATCH_RETHROW( ActiveMQException )
+ AMQ_CATCHALL_THROW( ActiveMQException )
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::disconnect(void)
+{
+ try
+ {
+ // Mark state as no longer connected.
+ state = this->DISCONNECTED;
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ActiveMQException )
+ AMQ_CATCHALL_THROW( ActiveMQException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+SessionInfo* OpenwireConnector::createSession(
+ cms::Session::AcknowledgeMode ackMode )
+ throw( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ConsumerInfo* OpenwireConnector::createConsumer(
+ const cms::Destination* destination,
+ SessionInfo* session,
+ const std::string& selector )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ConsumerInfo* OpenwireConnector::createDurableConsumer(
+ const cms::Topic* topic,
+ SessionInfo* session,
+ const std::string& name,
+ const std::string& selector,
+ bool noLocal )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ProducerInfo* OpenwireConnector::createProducer(
+ const cms::Destination* destination,
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::Topic* OpenwireConnector::createTopic( const std::string& name,
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::Queue* OpenwireConnector::createQueue( const std::string& name,
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::TemporaryTopic* OpenwireConnector::createTemporaryTopic(
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::TemporaryQueue* OpenwireConnector::createTemporaryQueue(
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::send( cms::Message* message,
+ ProducerInfo* producerInfo )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::send( std::list<cms::Message*>& messages,
+ ProducerInfo* producerInfo )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ list< cms::Message* >::const_iterator itr = messages.begin();
+
+ for( ; itr != messages.end(); ++itr )
+ {
+ this->send( *itr, producerInfo );
+ }
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::acknowledge( const SessionInfo* session,
+ const cms::Message* message,
+ AckType ackType = ConsumedAck )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+TransactionInfo* OpenwireConnector::startTransaction(
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::commit( TransactionInfo* transaction,
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::rollback( TransactionInfo* transaction,
+ SessionInfo* session )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::Message* OpenwireConnector::createMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::BytesMessage* OpenwireConnector::createBytesMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::TextMessage* OpenwireConnector::createTextMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException )
+{
+ try
+ {
+ enforceConnected();
+
+ // TODO
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+cms::MapMessage* OpenwireConnector::createMapMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException )
+{
+ try
+ {
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::unsubscribe( const std::string& name )
+ throw ( ConnectorException )
+{
+ try
+ {
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::destroyResource( ConnectorResource* resource )
+ throw ( ConnectorException )
+{
+ try
+ {
+ ConsumerInfo* consumer =
+ dynamic_cast<ConsumerInfo*>(resource);
+ SessionInfo* session =
+ dynamic_cast<SessionInfo*>(resource);
+
+ // TODO
+
+ // No matter what we end it here.
+ delete resource;
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::onCommand( transport::Command* command )
+{
+ try
+ {
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void OpenwireConnector::onTransportException(
+ transport::Transport* source,
+ const exceptions::ActiveMQException& ex )
+{
+ try
+ {
+ // Inform the user.
+ fire( ex );
+
+ // Close down.
+ close();
+ }
+ AMQ_CATCH_RETHROW( ConnectorException )
+ AMQ_CATCHALL_THROW( ConnectorException );
+}
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.h 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.
+ */
+
+#ifndef _ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECONNECTOR_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECONNECTOR_H_
+
+#include <activemq/connector/Connector.h>
+
+#include <cms/Startable.h>
+#include <cms/Closeable.h>
+#include <cms/MessageListener.h>
+#include <cms/ExceptionListener.h>
+#include <cms/Topic.h>
+#include <cms/Queue.h>
+#include <cms/TemporaryTopic.h>
+#include <cms/TemporaryQueue.h>
+#include <cms/Session.h>
+#include <cms/BytesMessage.h>
+#include <cms/TextMessage.h>
+#include <cms/MapMessage.h>
+
+#include <activemq/exceptions/InvalidStateException.h>
+#include <activemq/exceptions/IllegalArgumentException.h>
+
+#include <activemq/transport/Transport.h>
+#include <activemq/connector/SessionInfo.h>
+#include <activemq/connector/ConsumerInfo.h>
+#include <activemq/connector/ProducerInfo.h>
+#include <activemq/connector/TransactionInfo.h>
+#include <activemq/connector/ConsumerMessageListener.h>
+#include <activemq/connector/ConnectorException.h>
+#include <activemq/transport/CommandListener.h>
+#include <activemq/transport/TransportExceptionListener.h>
+#include <activemq/concurrent/Mutex.h>
+#include <activemq/util/Properties.h>
+#include <activemq/core/ActiveMQConstants.h>
+
+#include <activemq/connector/openwire/OpenwireCommandReader.h>
+#include <activemq/connector/openwire/OpenwireCommandWriter.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+
+ class OpenwireConnector :
+ public Connector
+ public transport::CommandListener,
+ public transport::TransportExceptionListener
+ {
+ private:
+
+ // Flags the state we are in for connection to broker.
+ enum connectionState
+ {
+ DISCONNECTED,
+ CONNECTING,
+ CONNECTED
+ };
+
+ private:
+
+ /**
+ * The transport for sending/receiving commands on the wire.
+ */
+ transport::Transport* transport;
+
+ /**
+ * Flag to indicate the start state of the connector.
+ */
+ connectionState state;
+
+ /**
+ * Sync object.
+ */
+ concurrent::Mutex mutex;
+
+ /**
+ * Observer of messages directed at a particular
+ * consumer.
+ */
+ ConsumerMessageListener* messageListener;
+
+ /**
+ * Observer of connector exceptions.
+ */
+ cms::ExceptionListener* exceptionListener;
+
+ /**
+ * This Connector's Command Reader
+ */
+ OpenwireCommandReader reader;
+
+ /**
+ * This Connector's Command Writer
+ */
+ OpenwireCommandWriter writer;
+
+ /**
+ * Next avaliable Producer Id
+ */
+ unsigned int nextProducerId;
+
+ /**
+ * Next avaliable Transaction Id
+ */
+ unsigned int nextTransactionId;
+
+ /**
+ * Properties for the connector.
+ */
+ util::SimpleProperties properties;
+
+ private:
+
+ /**
+ * Sends the connect message to the broker and
+ * waits for the response.
+ */
+ void connect(void);
+
+ /**
+ * Sends a oneway disconnect message to the broker.
+ */
+ void disconnect(void);
+
+ /**
+ * Fires a consumer message to the observer.
+ * @param msg - the message to file
+ */
+ void fire( ConsumerInfo* consumer, core::ActiveMQMessage* msg ){
+ try{
+ if( messageListener != NULL ){
+ messageListener->onConsumerMessage(
+ consumer,
+ msg );
+ }
+ }catch( ... ){/* do nothing*/}
+ }
+
+ /**
+ * Fires an exception event to the observing object.
+ * @param ex - the exception to fire.
+ */
+ void fire( const exceptions::ActiveMQException& ex ){
+ try{
+ if( exceptionListener != NULL ){
+ exceptionListener->onException( ex );
+ }
+ }catch( ... ){/* do nothing*/}
+ }
+
+ public:
+
+ /**
+ * Constructor for the openwire connector.
+ * @param transport - the transport object for sending/receiving
+ * commands on the wire.
+ * @param properties - properties for configuring the connector.
+ */
+ OpenwireConnector( transport::Transport* transport,
+ const util::Properties& properties )
+ throw ( exceptions::IllegalArgumentException );
+
+ virtual ~OpenwireConnector();
+
+ /**
+ * Starts the service.
+ * @throws CMSException
+ */
+ virtual void start(void) throw( cms::CMSException );
+
+ /**
+ * Closes this object and deallocates the appropriate resources.
+ * @throws CMSException
+ */
+ virtual void close(void) throw( cms::CMSException );
+
+ /**
+ * Gets the Client Id for this connection, if this
+ * connection has been closed, then this method returns ""
+ * @return Client Id String
+ */
+ virtual std::string getClientId(void) const {
+ return properties.getProperty(
+ core::ActiveMQConstants::toString(
+ core::ActiveMQConstants::PARAM_CLIENTID ), "" );
+ }
+
+ /**
+ * Gets the Username for this connection, if this
+ * connection has been closed, then this method returns ""
+ * @return Username String
+ */
+ virtual std::string getUsername(void) const {
+ return properties.getProperty(
+ core::ActiveMQConstants::toString(
+ core::ActiveMQConstants::PARAM_USERNAME ), "" );
+ }
+
+ /**
+ * Gets the Password for this connection, if this
+ * connection has been closed, then this method returns ""
+ * @return Password String
+ */
+ virtual std::string getPassword(void) const {
+ return properties.getProperty(
+ core::ActiveMQConstants::toString(
+ core::ActiveMQConstants::PARAM_PASSWORD ), "" );
+ }
+
+ /**
+ * Gets a reference to the Transport that this connection
+ * is using.
+ * @param reference to a transport
+ * @throws InvalidStateException if the Transport is not set
+ */
+ virtual transport::Transport& getTransport(void) const
+ throw ( exceptions::InvalidStateException ) {
+
+ if( transport == NULL ) {
+ throw exceptions::InvalidStateException(
+ __FILE__, __LINE__,
+ "OpenwireConnector::getTransport - "
+ "Invalid State, No Transport.");
+ }
+
+ return *transport;
+ }
+
+ /**
+ * Creates a Session Info object for this connector
+ * @param Acknowledgement Mode of the Session
+ * @returns Session Info Object
+ * @throws ConnectorException
+ */
+ virtual SessionInfo* createSession(
+ cms::Session::AcknowledgeMode ackMode )
+ throw( ConnectorException );
+
+ /**
+ * Create a Consumer for the given Session
+ * @param Destination to Subscribe to.
+ * @param Session Information.
+ * @return Consumer Information
+ * @throws ConnectorException
+ */
+ virtual ConsumerInfo* createConsumer(
+ const cms::Destination* destination,
+ SessionInfo* session,
+ const std::string& selector = "" )
+ throw ( ConnectorException );
+
+ /**
+ * Create a Durable Consumer for the given Session
+ * @param Topic to Subscribe to.
+ * @param Session Information.
+ * @param name of the Durable Topic
+ * @param Selector
+ * @param if set, inhibits the delivery of messages
+ * published by its own connection
+ * @return Consumer Information
+ * @throws ConnectorException
+ */
+ virtual ConsumerInfo* createDurableConsumer(
+ const cms::Topic* topic,
+ SessionInfo* session,
+ const std::string& name,
+ const std::string& selector = "",
+ bool noLocal = false )
+ throw ( ConnectorException );
+
+ /**
+ * Create a Consumer for the given Session
+ * @param Destination to Subscribe to.
+ * @param Session Information.
+ * @return Producer Information
+ * @throws ConnectorException
+ */
+ virtual ProducerInfo* createProducer(
+ const cms::Destination* destination,
+ SessionInfo* session)
+ throw ( ConnectorException );
+
+ /**
+ * Creates a Topic given a name and session info
+ * @param Topic Name
+ * @param Session Information
+ * @return a newly created Topic Object
+ * @throws ConnectorException
+ */
+ virtual cms::Topic* createTopic( const std::string& name,
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a Queue given a name and session info
+ * @param Queue Name
+ * @param Session Information
+ * @return a newly created Queue Object
+ * @throws ConnectorException
+ */
+ virtual cms::Queue* createQueue( const std::string& name,
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a Temporary Topic given a name and session info
+ * @param Temporary Topic Name
+ * @param Session Information
+ * @return a newly created Temporary Topic Object
+ * @throws ConnectorException
+ */
+ virtual cms::TemporaryTopic* createTemporaryTopic(
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a Temporary Queue given a name and session info
+ * @param Temporary Queue Name
+ * @param Session Information
+ * @return a newly created Temporary Queue Object
+ * @throws ConnectorException
+ */
+ virtual cms::TemporaryQueue* createTemporaryQueue(
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Sends a Message
+ * @param The Message to send.
+ * @param Producer Info for the sender of this message
+ * @throws ConnectorException
+ */
+ virtual void send( cms::Message* message, ProducerInfo* producerInfo )
+ throw ( ConnectorException );
+
+ /**
+ * Sends a set of Messages
+ * @param List of Messages to send.
+ * @param Producer Info for the sender of this message
+ * @throws ConnectorException
+ */
+ virtual void send( std::list<cms::Message*>& messages,
+ ProducerInfo* producerInfo )
+ throw ( ConnectorException );
+
+ /**
+ * Acknowledges a Message
+ * @param An ActiveMQMessage to Ack.
+ * @throws ConnectorException
+ */
+ virtual void acknowledge( const SessionInfo* session,
+ const cms::Message* message,
+ AckType ackType )
+ throw ( ConnectorException );
+
+ /**
+ * Starts a new Transaction.
+ * @param Session Information
+ * @throws ConnectorException
+ */
+ virtual TransactionInfo* startTransaction(
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Commits a Transaction.
+ * @param The Transaction information
+ * @param Session Information
+ * @throws ConnectorException
+ */
+ virtual void commit( TransactionInfo* transaction,
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Rolls back a Transaction.
+ * @param The Transaction information
+ * @param Session Information
+ * @throws ConnectorException
+ */
+ virtual void rollback( TransactionInfo* transaction,
+ SessionInfo* session )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a new Message.
+ * @param Session Information
+ * @param Transaction Info for this Message
+ * @throws ConnectorException
+ */
+ virtual cms::Message* createMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a new BytesMessage.
+ * @param Session Information
+ * @param Transaction Info for this Message
+ * @throws ConnectorException
+ */
+ virtual cms::BytesMessage* createBytesMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a new TextMessage.
+ * @param Session Information
+ * @param Transaction Info for this Message
+ * @throws ConnectorException
+ */
+ virtual cms::TextMessage* createTextMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException );
+
+ /**
+ * Creates a new MapMessage.
+ * @param Session Information
+ * @param Transaction Info for this Message
+ * @throws ConnectorException
+ */
+ virtual cms::MapMessage* createMapMessage(
+ SessionInfo* session,
+ TransactionInfo* transaction )
+ throw ( ConnectorException );
+
+ /**
+ * Unsubscribe from a givenDurable Subscription
+ * @param name of the Subscription
+ * @throws ConnectorException
+ */
+ virtual void unsubscribe( const std::string& name )
+ throw ( ConnectorException );
+
+ /**
+ * Destroys the given connector resource.
+ * @param resource the resource to be destroyed.
+ * @throws ConnectorException
+ */
+ virtual void destroyResource( ConnectorResource* resource )
+ throw ( ConnectorException );
+
+ /**
+ * Sets the listener of consumer messages.
+ * @param listener the observer.
+ */
+ virtual void setConsumerMessageListener(
+ ConsumerMessageListener* listener )
+ {
+ this->messageListener = listener;
+ }
+
+ /**
+ * Sets the Listner of exceptions for this connector
+ * @param ExceptionListener the observer.
+ */
+ virtual void setExceptionListener(
+ cms::ExceptionListener* listener )
+ {
+ this->exceptionListener = listener;
+ }
+
+ public: // transport::CommandListener
+
+ /**
+ * Event handler for the receipt of a non-response command from the
+ * transport.
+ * @param command the received command object.
+ */
+ virtual void onCommand( transport::Command* command );
+
+ public: // TransportExceptionListener
+
+ /**
+ * Event handler for an exception from a command transport.
+ * @param source The source of the exception
+ * @param ex The exception.
+ */
+ virtual void onTransportException(
+ transport::Transport* source,
+ const exceptions::ActiveMQException& ex );
+
+ private:
+
+ unsigned int getNextProducerId(void);
+ unsigned int getNextTransactionId(void);
+
+ // Check for Connected State and Throw an exception if not.
+ void enforceConnected( void ) throw ( ConnectorException );
+
+ };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECONNECTOR_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnector.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnectorException.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnectorException.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnectorException.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnectorException.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,68 @@
+/*
+ * 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_OPENWIRECONNECTOREXCEPTION_H_
+#define ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECONNECTOREXCEPTION_H_
+
+#include <activemq/connector/ConnectorException.h>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+
+ /*
+ * Signals that an Connector exception of some sort has occurred.
+ */
+ class OpenwireConnectorException : public connector::ConnectorException
+ {
+ public:
+
+ OpenwireConnectorException() {}
+ OpenwireConnectorException( const exceptions::ActiveMQException& ex ){
+ *( exceptions::ActiveMQException* )this = ex;
+ }
+ OpenwireConnectorException( const OpenwireConnectorException& ex ){
+ *( exceptions::ActiveMQException* )this = ex;
+ }
+ OpenwireConnectorException( const char* file,
+ const int lineNumber,
+ const char* msg, ... )
+ {
+ va_list vargs;
+ va_start( vargs, msg );
+ buildMessage( msg, vargs );
+
+ // Set the first mark for this exception.
+ setMark( file, lineNumber );
+ }
+
+ /**
+ * Clones this exception. This is useful for cases where you need
+ * to preserve the type of the original exception as well as the message.
+ * All subclasses should override.
+ */
+ virtual exceptions::ActiveMQException* clone() const{
+ return new OpenwireConnectorException( *this );
+ }
+
+ virtual ~OpenwireConnectorException() {}
+
+ };
+
+}}}
+
+#endif /*ACTIVEMQ_CONNECTOR_OPENWIRE_OPENWIRECONNECTOREXCEPTION_H_*/
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/OpenwireConnectorException.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,50 @@
+/*
+ * 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/commands/ActiveMQBytesMessage.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::connector;
+using namespace activemq::connector::openwire;
+using namespace activemq::connector::openwire::commands;
+
+/*
+ *
+ * Command and marshalling code for OpenWire format for ActiveMQBytesMessage
+ *
+ *
+ * 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
+ *
+ */
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQBytesMessage::ActiveMQBytesMessage()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQBytesMessage::~ActiveMQBytesMessage()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ActiveMQBytesMessage::getDataStructureType() const
+{
+ return ActiveMQBytesMessage::ID_ACTIVEMQBYTESMESSAGE;
+}
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,65 @@
+/*
+ * 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_COMMANDS_ACTIVEMQBYTESMESSAGE_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_ACTIVEMQBYTESMESSAGE_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/commands/ActiveMQMessage.h>
+#include <vector>
+#include <string>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace commands{
+
+ /*
+ *
+ * Command and marshalling code for OpenWire format for ${className}
+ *
+ *
+ * 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 ActiveMQBytesMessage : public ActiveMQMessage
+ {
+ protected:
+
+
+ public:
+
+ const static unsigned char ID_ACTIVEMQBYTESMESSAGE = 24;
+
+ public:
+
+ ActiveMQBytesMessage();
+ virtual ~ActiveMQBytesMessage();
+
+ virtual unsigned char getDataStructureType() const;
+ };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_ACTIVEMQBYTESMESSAGE_H_*/
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,66 @@
+/*
+ * 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/commands/ActiveMQDestination.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::connector;
+using namespace activemq::connector::openwire;
+using namespace activemq::connector::openwire::commands;
+
+/*
+ *
+ * Command and marshalling code for OpenWire format for ActiveMQDestination
+ *
+ *
+ * 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
+ *
+ */
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQDestination::ActiveMQDestination()
+{
+ this->physicalName = "";
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQDestination::~ActiveMQDestination()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ActiveMQDestination::getDataStructureType() const
+{
+ return ActiveMQDestination::ID_ACTIVEMQDESTINATION;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+const std::string& ActiveMQDestination::getPhysicalName() const {
+ return physicalName;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string& ActiveMQDestination::getPhysicalName() {
+ return physicalName;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void ActiveMQDestination::setPhysicalName(const std::string& physicalName ) {
+ this->physicalName = physicalName;
+}
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,69 @@
+/*
+ * 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_COMMANDS_ACTIVEMQDESTINATION_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_ACTIVEMQDESTINATION_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <vector>
+#include <string>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace commands{
+
+ /*
+ *
+ * Command and marshalling code for OpenWire format for ${className}
+ *
+ *
+ * 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 ActiveMQDestination
+ {
+ protected:
+
+ std::string physicalName;
+
+ public:
+
+ const static unsigned char ID_ACTIVEMQDESTINATION = 0;
+
+ public:
+
+ ActiveMQDestination();
+ virtual ~ActiveMQDestination();
+
+ virtual unsigned char getDataStructureType() const;
+ virtual const std::string& getPhysicalName() const;
+ virtual std::string& getPhysicalName();
+ virtual void setPhysicalName( const std::string& physicalName );
+
+ };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_ACTIVEMQDESTINATION_H_*/
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQDestination.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,50 @@
+/*
+ * 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/commands/ActiveMQMapMessage.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::connector;
+using namespace activemq::connector::openwire;
+using namespace activemq::connector::openwire::commands;
+
+/*
+ *
+ * Command and marshalling code for OpenWire format for ActiveMQMapMessage
+ *
+ *
+ * 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
+ *
+ */
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQMapMessage::ActiveMQMapMessage()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQMapMessage::~ActiveMQMapMessage()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ActiveMQMapMessage::getDataStructureType() const
+{
+ return ActiveMQMapMessage::ID_ACTIVEMQMAPMESSAGE;
+}
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.h
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.h?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.h (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.h Mon Oct 2 07:30:10 2006
@@ -0,0 +1,65 @@
+/*
+ * 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_COMMANDS_ACTIVEMQMAPMESSAGE_H_
+#define _ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_ACTIVEMQMAPMESSAGE_H_
+
+// Turn off warning message for ignored exception specification
+#ifdef _MSC_VER
+#pragma warning( disable : 4290 )
+#endif
+
+#include <activemq/connector/openwire/commands/ActiveMQMessage.h>
+#include <vector>
+#include <string>
+
+namespace activemq{
+namespace connector{
+namespace openwire{
+namespace commands{
+
+ /*
+ *
+ * Command and marshalling code for OpenWire format for ${className}
+ *
+ *
+ * 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 ActiveMQMapMessage : public ActiveMQMessage
+ {
+ protected:
+
+
+ public:
+
+ const static unsigned char ID_ACTIVEMQMAPMESSAGE = 25;
+
+ public:
+
+ ActiveMQMapMessage();
+ virtual ~ActiveMQMapMessage();
+
+ virtual unsigned char getDataStructureType() const;
+ };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_OPENWIRE_COMMANDS_ACTIVEMQMAPMESSAGE_H_*/
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMapMessage.h
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.cpp?view=auto&rev=452053
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.cpp (added)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.cpp Mon Oct 2 07:30:10 2006
@@ -0,0 +1,50 @@
+/*
+ * 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/commands/ActiveMQMessage.h>
+
+using namespace std;
+using namespace activemq;
+using namespace activemq::connector;
+using namespace activemq::connector::openwire;
+using namespace activemq::connector::openwire::commands;
+
+/*
+ *
+ * Command and marshalling code for OpenWire format for ActiveMQMessage
+ *
+ *
+ * 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
+ *
+ */
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQMessage::ActiveMQMessage()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+ActiveMQMessage::~ActiveMQMessage()
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+unsigned char ActiveMQMessage::getDataStructureType() const
+{
+ return ActiveMQMessage::ID_ACTIVEMQMESSAGE;
+}
+
Propchange: incubator/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/connector/openwire/commands/ActiveMQMessage.cpp
------------------------------------------------------------------------------
svn:eol-style = native