You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/07/06 00:27:47 UTC

svn commit: r419365 [7/25] - in /incubator/activemq/trunk: activemq-core/src/main/java/org/apache/activemq/thread/ activemq-core/src/test/java/org/apache/activemq/openwire/v1/ activemq-cpp/src/main/activemq/concurrent/ activemq-cpp/src/main/activemq/co...

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.h Wed Jul  5 15:27:34 2006
@@ -1,185 +1,185 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_STOMPSESSIONMANAGER_H_
-#define _ACTIVEMQ_CONNECTOR_STOMP_STOMPSESSIONMANAGER_H_
-
-#include <activemq/connector/SessionInfo.h>
-#include <activemq/connector/ConsumerInfo.h>
-#include <activemq/transport/Transport.h>
-#include <activemq/concurrent/Mutex.h>
-#include <activemq/connector/ConnectorException.h>
-#include <activemq/connector/stomp/StompCommandListener.h>
-#include <activemq/connector/ConsumerMessageListener.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-    
-    /**
-     * The Stomp Session Manager is responsible for managing multiple
-     * Client Sessions.  The management involves routing messages to 
-     * sessions.  If more than one ActiveMQConsumer is created that is
-     * listening to the same Topic or Queue, then the messages that are
-     * received must be delivered to each of those sessions, and copied
-     * so that a transactional session can manage the lifetime of the
-     * message.
-     */
-    class StompSessionManager : public StompCommandListener
-    {
-    private:
-    
-        // Map Types
-        typedef std::map<unsigned int, ConsumerInfo*>  ConsumerMap;
-        typedef std::map<std::string, ConsumerMap>     DestinationMap;        
-
-    private:
-    
-        // Next id to be used for a Session Id
-        unsigned int nextSessionId;
-        
-        // Next id to be used for a Consumer Id
-        unsigned int nextConsumerId;
-        
-        // Mutex to protect ids.
-        concurrent::Mutex mutex;
-        
-        // Mapping of a Session to all the consumer's
-        DestinationMap destinationMap;
-        
-        // Transport that we use to find a transport for sending
-        // commands
-        transport::Transport* transport;
-        
-        // Consumer Message listener, we notify this whenever we receive 
-        // a new StompMessage type command.
-        ConsumerMessageListener* messageListener;
-        
-        // The global connection id
-        std::string connectionId;
-        
-    public:
-
-    	StompSessionManager( const std::string& connectionId, 
-                             transport::Transport* transport );
-    	virtual ~StompSessionManager(void);
-
-        /**
-         * Creates a new Session and returns a SessionInfo object whose
-         * lifetime is the property of the caller.
-         * @param the ackMode of the session.
-         * @return new SessionInfo object
-         */
-        virtual connector::SessionInfo* createSession(
-            cms::Session::AcknowledgeMode ackMode)
-                throw ( exceptions::ActiveMQException );
-
-        /**
-         * removes the specified Session from the Manager, all data that
-         * is associated with session consumers is now lost.  The session
-         * is not deleted here, it is the owner's responsibility.
-         * @param the session info for the session to remove.
-         */
-        virtual void removeSession( connector::SessionInfo* session )
-            throw ( exceptions::ActiveMQException );
-        
-        /**
-         * Creates a new consumer to the specified session, will subscribe
-         * to the destination if another consumer hasn't already been 
-         * subbed to that destination.  The returned consumer is the 
-         * owned by the caller and not deleted by this class.
-         * @param destination to subscribe to
-         * @param session to associate with
-         * @param selector string
-         * @return new ConsumerInfo object.
-         */
-        virtual connector::ConsumerInfo* createConsumer(
-            cms::Destination* destination, 
-            SessionInfo* session,
-            const std::string& selector)
-                throw( ConnectorException );
-
-        /**
-         * Creates a new durable consumer to the specified session, will 
-         * subscribe to the destination if another consumer hasn't already 
-         * been subbed to that destination.  The returned consumer is the 
-         * owned by the caller and not deleted by this class.
-         * @param Topic to subscribe to
-         * @param session to associate with
-         * @param Subscription Name
-         * @param selector string
-         * @param Should we be notified of messages we send.
-         * @return new ConsumerInfo object.
-         */
-        virtual connector::ConsumerInfo* createDurableConsumer(
-            cms::Destination* destination, 
-            SessionInfo* session,
-            const std::string& name,
-            const std::string& selector,
-            bool noLocal )
-                throw ( ConnectorException );
-
-        /**
-         * Removes the Consumer from the session, will unsubscrive if the
-         * consumer is the only one listeneing on this destination.  The
-         * Consumer is not deleted, just unassociated from the Manager
-         * caller is responsible for managing the lifetime.
-         * @param the ConsumerInfo for the consumer to remove
-         * @throws ConnectorException
-         */            
-        virtual void removeConsumer( connector::ConsumerInfo* consumer )
-            throw( ConnectorException );
-
-        /** 
-         * Sets the listener of consumer messages.
-         * @param listener the observer.
-         */
-        virtual void setConsumerMessageListener(
-            ConsumerMessageListener* listener )
-        {
-            this->messageListener = listener;
-        }
-
-    public:   // StompCommand Listener
-    
-        /**
-         * Process the Stomp Command
-         * @param command to process
-         * @throw ConnterException
-         */
-        virtual void onStompCommand( commands::StompCommand* command ) 
-            throw ( StompConnectorException );    
-            
-    protected:
-    
-        /**
-         * Gets the Next Session Id
-         * @return unique session id
-         */
-        virtual unsigned int getNextSessionId(void);
-        
-        /**
-         * Gets the Next Session Id
-         * @return unique session id
-         */
-        virtual unsigned int getNextConsumerId(void);
-
-    };
-
-}}}
-
-#endif /*_ACTIVEMQ_CONNECTOR_STOMP_STOMPSESSIONMANAGER_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_STOMPSESSIONMANAGER_H_
+#define _ACTIVEMQ_CONNECTOR_STOMP_STOMPSESSIONMANAGER_H_
+
+#include <activemq/connector/SessionInfo.h>
+#include <activemq/connector/ConsumerInfo.h>
+#include <activemq/transport/Transport.h>
+#include <activemq/concurrent/Mutex.h>
+#include <activemq/connector/ConnectorException.h>
+#include <activemq/connector/stomp/StompCommandListener.h>
+#include <activemq/connector/ConsumerMessageListener.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+    
+    /**
+     * The Stomp Session Manager is responsible for managing multiple
+     * Client Sessions.  The management involves routing messages to 
+     * sessions.  If more than one ActiveMQConsumer is created that is
+     * listening to the same Topic or Queue, then the messages that are
+     * received must be delivered to each of those sessions, and copied
+     * so that a transactional session can manage the lifetime of the
+     * message.
+     */
+    class StompSessionManager : public StompCommandListener
+    {
+    private:
+    
+        // Map Types
+        typedef std::map<unsigned int, ConsumerInfo*>  ConsumerMap;
+        typedef std::map<std::string, ConsumerMap>     DestinationMap;        
+
+    private:
+    
+        // Next id to be used for a Session Id
+        unsigned int nextSessionId;
+        
+        // Next id to be used for a Consumer Id
+        unsigned int nextConsumerId;
+        
+        // Mutex to protect ids.
+        concurrent::Mutex mutex;
+        
+        // Mapping of a Session to all the consumer's
+        DestinationMap destinationMap;
+        
+        // Transport that we use to find a transport for sending
+        // commands
+        transport::Transport* transport;
+        
+        // Consumer Message listener, we notify this whenever we receive 
+        // a new StompMessage type command.
+        ConsumerMessageListener* messageListener;
+        
+        // The global connection id
+        std::string connectionId;
+        
+    public:
+
+    	StompSessionManager( const std::string& connectionId, 
+                             transport::Transport* transport );
+    	virtual ~StompSessionManager(void);
+
+        /**
+         * Creates a new Session and returns a SessionInfo object whose
+         * lifetime is the property of the caller.
+         * @param the ackMode of the session.
+         * @return new SessionInfo object
+         */
+        virtual connector::SessionInfo* createSession(
+            cms::Session::AcknowledgeMode ackMode)
+                throw ( exceptions::ActiveMQException );
+
+        /**
+         * removes the specified Session from the Manager, all data that
+         * is associated with session consumers is now lost.  The session
+         * is not deleted here, it is the owner's responsibility.
+         * @param the session info for the session to remove.
+         */
+        virtual void removeSession( connector::SessionInfo* session )
+            throw ( exceptions::ActiveMQException );
+        
+        /**
+         * Creates a new consumer to the specified session, will subscribe
+         * to the destination if another consumer hasn't already been 
+         * subbed to that destination.  The returned consumer is the 
+         * owned by the caller and not deleted by this class.
+         * @param destination to subscribe to
+         * @param session to associate with
+         * @param selector string
+         * @return new ConsumerInfo object.
+         */
+        virtual connector::ConsumerInfo* createConsumer(
+            cms::Destination* destination, 
+            SessionInfo* session,
+            const std::string& selector)
+                throw( ConnectorException );
+
+        /**
+         * Creates a new durable consumer to the specified session, will 
+         * subscribe to the destination if another consumer hasn't already 
+         * been subbed to that destination.  The returned consumer is the 
+         * owned by the caller and not deleted by this class.
+         * @param Topic to subscribe to
+         * @param session to associate with
+         * @param Subscription Name
+         * @param selector string
+         * @param Should we be notified of messages we send.
+         * @return new ConsumerInfo object.
+         */
+        virtual connector::ConsumerInfo* createDurableConsumer(
+            cms::Destination* destination, 
+            SessionInfo* session,
+            const std::string& name,
+            const std::string& selector,
+            bool noLocal )
+                throw ( ConnectorException );
+
+        /**
+         * Removes the Consumer from the session, will unsubscrive if the
+         * consumer is the only one listeneing on this destination.  The
+         * Consumer is not deleted, just unassociated from the Manager
+         * caller is responsible for managing the lifetime.
+         * @param the ConsumerInfo for the consumer to remove
+         * @throws ConnectorException
+         */            
+        virtual void removeConsumer( connector::ConsumerInfo* consumer )
+            throw( ConnectorException );
+
+        /** 
+         * Sets the listener of consumer messages.
+         * @param listener the observer.
+         */
+        virtual void setConsumerMessageListener(
+            ConsumerMessageListener* listener )
+        {
+            this->messageListener = listener;
+        }
+
+    public:   // StompCommand Listener
+    
+        /**
+         * Process the Stomp Command
+         * @param command to process
+         * @throw ConnterException
+         */
+        virtual void onStompCommand( commands::StompCommand* command ) 
+            throw ( StompConnectorException );    
+            
+    protected:
+    
+        /**
+         * Gets the Next Session Id
+         * @return unique session id
+         */
+        virtual unsigned int getNextSessionId(void);
+        
+        /**
+         * Gets the Next Session Id
+         * @return unique session id
+         */
+        virtual unsigned int getNextConsumerId(void);
+
+    };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_STOMP_STOMPSESSIONMANAGER_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompSessionManager.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTopic.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTopic.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTopic.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTopic.h Wed Jul  5 15:27:34 2006
@@ -1,74 +1,74 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_STOMPTOPIC_H_
-#define _ACTIVEMQ_CONNECTOR_STOMP_STOMPTOPIC_H_
-
-#include <activemq/connector/stomp/StompDestination.h>
-#include <activemq/connector/stomp/commands/CommandConstants.h>
-#include <cms/Topic.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-    
-    class StompTopic : public StompDestination<cms::Topic>
-    {
-    public:
-
-        StompTopic(void) : StompDestination<cms::Topic>() {}
-
-        StompTopic(const std::string& name) : 
-            StompDestination< cms::Topic >( name, cms::Destination::TOPIC )
-        {}
-
-        virtual ~StompTopic(void) {}
-
-        /**
-         * Gets the name of this queue.
-         * @return The queue name.
-         */
-        virtual std::string getTopicName(void) const 
-            throw( cms::CMSException ) {
-                return toString();
-        }
-
-        /**
-         * Creates a new instance of this destination type that is a
-         * copy of this one, and returns it.
-         * @returns cloned copy of this object
-         */
-        virtual cms::Destination* clone(void) const {
-            return new StompTopic( toString() );
-        }
-
-    protected:
-
-        /**
-         * Retrieves the proper Stomp Prefix for the specified type
-         * of Destination
-         * @return string prefix
-         */
-        virtual std::string getPrefix(void) const {
-            return commands::CommandConstants::topicPrefix;
-        }
-
-    };
-
-}}}
-
-#endif /*_ACTIVEMQ_CONNECTOR_STOMP_STOMPTOPIC_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_STOMPTOPIC_H_
+#define _ACTIVEMQ_CONNECTOR_STOMP_STOMPTOPIC_H_
+
+#include <activemq/connector/stomp/StompDestination.h>
+#include <activemq/connector/stomp/commands/CommandConstants.h>
+#include <cms/Topic.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+    
+    class StompTopic : public StompDestination<cms::Topic>
+    {
+    public:
+
+        StompTopic(void) : StompDestination<cms::Topic>() {}
+
+        StompTopic(const std::string& name) : 
+            StompDestination< cms::Topic >( name, cms::Destination::TOPIC )
+        {}
+
+        virtual ~StompTopic(void) {}
+
+        /**
+         * Gets the name of this queue.
+         * @return The queue name.
+         */
+        virtual std::string getTopicName(void) const 
+            throw( cms::CMSException ) {
+                return toString();
+        }
+
+        /**
+         * Creates a new instance of this destination type that is a
+         * copy of this one, and returns it.
+         * @returns cloned copy of this object
+         */
+        virtual cms::Destination* clone(void) const {
+            return new StompTopic( toString() );
+        }
+
+    protected:
+
+        /**
+         * Retrieves the proper Stomp Prefix for the specified type
+         * of Destination
+         * @return string prefix
+         */
+        virtual std::string getPrefix(void) const {
+            return commands::CommandConstants::topicPrefix;
+        }
+
+    };
+
+}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_STOMP_STOMPTOPIC_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTopic.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTransactionInfo.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTransactionInfo.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTransactionInfo.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTransactionInfo.h Wed Jul  5 15:27:34 2006
@@ -1,88 +1,88 @@
-/*
-* Copyright 2006 The Apache Software Foundation or its licensors, as
-* applicable.
-*
-* Licensed 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_STOMPTRANSACTIONINFO_H_
-#define ACTIVEMQ_CONNECTOR_STOMPTRANSACTIONINFO_H_
-
-#include <activemq/connector/TransactionInfo.h>
-#include <activemq/connector/SessionInfo.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-
-    class StompTransactionInfo : public connector::TransactionInfo
-    {
-    private:
-    
-        // Transaction Id
-        unsigned int transactionId;
-        
-        // Session Info - We do not own this
-        const SessionInfo* session;
-        
-    public:
-
-        /**
-         * TransactionInfo Constructor
-         */
-        StompTransactionInfo(void) {
-            transactionId = 0;
-            session = NULL;
-        }
-
-        /**
-         * Destructor
-         */
-        virtual ~StompTransactionInfo(void) {}
-
-        /**
-         * Gets the Transction Id
-         * @return unsigned int Id
-         */
-        virtual unsigned int getTransactionId(void) const {
-            return transactionId;
-        }
-
-        /**
-         * Sets the Transction Id
-         * @param unsigned int Id
-         */
-        virtual void setTransactionId( const unsigned int id ) {
-            this->transactionId = id;
-        } 
-
-        /**
-         * Gets the Session Info that this Transction is attached too
-         * @return SessionnInfo pointer
-         */
-        virtual const SessionInfo* getSessionInfo(void) const {
-            return session;
-        }
-        
-        /**
-         * Gets the Session Info that this Transction is attached too
-         * @return SessionnInfo pointer
-         */
-        virtual void setSessionInfo( const SessionInfo* session ) {
-            this->session = session;
-        }
-
-    };
-
-}}}
-
-#endif /*ACTIVEMQ_CONNECTOR_STOMPTRANSACTIONINFO_H_*/
+/*
+* Copyright 2006 The Apache Software Foundation or its licensors, as
+* applicable.
+*
+* Licensed 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_STOMPTRANSACTIONINFO_H_
+#define ACTIVEMQ_CONNECTOR_STOMPTRANSACTIONINFO_H_
+
+#include <activemq/connector/TransactionInfo.h>
+#include <activemq/connector/SessionInfo.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+
+    class StompTransactionInfo : public connector::TransactionInfo
+    {
+    private:
+    
+        // Transaction Id
+        unsigned int transactionId;
+        
+        // Session Info - We do not own this
+        const SessionInfo* session;
+        
+    public:
+
+        /**
+         * TransactionInfo Constructor
+         */
+        StompTransactionInfo(void) {
+            transactionId = 0;
+            session = NULL;
+        }
+
+        /**
+         * Destructor
+         */
+        virtual ~StompTransactionInfo(void) {}
+
+        /**
+         * Gets the Transction Id
+         * @return unsigned int Id
+         */
+        virtual unsigned int getTransactionId(void) const {
+            return transactionId;
+        }
+
+        /**
+         * Sets the Transction Id
+         * @param unsigned int Id
+         */
+        virtual void setTransactionId( const unsigned int id ) {
+            this->transactionId = id;
+        } 
+
+        /**
+         * Gets the Session Info that this Transction is attached too
+         * @return SessionnInfo pointer
+         */
+        virtual const SessionInfo* getSessionInfo(void) const {
+            return session;
+        }
+        
+        /**
+         * Gets the Session Info that this Transction is attached too
+         * @return SessionnInfo pointer
+         */
+        virtual void setSessionInfo( const SessionInfo* session ) {
+            this->session = session;
+        }
+
+    };
+
+}}}
+
+#endif /*ACTIVEMQ_CONNECTOR_STOMPTRANSACTIONINFO_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/StompTransactionInfo.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbortCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbortCommand.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbortCommand.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbortCommand.h Wed Jul  5 15:27:34 2006
@@ -1,85 +1,85 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_COMMANDS_ABORTCOMMAND_H_
-#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABORTCOMMAND_H_
-
-#include <activemq/connector/stomp/commands/AbstractCommand.h>
-#include <activemq/connector/stomp/commands/CommandConstants.h>
-#include <activemq/transport/Command.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-namespace commands{
-
-    /**
-     * Represents the Stomp Abort Command which rolls back a
-     * transaction in progress.
-     */
-    class AbortCommand : public AbstractCommand< transport::Command >
-    {
-    public:
-
-        AbortCommand(void) :
-            AbstractCommand<transport::Command>() {
-                initialize( getFrame() );
-        }
-        AbortCommand( StompFrame* frame ) : 
-            AbstractCommand<transport::Command>(frame) {
-                validate( getFrame() );
-        }
-        virtual ~AbortCommand(void) {}
-        
-    protected:
-    
-        /**
-         * Inheritors are required to override this method to init the
-         * frame with data appropriate for the command type.
-         * @param Frame to init
-         */
-        virtual void initialize( StompFrame& frame )
-        {
-            frame.setCommand( CommandConstants::toString(
-                CommandConstants::ABORT ) );
-        }
-
-        /**
-         * Inheritors are required to override this method to validate 
-         * the passed stomp frame before it is marshalled or unmarshaled
-         * @param Frame to validate
-         * @returns true if frame is valid
-         */
-        virtual bool validate( const StompFrame& frame ) const
-        {
-            if((frame.getCommand() == 
-                CommandConstants::toString( CommandConstants::ABORT ) ) &&
-               (frame.getProperties().hasProperty(
-                    CommandConstants::toString( 
-                        CommandConstants::HEADER_TRANSACTIONID ) ) ) )
-            {
-                return true;
-            }
-
-            return false;
-        }
-
-    };
-
-}}}}
-
-#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABORTCOMMAND_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_COMMANDS_ABORTCOMMAND_H_
+#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABORTCOMMAND_H_
+
+#include <activemq/connector/stomp/commands/AbstractCommand.h>
+#include <activemq/connector/stomp/commands/CommandConstants.h>
+#include <activemq/transport/Command.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+namespace commands{
+
+    /**
+     * Represents the Stomp Abort Command which rolls back a
+     * transaction in progress.
+     */
+    class AbortCommand : public AbstractCommand< transport::Command >
+    {
+    public:
+
+        AbortCommand(void) :
+            AbstractCommand<transport::Command>() {
+                initialize( getFrame() );
+        }
+        AbortCommand( StompFrame* frame ) : 
+            AbstractCommand<transport::Command>(frame) {
+                validate( getFrame() );
+        }
+        virtual ~AbortCommand(void) {}
+        
+    protected:
+    
+        /**
+         * Inheritors are required to override this method to init the
+         * frame with data appropriate for the command type.
+         * @param Frame to init
+         */
+        virtual void initialize( StompFrame& frame )
+        {
+            frame.setCommand( CommandConstants::toString(
+                CommandConstants::ABORT ) );
+        }
+
+        /**
+         * Inheritors are required to override this method to validate 
+         * the passed stomp frame before it is marshalled or unmarshaled
+         * @param Frame to validate
+         * @returns true if frame is valid
+         */
+        virtual bool validate( const StompFrame& frame ) const
+        {
+            if((frame.getCommand() == 
+                CommandConstants::toString( CommandConstants::ABORT ) ) &&
+               (frame.getProperties().hasProperty(
+                    CommandConstants::toString( 
+                        CommandConstants::HEADER_TRANSACTIONID ) ) ) )
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+    };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABORTCOMMAND_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbortCommand.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbstractCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbstractCommand.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbstractCommand.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbstractCommand.h Wed Jul  5 15:27:34 2006
@@ -1,280 +1,280 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_COMMANDS_ABSTRACTCOMMAND_H_
-#define ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABSTRACTCOMMAND_H_
-
-#include <activemq/connector/stomp/StompFrame.h>
-#include <activemq/connector/stomp/commands/StompCommand.h>
-#include <activemq/exceptions/NullPointerException.h>
-#include <activemq/util/Integer.h>
-#include <activemq/util/Long.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-namespace commands{
-    
-    /**
-     * Interface for all Stomp commands.  Commands wrap
-     * around a stomp frame and provide their own marshalling
-     * to and from frames.  Stomp frame objects are dumb and have
-     * a generic interface that becomes cumbersome to use directly.
-     * Commands help to abstract the stomp frame by providing a
-     * more user-friendly interface to the frame content.  
-     */
-    
-    template<typename T>
-    class AbstractCommand
-    : 
-        public StompCommand,
-        public T
-    {
-    protected:
-    
-        // Frame that contains the actual message
-        StompFrame* frame;
-
-    protected:
-    
-        StompFrame& getFrame(void) {
-            if( frame == NULL ){
-                throw exceptions::NullPointerException(
-                    __FILE__, __LINE__,
-                    "AbstractCommand::getFrame - Frame not initialized");
-            }
-
-            return *frame;
-        }
-        
-        const StompFrame& getFrame(void) const {
-            if( frame == NULL ){
-                throw exceptions::NullPointerException(
-                    __FILE__, __LINE__,
-                    "AbstractCommand::getFrame - Frame not initialized");
-            }
-
-            return *frame;
-        }
-        
-        void destroyFrame(void)
-        {
-            if( frame != NULL ){
-                delete frame;
-                frame = NULL;
-            }
-        }
-    
-        const char* getPropertyValue( const std::string& name ) const{
-            return getFrame().getProperties().getProperty( name );
-        }
-
-        const std::string getPropertyValue( 
-            const std::string& name, 
-            const std::string& defReturn ) const {
-            return getFrame().getProperties().getProperty( 
-                name, defReturn );
-        }
-        
-        void setPropertyValue( const std::string& name, const std::string& value ){
-            getFrame().getProperties().setProperty( name, value );
-        }
-        
-        /**
-         * Inheritors are required to override this method to init the
-         * frame with data appropriate for the command type.
-         * @param Frame to init
-         */
-        virtual void initialize( StompFrame& frame ) = 0;
-
-        /**
-         * Inheritors are required to override this method to validate 
-         * the passed stomp frame before it is marshalled or unmarshaled
-         * @param Frame to validate
-         * @returns true if frame is valid
-         */
-        virtual bool validate( const StompFrame& frame ) const = 0;
-        
-    public:
-    
-        AbstractCommand(void){ 
-            frame = new StompFrame;
-        }
-        AbstractCommand(StompFrame* frame){ 
-            this->frame = frame;
-        }
-        virtual ~AbstractCommand(void){
-            destroyFrame();
-        }
-        
-        /**
-         * Sets the Command Id of this Message
-         * @param Command Id
-         */
-        virtual void setCommandId( const unsigned int id ){
-            setPropertyValue(
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_REQUESTID),
-                 util::Integer::toString( id ) );
-        }
-
-        /**
-         * Gets the Command Id of this Message
-         * @return Command Id
-         */
-        virtual unsigned int getCommandId(void) const {
-            return util::Integer::parseInt(
-                getPropertyValue(
-                    CommandConstants::toString( 
-                        CommandConstants::HEADER_REQUESTID ),
-                    "0" ) );
-        }
-        
-        /**
-         * Set if this Message requires a Response
-         * @param true if response is required
-         */
-        virtual void setResponseRequired( const bool required ) {
-        }
-        
-        /**
-         * Is a Response required for this Command
-         * @return true if a response is required.
-         */
-        virtual bool isResponseRequired(void) const {
-            return frame->getProperties().hasProperty( 
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_REQUESTID) );
-        }
-        
-        /**
-         * Gets the Correlation Id that is associated with this message
-         * @return the Correlation Id
-         */
-        virtual unsigned int getCorrelationId(void) const {
-            return util::Integer::parseInt(
-                getPropertyValue(
-                    CommandConstants::toString( 
-                        CommandConstants::HEADER_RESPONSEID ),
-                     "0" ) );
-        }
-
-        /**
-         * Sets the Correlation Id if this Command
-         * @param Id
-         */
-        virtual void setCorrelationId( const unsigned int corrId ) {
-            setPropertyValue(
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_RESPONSEID),
-                 util::Integer::toString( corrId ) );
-        }
-        
-        /**
-         * Get the Transaction Id of this Command
-         * @return the Id of the Transaction
-         */      
-        virtual const char* getTransactionId(void) const{
-            return getPropertyValue( 
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_TRANSACTIONID) );
-        }
-      
-        /**
-         * Set the Transaction Id of this Command
-         * @param the Id of the Transaction
-         */
-        virtual void setTransactionId( const std::string& id ){
-            setPropertyValue( 
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_TRANSACTIONID),
-                id );
-        }  
-
-        /**
-         * Retrieve the Stomp Command Id for this message.
-         * @return Stomp CommandId enum
-         */
-        virtual CommandConstants::CommandId getStompCommandId(void) const {
-            return CommandConstants::toCommandId(
-                getFrame().getCommand() );
-        }
-        
-        /**
-         * Marshals the command to a stomp frame.
-         * @returns the stomp frame representation of this
-         * command.
-         * @throws MarshalException if the command is not
-         * in a state that can be marshaled.
-         */
-        virtual const StompFrame& marshal(void) const 
-            throw (marshal::MarshalException)
-        {
-            if( frame == NULL || !validate( *frame ) ){
-                throw marshal::MarshalException( 
-                    __FILE__, __LINE__,
-                    "AbstractCommand::marshal() - frame invalid" );
-            }
-            
-            return getFrame();
-        }
-
-    protected:
-
-        /**
-         * Fetch the number of bytes in the Stomp Frame Body
-         * @return number of bytes
-         */
-        virtual unsigned long getNumBytes(void) const{
-            return getFrame().getBodyLength();
-        }
-
-        /**
-         * Returns a char array of bytes that are contained in the message
-         * @param pointer to array of bytes.
-         */
-        virtual const char* getBytes(void) const{
-            return getFrame().getBody();
-        }
-    
-        /**
-         * Set the bytes that are to be sent in the body of this message
-         * the content length flag indicates if the Content Length header
-         * should be set.
-         * @param bytes to store
-         * @param number of bytes to pull from the bytes buffer
-         * @param true if the content length header should be set
-         */
-        virtual void setBytes( const char* bytes, 
-                               const unsigned long numBytes,
-                               const bool setContentLength = true )
-        {
-            char* copy = new char[numBytes];
-            memcpy( copy, bytes, numBytes );
-            getFrame().setBody( copy, numBytes );
-            if( setContentLength )
-            {
-                setPropertyValue( 
-                    CommandConstants::toString( 
-                        CommandConstants::HEADER_CONTENTLENGTH),
-                    util::Long::toString( numBytes ) );
-            }
-        }
-    };
-    
-}}}}
-
-#endif /*ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABSTRACTCOMMAND_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_COMMANDS_ABSTRACTCOMMAND_H_
+#define ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABSTRACTCOMMAND_H_
+
+#include <activemq/connector/stomp/StompFrame.h>
+#include <activemq/connector/stomp/commands/StompCommand.h>
+#include <activemq/exceptions/NullPointerException.h>
+#include <activemq/util/Integer.h>
+#include <activemq/util/Long.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+namespace commands{
+    
+    /**
+     * Interface for all Stomp commands.  Commands wrap
+     * around a stomp frame and provide their own marshalling
+     * to and from frames.  Stomp frame objects are dumb and have
+     * a generic interface that becomes cumbersome to use directly.
+     * Commands help to abstract the stomp frame by providing a
+     * more user-friendly interface to the frame content.  
+     */
+    
+    template<typename T>
+    class AbstractCommand
+    : 
+        public StompCommand,
+        public T
+    {
+    protected:
+    
+        // Frame that contains the actual message
+        StompFrame* frame;
+
+    protected:
+    
+        StompFrame& getFrame(void) {
+            if( frame == NULL ){
+                throw exceptions::NullPointerException(
+                    __FILE__, __LINE__,
+                    "AbstractCommand::getFrame - Frame not initialized");
+            }
+
+            return *frame;
+        }
+        
+        const StompFrame& getFrame(void) const {
+            if( frame == NULL ){
+                throw exceptions::NullPointerException(
+                    __FILE__, __LINE__,
+                    "AbstractCommand::getFrame - Frame not initialized");
+            }
+
+            return *frame;
+        }
+        
+        void destroyFrame(void)
+        {
+            if( frame != NULL ){
+                delete frame;
+                frame = NULL;
+            }
+        }
+    
+        const char* getPropertyValue( const std::string& name ) const{
+            return getFrame().getProperties().getProperty( name );
+        }
+
+        const std::string getPropertyValue( 
+            const std::string& name, 
+            const std::string& defReturn ) const {
+            return getFrame().getProperties().getProperty( 
+                name, defReturn );
+        }
+        
+        void setPropertyValue( const std::string& name, const std::string& value ){
+            getFrame().getProperties().setProperty( name, value );
+        }
+        
+        /**
+         * Inheritors are required to override this method to init the
+         * frame with data appropriate for the command type.
+         * @param Frame to init
+         */
+        virtual void initialize( StompFrame& frame ) = 0;
+
+        /**
+         * Inheritors are required to override this method to validate 
+         * the passed stomp frame before it is marshalled or unmarshaled
+         * @param Frame to validate
+         * @returns true if frame is valid
+         */
+        virtual bool validate( const StompFrame& frame ) const = 0;
+        
+    public:
+    
+        AbstractCommand(void){ 
+            frame = new StompFrame;
+        }
+        AbstractCommand(StompFrame* frame){ 
+            this->frame = frame;
+        }
+        virtual ~AbstractCommand(void){
+            destroyFrame();
+        }
+        
+        /**
+         * Sets the Command Id of this Message
+         * @param Command Id
+         */
+        virtual void setCommandId( const unsigned int id ){
+            setPropertyValue(
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_REQUESTID),
+                 util::Integer::toString( id ) );
+        }
+
+        /**
+         * Gets the Command Id of this Message
+         * @return Command Id
+         */
+        virtual unsigned int getCommandId(void) const {
+            return util::Integer::parseInt(
+                getPropertyValue(
+                    CommandConstants::toString( 
+                        CommandConstants::HEADER_REQUESTID ),
+                    "0" ) );
+        }
+        
+        /**
+         * Set if this Message requires a Response
+         * @param true if response is required
+         */
+        virtual void setResponseRequired( const bool required ) {
+        }
+        
+        /**
+         * Is a Response required for this Command
+         * @return true if a response is required.
+         */
+        virtual bool isResponseRequired(void) const {
+            return frame->getProperties().hasProperty( 
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_REQUESTID) );
+        }
+        
+        /**
+         * Gets the Correlation Id that is associated with this message
+         * @return the Correlation Id
+         */
+        virtual unsigned int getCorrelationId(void) const {
+            return util::Integer::parseInt(
+                getPropertyValue(
+                    CommandConstants::toString( 
+                        CommandConstants::HEADER_RESPONSEID ),
+                     "0" ) );
+        }
+
+        /**
+         * Sets the Correlation Id if this Command
+         * @param Id
+         */
+        virtual void setCorrelationId( const unsigned int corrId ) {
+            setPropertyValue(
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_RESPONSEID),
+                 util::Integer::toString( corrId ) );
+        }
+        
+        /**
+         * Get the Transaction Id of this Command
+         * @return the Id of the Transaction
+         */      
+        virtual const char* getTransactionId(void) const{
+            return getPropertyValue( 
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_TRANSACTIONID) );
+        }
+      
+        /**
+         * Set the Transaction Id of this Command
+         * @param the Id of the Transaction
+         */
+        virtual void setTransactionId( const std::string& id ){
+            setPropertyValue( 
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_TRANSACTIONID),
+                id );
+        }  
+
+        /**
+         * Retrieve the Stomp Command Id for this message.
+         * @return Stomp CommandId enum
+         */
+        virtual CommandConstants::CommandId getStompCommandId(void) const {
+            return CommandConstants::toCommandId(
+                getFrame().getCommand() );
+        }
+        
+        /**
+         * Marshals the command to a stomp frame.
+         * @returns the stomp frame representation of this
+         * command.
+         * @throws MarshalException if the command is not
+         * in a state that can be marshaled.
+         */
+        virtual const StompFrame& marshal(void) const 
+            throw (marshal::MarshalException)
+        {
+            if( frame == NULL || !validate( *frame ) ){
+                throw marshal::MarshalException( 
+                    __FILE__, __LINE__,
+                    "AbstractCommand::marshal() - frame invalid" );
+            }
+            
+            return getFrame();
+        }
+
+    protected:
+
+        /**
+         * Fetch the number of bytes in the Stomp Frame Body
+         * @return number of bytes
+         */
+        virtual unsigned long getNumBytes(void) const{
+            return getFrame().getBodyLength();
+        }
+
+        /**
+         * Returns a char array of bytes that are contained in the message
+         * @param pointer to array of bytes.
+         */
+        virtual const char* getBytes(void) const{
+            return getFrame().getBody();
+        }
+    
+        /**
+         * Set the bytes that are to be sent in the body of this message
+         * the content length flag indicates if the Content Length header
+         * should be set.
+         * @param bytes to store
+         * @param number of bytes to pull from the bytes buffer
+         * @param true if the content length header should be set
+         */
+        virtual void setBytes( const char* bytes, 
+                               const unsigned long numBytes,
+                               const bool setContentLength = true )
+        {
+            char* copy = new char[numBytes];
+            memcpy( copy, bytes, numBytes );
+            getFrame().setBody( copy, numBytes );
+            if( setContentLength )
+            {
+                setPropertyValue( 
+                    CommandConstants::toString( 
+                        CommandConstants::HEADER_CONTENTLENGTH),
+                    util::Long::toString( numBytes ) );
+            }
+        }
+    };
+    
+}}}}
+
+#endif /*ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_ABSTRACTCOMMAND_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AbstractCommand.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AckCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AckCommand.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AckCommand.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AckCommand.h Wed Jul  5 15:27:34 2006
@@ -1,113 +1,113 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_CONNCETOR_STOMP_COMMANDS_ACKCOMMAND_H_
-#define _ACTIVEMQ_CONNCETOR_STOMP_COMMANDS_ACKCOMMAND_H_
-
-#include <activemq/connector/stomp/commands/AbstractCommand.h>
-#include <activemq/connector/stomp/commands/CommandConstants.h>
-#include <activemq/transport/Command.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-namespace commands{
-
-    /**
-     * Stomp Command that Represents Acknowledgement of a message
-     * receive.  The Ack Command has one required attribute, message
-     * Id.  For each message sent to the client from the broker, the
-     * message will not be considered consumed until an Ack is sent.  
-     * Optionally a Transaction Id can be set that indicates that the
-     * message acknowledgement should be part of a named transaction.
-     */
-    class AckCommand : public AbstractCommand< transport::Command >
-    {
-    public:
-
-        AckCommand(void) :
-            AbstractCommand<transport::Command>() {
-                initialize( getFrame() );
-        }
-        AckCommand( StompFrame* frame ) : 
-            AbstractCommand<transport::Command>(frame) {
-                validate( getFrame() );
-        }
-        virtual ~AckCommand(void) {}
-      
-        /**
-         * Get the Message Id of this Command
-         * @return the Id of the Message
-         */      
-        virtual const char* getMessageId(void) const{
-            return getPropertyValue( 
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_MESSAGEID) );
-        }
-      
-        /**
-         * Set the Message Id that this Ack is associated with
-         * @param the Message Id
-         */
-        virtual void setMessageId(const std::string& messageId){
-            setPropertyValue( 
-                CommandConstants::toString( 
-                    CommandConstants::HEADER_MESSAGEID),
-                messageId );
-        }
-
-    protected:
-    
-        /**
-         * Inheritors are required to override this method to init the
-         * frame with data appropriate for the command type.
-         * @param Frame to init
-         */
-        virtual void initialize( StompFrame& frame )
-        {
-            frame.setCommand( CommandConstants::toString(
-                CommandConstants::ACK ) );
-        }
-
-        /**
-         * Inheritors are required to override this method to validate 
-         * the passed stomp frame before it is marshalled or unmarshaled
-         * @param Frame to validate
-         * @returns true if frame is valid
-         */
-        virtual bool validate( const StompFrame& frame ) const
-        {
-            if((frame.getCommand() == 
-                CommandConstants::toString( CommandConstants::ACK )) &&
-               (frame.getProperties().hasProperty(
-                   CommandConstants::toString( 
-                       CommandConstants::HEADER_TRANSACTIONID ) ) &&
-               (frame.getProperties().hasProperty(
-                   CommandConstants::toString( 
-                       CommandConstants::HEADER_MESSAGEID ) ) ) ) );
-            {
-                return true;
-            }
-
-            return false;
-        }
-
-    };
-
-}}}}
-
-#endif /*_ACTIVEMQ_CONNCETOR_STOMP_COMMANDS_ACKCOMMAND_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_CONNCETOR_STOMP_COMMANDS_ACKCOMMAND_H_
+#define _ACTIVEMQ_CONNCETOR_STOMP_COMMANDS_ACKCOMMAND_H_
+
+#include <activemq/connector/stomp/commands/AbstractCommand.h>
+#include <activemq/connector/stomp/commands/CommandConstants.h>
+#include <activemq/transport/Command.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+namespace commands{
+
+    /**
+     * Stomp Command that Represents Acknowledgement of a message
+     * receive.  The Ack Command has one required attribute, message
+     * Id.  For each message sent to the client from the broker, the
+     * message will not be considered consumed until an Ack is sent.  
+     * Optionally a Transaction Id can be set that indicates that the
+     * message acknowledgement should be part of a named transaction.
+     */
+    class AckCommand : public AbstractCommand< transport::Command >
+    {
+    public:
+
+        AckCommand(void) :
+            AbstractCommand<transport::Command>() {
+                initialize( getFrame() );
+        }
+        AckCommand( StompFrame* frame ) : 
+            AbstractCommand<transport::Command>(frame) {
+                validate( getFrame() );
+        }
+        virtual ~AckCommand(void) {}
+      
+        /**
+         * Get the Message Id of this Command
+         * @return the Id of the Message
+         */      
+        virtual const char* getMessageId(void) const{
+            return getPropertyValue( 
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_MESSAGEID) );
+        }
+      
+        /**
+         * Set the Message Id that this Ack is associated with
+         * @param the Message Id
+         */
+        virtual void setMessageId(const std::string& messageId){
+            setPropertyValue( 
+                CommandConstants::toString( 
+                    CommandConstants::HEADER_MESSAGEID),
+                messageId );
+        }
+
+    protected:
+    
+        /**
+         * Inheritors are required to override this method to init the
+         * frame with data appropriate for the command type.
+         * @param Frame to init
+         */
+        virtual void initialize( StompFrame& frame )
+        {
+            frame.setCommand( CommandConstants::toString(
+                CommandConstants::ACK ) );
+        }
+
+        /**
+         * Inheritors are required to override this method to validate 
+         * the passed stomp frame before it is marshalled or unmarshaled
+         * @param Frame to validate
+         * @returns true if frame is valid
+         */
+        virtual bool validate( const StompFrame& frame ) const
+        {
+            if((frame.getCommand() == 
+                CommandConstants::toString( CommandConstants::ACK )) &&
+               (frame.getProperties().hasProperty(
+                   CommandConstants::toString( 
+                       CommandConstants::HEADER_TRANSACTIONID ) ) &&
+               (frame.getProperties().hasProperty(
+                   CommandConstants::toString( 
+                       CommandConstants::HEADER_MESSAGEID ) ) ) ) );
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+    };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNCETOR_STOMP_COMMANDS_ACKCOMMAND_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/AckCommand.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BeginCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BeginCommand.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BeginCommand.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BeginCommand.h Wed Jul  5 15:27:34 2006
@@ -1,90 +1,90 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_COMMANDS_BEGINCOMMAND_H_
-#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BEGINCOMMAND_H_
-
-#include <activemq/connector/stomp/commands/AbstractCommand.h>
-#include <activemq/connector/stomp/commands/CommandConstants.h>
-#include <activemq/transport/Command.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-namespace commands{
-    
-    /**
-     * Begins a Transaction.  Transactions in this case apply to
-     * sending and acknowledging -- any messages sent or acknowledged
-     * during a transaction will be handled atomically based on the
-     * transaction.
-     * 
-     * A transaction Identifier is required and this id will be used
-     * for all sends, commits, aborts, or acks.
-     */
-    class BeginCommand : public AbstractCommand< transport::Command >
-    {
-    public:
-   
-        BeginCommand(void) :
-            AbstractCommand<transport::Command>() {
-                initialize( getFrame() );
-        }
-        BeginCommand( StompFrame* frame ) : 
-            AbstractCommand<transport::Command>(frame) {
-                validate( getFrame() );
-        }
-        virtual ~BeginCommand(void) {}
-
-    protected:
-    
-        /**
-         * Inheritors are required to override this method to init the
-         * frame with data appropriate for the command type.
-         * @param Frame to init
-         */
-        virtual void initialize( StompFrame& frame )
-        {
-            frame.setCommand( CommandConstants::toString(
-                CommandConstants::BEGIN ) );
-        }
-
-        /**
-         * Inheritors are required to override this method to validate 
-         * the passed stomp frame before it is marshalled or unmarshaled
-         * @param Frame to validate
-         * @returns true if frame is valid
-         */
-        virtual bool validate( const StompFrame& frame ) const
-        {
-            if((frame.getCommand() == 
-                CommandConstants::toString( CommandConstants::BEGIN )) &&
-               (frame.getProperties().hasProperty(
-                    CommandConstants::toString( 
-                        CommandConstants::HEADER_TRANSACTIONID ) ) ) )
-            {
-                return true;
-            }
-
-            return false;
-        }
-
-    };
-
-}}}}
-
-#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BEGINCOMMAND_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_COMMANDS_BEGINCOMMAND_H_
+#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BEGINCOMMAND_H_
+
+#include <activemq/connector/stomp/commands/AbstractCommand.h>
+#include <activemq/connector/stomp/commands/CommandConstants.h>
+#include <activemq/transport/Command.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+namespace commands{
+    
+    /**
+     * Begins a Transaction.  Transactions in this case apply to
+     * sending and acknowledging -- any messages sent or acknowledged
+     * during a transaction will be handled atomically based on the
+     * transaction.
+     * 
+     * A transaction Identifier is required and this id will be used
+     * for all sends, commits, aborts, or acks.
+     */
+    class BeginCommand : public AbstractCommand< transport::Command >
+    {
+    public:
+   
+        BeginCommand(void) :
+            AbstractCommand<transport::Command>() {
+                initialize( getFrame() );
+        }
+        BeginCommand( StompFrame* frame ) : 
+            AbstractCommand<transport::Command>(frame) {
+                validate( getFrame() );
+        }
+        virtual ~BeginCommand(void) {}
+
+    protected:
+    
+        /**
+         * Inheritors are required to override this method to init the
+         * frame with data appropriate for the command type.
+         * @param Frame to init
+         */
+        virtual void initialize( StompFrame& frame )
+        {
+            frame.setCommand( CommandConstants::toString(
+                CommandConstants::BEGIN ) );
+        }
+
+        /**
+         * Inheritors are required to override this method to validate 
+         * the passed stomp frame before it is marshalled or unmarshaled
+         * @param Frame to validate
+         * @returns true if frame is valid
+         */
+        virtual bool validate( const StompFrame& frame ) const
+        {
+            if((frame.getCommand() == 
+                CommandConstants::toString( CommandConstants::BEGIN )) &&
+               (frame.getProperties().hasProperty(
+                    CommandConstants::toString( 
+                        CommandConstants::HEADER_TRANSACTIONID ) ) ) )
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+    };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BEGINCOMMAND_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BeginCommand.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BytesMessageCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BytesMessageCommand.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BytesMessageCommand.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BytesMessageCommand.h Wed Jul  5 15:27:34 2006
@@ -1,96 +1,96 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_COMMANDS_BYTESMESSAGECOMMAND_H_
-#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BYTESMESSAGECOMMAND_H_
-
-#include <cms/BytesMessage.h>
-#include <activemq/connector/stomp/commands/StompMessage.h>
-#include <activemq/connector/stomp/commands/CommandConstants.h>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-namespace commands{
-
-    /**
-     * Implements the interface for a cms::BytesMessage.  Uses the template
-     * class StompMessage to implement all cms::Message type functionality
-     * and implements the BytesMessage interface here.
-     */    
-    class BytesMessageCommand : public StompMessage< cms::BytesMessage >
-    {
-    public:
-
-        BytesMessageCommand(void) :
-            StompMessage< cms::BytesMessage >() {
-                initialize( getFrame() );
-        }
-        BytesMessageCommand( StompFrame* frame ) : 
-            StompMessage< cms::BytesMessage >(frame) {
-                validate( getFrame() );
-        }
-    	virtual ~BytesMessageCommand(void) {}
-
-        /**
-         * Clonse this message exactly, returns a new instance that the
-         * caller is required to delete.
-         * @return new copy of this message
-         */
-        virtual cms::Message* clone(void) const {
-            StompFrame* frame = getFrame().clone();
-            
-            return new BytesMessageCommand( frame );
-        }   
-
-        /**
-         * sets the bytes given to the message body.  
-         * @param Byte Buffer to copy
-         * @param Number of bytes in Buffer to copy
-         * @throws CMSException
-         */
-        virtual void setBodyBytes( const unsigned char* buffer, 
-                                   const unsigned long numBytes ) 
-            throw( cms::CMSException ) {
-            this->setBytes(
-                reinterpret_cast<const char*>( buffer ), numBytes );
-        }
-        
-        /**
-         * Gets the bytes that are contained in this message, user should
-         * copy this data into a user allocated buffer.  Call 
-         * <code>getBodyLength</code> to determine the number of bytes
-         * to expect.
-         * @return const pointer to a byte buffer
-         */
-        virtual const unsigned char* getBodyBytes(void) const {
-            return reinterpret_cast<const unsigned char*>( this->getBytes() );
-        }
-      
-        /**
-         * Returns the number of bytes contained in the body of this message.
-         * @return number of bytes.
-         */
-        virtual unsigned long getBodyLength(void) const {
-            return this->getNumBytes();
-        }
-
-    };
-
-}}}}
-
-#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BYTESMESSAGECOMMAND_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_COMMANDS_BYTESMESSAGECOMMAND_H_
+#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BYTESMESSAGECOMMAND_H_
+
+#include <cms/BytesMessage.h>
+#include <activemq/connector/stomp/commands/StompMessage.h>
+#include <activemq/connector/stomp/commands/CommandConstants.h>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+namespace commands{
+
+    /**
+     * Implements the interface for a cms::BytesMessage.  Uses the template
+     * class StompMessage to implement all cms::Message type functionality
+     * and implements the BytesMessage interface here.
+     */    
+    class BytesMessageCommand : public StompMessage< cms::BytesMessage >
+    {
+    public:
+
+        BytesMessageCommand(void) :
+            StompMessage< cms::BytesMessage >() {
+                initialize( getFrame() );
+        }
+        BytesMessageCommand( StompFrame* frame ) : 
+            StompMessage< cms::BytesMessage >(frame) {
+                validate( getFrame() );
+        }
+    	virtual ~BytesMessageCommand(void) {}
+
+        /**
+         * Clonse this message exactly, returns a new instance that the
+         * caller is required to delete.
+         * @return new copy of this message
+         */
+        virtual cms::Message* clone(void) const {
+            StompFrame* frame = getFrame().clone();
+            
+            return new BytesMessageCommand( frame );
+        }   
+
+        /**
+         * sets the bytes given to the message body.  
+         * @param Byte Buffer to copy
+         * @param Number of bytes in Buffer to copy
+         * @throws CMSException
+         */
+        virtual void setBodyBytes( const unsigned char* buffer, 
+                                   const unsigned long numBytes ) 
+            throw( cms::CMSException ) {
+            this->setBytes(
+                reinterpret_cast<const char*>( buffer ), numBytes );
+        }
+        
+        /**
+         * Gets the bytes that are contained in this message, user should
+         * copy this data into a user allocated buffer.  Call 
+         * <code>getBodyLength</code> to determine the number of bytes
+         * to expect.
+         * @return const pointer to a byte buffer
+         */
+        virtual const unsigned char* getBodyBytes(void) const {
+            return reinterpret_cast<const unsigned char*>( this->getBytes() );
+        }
+      
+        /**
+         * Returns the number of bytes contained in the body of this message.
+         * @return number of bytes.
+         */
+        virtual unsigned long getBodyLength(void) const {
+            return this->getNumBytes();
+        }
+
+    };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_BYTESMESSAGECOMMAND_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/BytesMessageCommand.h
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommandConstants.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommandConstants.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommitCommand.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommitCommand.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommitCommand.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommitCommand.h Wed Jul  5 15:27:34 2006
@@ -1,85 +1,85 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed 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_STOMP_COMMANDS_COMMITCOMMAND_H_
-#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_COMMITCOMMAND_H_
-
-#include <activemq/connector/stomp/commands/AbstractCommand.h>
-#include <activemq/connector/stomp/commands/CommandConstants.h>
-#include <activemq/transport/Command.h>
-#include <string>
-
-namespace activemq{
-namespace connector{
-namespace stomp{
-namespace commands{
-    
-    /**
-     * Commits a Transaction.
-     */
-    class CommitCommand  : public AbstractCommand< transport::Command >
-    {
-    public:
-   
-        CommitCommand(void) :
-            AbstractCommand<transport::Command>() {
-                initialize( getFrame() );
-        }
-        CommitCommand( StompFrame* frame ) : 
-            AbstractCommand<transport::Command>(frame) {
-                validate( getFrame() );
-        }
-        virtual ~CommitCommand(void) {}
-
-    protected:
-    
-        /**
-         * Inheritors are required to override this method to init the
-         * frame with data appropriate for the command type.
-         * @param Frame to init
-         */
-        virtual void initialize( StompFrame& frame )
-        {
-            frame.setCommand( CommandConstants::toString(
-                CommandConstants::COMMIT ) );
-        }
-
-        /**
-         * Inheritors are required to override this method to validate 
-         * the passed stomp frame before it is marshalled or unmarshaled
-         * @param Frame to validate
-         * @returns true if frame is valid
-         */
-        virtual bool validate( const StompFrame& frame ) const
-        {
-            if((frame.getCommand() == 
-                CommandConstants::toString( CommandConstants::COMMIT )) &&
-               (frame.getProperties().hasProperty(
-                    CommandConstants::toString( 
-                        CommandConstants::HEADER_TRANSACTIONID ) ) ) )
-            {
-                return true;
-            }
-
-            return false;
-        }
-
-    };
-
-}}}}
-
-#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_COMMITCOMMAND_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed 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_STOMP_COMMANDS_COMMITCOMMAND_H_
+#define _ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_COMMITCOMMAND_H_
+
+#include <activemq/connector/stomp/commands/AbstractCommand.h>
+#include <activemq/connector/stomp/commands/CommandConstants.h>
+#include <activemq/transport/Command.h>
+#include <string>
+
+namespace activemq{
+namespace connector{
+namespace stomp{
+namespace commands{
+    
+    /**
+     * Commits a Transaction.
+     */
+    class CommitCommand  : public AbstractCommand< transport::Command >
+    {
+    public:
+   
+        CommitCommand(void) :
+            AbstractCommand<transport::Command>() {
+                initialize( getFrame() );
+        }
+        CommitCommand( StompFrame* frame ) : 
+            AbstractCommand<transport::Command>(frame) {
+                validate( getFrame() );
+        }
+        virtual ~CommitCommand(void) {}
+
+    protected:
+    
+        /**
+         * Inheritors are required to override this method to init the
+         * frame with data appropriate for the command type.
+         * @param Frame to init
+         */
+        virtual void initialize( StompFrame& frame )
+        {
+            frame.setCommand( CommandConstants::toString(
+                CommandConstants::COMMIT ) );
+        }
+
+        /**
+         * Inheritors are required to override this method to validate 
+         * the passed stomp frame before it is marshalled or unmarshaled
+         * @param Frame to validate
+         * @returns true if frame is valid
+         */
+        virtual bool validate( const StompFrame& frame ) const
+        {
+            if((frame.getCommand() == 
+                CommandConstants::toString( CommandConstants::COMMIT )) &&
+               (frame.getProperties().hasProperty(
+                    CommandConstants::toString( 
+                        CommandConstants::HEADER_TRANSACTIONID ) ) ) )
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+    };
+
+}}}}
+
+#endif /*_ACTIVEMQ_CONNECTOR_STOMP_COMMANDS_COMMITCOMMAND_H_*/

Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/connector/stomp/commands/CommitCommand.h
------------------------------------------------------------------------------
    svn:eol-style = native