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 2009/07/30 21:06:44 UTC

svn commit: r799407 [4/29] - in /activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp: ./ Commands/ OpenWire/ OpenWire/V1/ OpenWire/V2/ OpenWire/V3/ OpenWire/V4/ OpenWire/V5/ State/ Transport/

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerAck.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerAck.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerAck.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerAck.cs Thu Jul 30 19:06:34 2009
@@ -1,79 +1,105 @@
-/*
- * 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.
- */
-
-using System;
-using Apache.NMS.ActiveMQ.State;
-
-namespace Apache.NMS.ActiveMQ.Commands
-{
-	/// <summary>
-	/// A ProducerAck command is sent by a broker to a producer to let it know it has
-	/// received and processed messages that it has produced. The producer will be
-	/// flow controlled if it does not receive ProducerAck commands back from the
-	/// broker.
-	/// </summary>
-	public class ProducerAck : BaseCommand
-	{
-		protected ProducerId myProducerId;
-		protected int mySize;
-
-		public ProducerAck()
-		{
-		}
-
-		public ProducerAck(ProducerId producerId, int size)
-		{
-			this.myProducerId = producerId;
-			this.mySize = size;
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return visitor.processProducerAck(this);
-		}
-
-		/// <summary>
-		/// The producer id that this ack message is destined for.
-		/// </summary>
-		public ProducerId ProducerId
-		{
-			get
-			{
-				return myProducerId;
-			}
-			set
-			{
-				myProducerId = value;
-			}
-		}
-
-		/// <summary>
-		/// The number of bytes that are being acked.
-		/// </summary>
-		public int Size
-		{
-			get
-			{
-				return mySize;
-			}
-			set
-			{
-				mySize = value;
-			}
-		}
-	}
-}
+/*
+ * 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.
+ */
+
+using System;
+using System.Collections;
+
+using Apache.NMS.ActiveMQ.State;
+
+namespace Apache.NMS.ActiveMQ.Commands
+{
+    /*
+     *
+     *  Command code for OpenWire format for ProducerAck
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class ProducerAck : BaseCommand
+    {
+        public const byte ID_PRODUCERACK = 19;
+
+        ProducerId producerId;
+        int size;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_PRODUCERACK;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ProducerId=" + ProducerId + 
+                "Size=" + Size + 
+                "]";
+        }
+
+        public ProducerId ProducerId
+        {
+            get { return producerId; }
+            set { this.producerId = value; }
+        }
+
+        public int Size
+        {
+            get { return size; }
+            set { this.size = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isProducerAck() query.
+        /// </summery>
+        ///
+        public override bool IsProducerAck
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processProducerAck( this );
+        }
+
+    };
+}
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerId.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerId.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerId.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerId.cs Thu Jul 30 19:06:34 2009
@@ -14,102 +14,134 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
-
 
+using System;
+using System.Collections;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ ProducerId Command
-	/// </summary>
-	public class ProducerId : BaseDataStructure, DataStructure
-	{
-		public const byte ID_ProducerId = 123;
-
-		string connectionId;
-		long value;
-		long sessionId;
-
-		private SessionId parentId;
-
-		public SessionId ParentId
-		{
-			get
-			{
-				if(parentId == null)
-				{
-					parentId = new SessionId(this);
-				}
-				return parentId;
-			}
-		}
-
-		public override int GetHashCode()
-		{
-			int answer = 0;
-			answer = (answer * 37) + HashCode(ConnectionId);
-			answer = (answer * 37) + HashCode(Value);
-			answer = (answer * 37) + HashCode(SessionId);
-			return answer;
-		}
-
-		public override bool Equals(object that)
-		{
-			if(that is ProducerId)
-			{
-				return Equals((ProducerId) that);
-			}
-			return false;
-		}
-
-		public virtual bool Equals(ProducerId that)
-		{
-			if(!Equals(this.ConnectionId, that.ConnectionId))
-				return false;
-			if(!Equals(this.Value, that.Value))
-				return false;
-			if(!Equals(this.SessionId, that.SessionId))
-				return false;
-			return true;
-		}
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ConnectionId=" + ConnectionId
-				+ " Value=" + Value
-				+ " SessionId=" + SessionId
-				+ " ]";
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_ProducerId;
-		}
-
-		// Properties
-
-		public string ConnectionId
-		{
-			get { return connectionId; }
-			set { this.connectionId = value; }
-		}
-
-		public long Value
-		{
-			get { return value; }
-			set { this.value = value; }
-		}
-
-		public long SessionId
-		{
-			get { return sessionId; }
-			set { this.sessionId = value; }
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for ProducerId
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class ProducerId : BaseDataStructure
+    {
+        public const byte ID_PRODUCERID = 123;
+
+        private SessionId parentId;
+
+        string connectionId;
+        long value;
+        long sessionId;
+
+        public ProducerId()
+        {
+        }
+
+        public ProducerId( SessionId sessionId, long consumerId )
+        {
+            this.connectionId = sessionId.ConnectionId;
+            this.sessionId = sessionId.Value;
+            this.value = consumerId;
+        }
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_PRODUCERID;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ConnectionId=" + ConnectionId + 
+                "Value=" + Value + 
+                "SessionId=" + SessionId + 
+                "]";
+        }
+
+        public SessionId ParentId
+        {
+            get
+            {
+                 if( this.parentId == null ) {
+                     this.parentId = new SessionId( this );
+                 }
+                 return this.parentId;
+            }
+        }
+
+        public string ConnectionId
+        {
+            get { return connectionId; }
+            set { this.connectionId = value; }
+        }
+
+        public long Value
+        {
+            get { return value; }
+            set { this.value = value; }
+        }
+
+        public long SessionId
+        {
+            get { return sessionId; }
+            set { this.sessionId = value; }
+        }
+
+        public override int GetHashCode()
+        {
+            int answer = 0;
+
+            answer = (answer * 37) + HashCode(ConnectionId);
+            answer = (answer * 37) + HashCode(Value);
+            answer = (answer * 37) + HashCode(SessionId);
+
+            return answer;
+        }
+
+        public override bool Equals(object that)
+        {
+            if(that is ProducerId)
+            {
+                return Equals((ProducerId) that);
+            }
+            return false;
+        }
+
+        public virtual bool Equals(ProducerId that)
+        {
+            if(!Equals(this.ConnectionId, that.ConnectionId))
+            {
+                return false;
+            }
+            if(!Equals(this.Value, that.Value))
+            {
+                return false;
+            }
+            if(!Equals(this.SessionId, that.SessionId))
+            {
+                return false;
+            }
+
+            return true;
+        }
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ProducerInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,75 +14,116 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ ProducerInfo Command
-	/// </summary>
-	public class ProducerInfo : BaseCommand
-	{
-		public const byte ID_ProducerInfo = 6;
-
-		ProducerId producerId;
-		ActiveMQDestination destination;
-		BrokerId[] brokerPath;
-		bool dispatchAsync;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ProducerId=" + ProducerId
-				+ " Destination=" + Destination
-				+ " BrokerPath=" + BrokerPath
-				+ " DispatchAsync=" + DispatchAsync
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_ProducerInfo;
-		}
-
-
-		// Properties
-
-		public ProducerId ProducerId
-		{
-			get { return producerId; }
-			set { this.producerId = value; }
-		}
-
-		public ActiveMQDestination Destination
-		{
-			get { return destination; }
-			set { this.destination = value; }
-		}
-
-		public BrokerId[] BrokerPath
-		{
-			get { return brokerPath; }
-			set { this.brokerPath = value; }
-		}
-
-		public bool DispatchAsync
-		{
-			get { return dispatchAsync; }
-			set { this.dispatchAsync = value; }
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return visitor.processAddProducer(this);
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for ProducerInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class ProducerInfo : BaseCommand
+    {
+        public const byte ID_PRODUCERINFO = 6;
+
+        ProducerId producerId;
+        ActiveMQDestination destination;
+        BrokerId[] brokerPath;
+        bool dispatchAsync;
+        int windowSize;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_PRODUCERINFO;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ProducerId=" + ProducerId + 
+                "Destination=" + Destination + 
+                "BrokerPath=" + BrokerPath + 
+                "DispatchAsync=" + DispatchAsync + 
+                "WindowSize=" + WindowSize + 
+                "]";
+        }
+
+        public ProducerId ProducerId
+        {
+            get { return producerId; }
+            set { this.producerId = value; }
+        }
+
+        public ActiveMQDestination Destination
+        {
+            get { return destination; }
+            set { this.destination = value; }
+        }
+
+        public BrokerId[] BrokerPath
+        {
+            get { return brokerPath; }
+            set { this.brokerPath = value; }
+        }
+
+        public bool DispatchAsync
+        {
+            get { return dispatchAsync; }
+            set { this.dispatchAsync = value; }
+        }
+
+        public int WindowSize
+        {
+            get { return windowSize; }
+            set { this.windowSize = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isProducerInfo() query.
+        /// </summery>
+        ///
+        public override bool IsProducerInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processAddProducer( this );
+        }
+
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,63 +14,104 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ RemoveInfo Command
-	/// </summary>
-	public class RemoveInfo : BaseCommand
-	{
-		public const byte ID_RemoveInfo = 12;
-
-		DataStructure objectId;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ObjectId=" + ObjectId
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_RemoveInfo;
-		}
-
-
-		// Properties
-
-		public DataStructure ObjectId
-		{
-			get { return objectId; }
-			set { this.objectId = value; }
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			switch(objectId.GetDataStructureType())
-			{
-				case ConnectionId.ID_ConnectionId:
-					return visitor.processRemoveConnection((ConnectionId) objectId);
-				case SessionId.ID_SessionId:
-					return visitor.processRemoveSession((SessionId) objectId);
-				case ConsumerId.ID_ConsumerId:
-					return visitor.processRemoveConsumer((ConsumerId) objectId);
-				case ProducerId.ID_ProducerId:
-					return visitor.processRemoveProducer((ProducerId) objectId);
-				default:
-					throw new IOException("Unknown remove command type: " + objectId.GetDataStructureType());
-			}
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for RemoveInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class RemoveInfo : BaseCommand
+    {
+        public const byte ID_REMOVEINFO = 12;
+
+        DataStructure objectId;
+        long lastDeliveredSequenceId;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_REMOVEINFO;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ObjectId=" + ObjectId + 
+                "LastDeliveredSequenceId=" + LastDeliveredSequenceId + 
+                "]";
+        }
+
+        public DataStructure ObjectId
+        {
+            get { return objectId; }
+            set { this.objectId = value; }
+        }
+
+        public long LastDeliveredSequenceId
+        {
+            get { return lastDeliveredSequenceId; }
+            set { this.lastDeliveredSequenceId = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isRemoveInfo() query.
+        /// </summery>
+        ///
+        public override bool IsRemoveInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            switch(objectId.GetDataStructureType())
+            {
+                case ConnectionId.ID_CONNECTIONID:
+                    return visitor.processRemoveConnection((ConnectionId) objectId);
+                case SessionId.ID_SESSIONID:
+                    return visitor.processRemoveSession((SessionId) objectId);
+                case ConsumerId.ID_CONSUMERID:
+                    return visitor.processRemoveConsumer((ConsumerId) objectId);
+                case ProducerId.ID_PRODUCERID:
+                    return visitor.processRemoveProducer((ProducerId) objectId);
+                default:
+                    throw new IOException("Unknown remove command type: " + objectId.GetDataStructureType());
+            }
+        }
+
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveSubscriptionInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveSubscriptionInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveSubscriptionInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/RemoveSubscriptionInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,67 +14,100 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ RemoveSubscriptionInfo Command
-	/// </summary>
-	public class RemoveSubscriptionInfo : BaseCommand
-	{
-		public const byte ID_RemoveSubscriptionInfo = 9;
-
-		ConnectionId connectionId;
-		string subcriptionName;
-		string clientId;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ConnectionId=" + ConnectionId
-				+ " SubcriptionName=" + SubcriptionName
-				+ " ClientId=" + ClientId
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_RemoveSubscriptionInfo;
-		}
-
-
-		// Properties
-
-		public ConnectionId ConnectionId
-		{
-			get { return connectionId; }
-			set { this.connectionId = value; }
-		}
-
-		public string SubcriptionName
-		{
-			get { return subcriptionName; }
-			set { this.subcriptionName = value; }
-		}
-
-		public string ClientId
-		{
-			get { return clientId; }
-			set { this.clientId = value; }
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return visitor.processRemoveSubscription(this);
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for RemoveSubscriptionInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class RemoveSubscriptionInfo : BaseCommand
+    {
+        public const byte ID_REMOVESUBSCRIPTIONINFO = 9;
+
+        ConnectionId connectionId;
+        string subcriptionName;
+        string clientId;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_REMOVESUBSCRIPTIONINFO;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ConnectionId=" + ConnectionId + 
+                "SubcriptionName=" + SubcriptionName + 
+                "ClientId=" + ClientId + 
+                "]";
+        }
+
+        public ConnectionId ConnectionId
+        {
+            get { return connectionId; }
+            set { this.connectionId = value; }
+        }
+
+        public string SubcriptionName
+        {
+            get { return subcriptionName; }
+            set { this.subcriptionName = value; }
+        }
+
+        public string ClientId
+        {
+            get { return clientId; }
+            set { this.clientId = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isRemoveSubscriptionInfo() query.
+        /// </summery>
+        ///
+        public override bool IsRemoveSubscriptionInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processRemoveSubscriptionInfo( this );
+        }
+
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ReplayCommand.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ReplayCommand.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ReplayCommand.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ReplayCommand.cs Thu Jul 30 19:06:34 2009
@@ -14,60 +14,92 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ ReplayCommand Command
-	/// </summary>
-	public class ReplayCommand : BaseCommand
-	{
-		public const byte ID_ReplayCommand = 65;
-
-		int firstNakNumber;
-		int lastNakNumber;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " FirstNakNumber=" + FirstNakNumber
-				+ " LastNakNumber=" + LastNakNumber
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_ReplayCommand;
-		}
-
-
-		// Properties
-
-		public int FirstNakNumber
-		{
-			get { return firstNakNumber; }
-			set { this.firstNakNumber = value; }
-		}
-
-		public int LastNakNumber
-		{
-			get { return lastNakNumber; }
-			set { this.lastNakNumber = value; }
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return null;
-		}
+    /*
+     *
+     *  Command code for OpenWire format for ReplayCommand
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class ReplayCommand : BaseCommand
+    {
+        public const byte ID_REPLAYCOMMAND = 65;
+
+        int firstNakNumber;
+        int lastNakNumber;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_REPLAYCOMMAND;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "FirstNakNumber=" + FirstNakNumber + 
+                "LastNakNumber=" + LastNakNumber + 
+                "]";
+        }
+
+        public int FirstNakNumber
+        {
+            get { return firstNakNumber; }
+            set { this.firstNakNumber = value; }
+        }
+
+        public int LastNakNumber
+        {
+            get { return lastNakNumber; }
+            set { this.lastNakNumber = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isReplayCommand() query.
+        /// </summery>
+        ///
+        public override bool IsReplayCommand
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processReplayCommand( this );
+        }
 
-	}
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/Response.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/Response.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/Response.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/Response.cs Thu Jul 30 19:06:34 2009
@@ -14,60 +14,84 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ Response Command
-	/// </summary>
-	public class Response : BaseCommand
-	{
-		public const byte ID_Response = 30;
-
-		int correlationId;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " CorrelationId=" + CorrelationId
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_Response;
-		}
-
-
-		// Properties
-
-		public int CorrelationId
-		{
-			get { return correlationId; }
-			set { this.correlationId = value; }
-		}
-
-		public override bool IsResponse
-		{
-			get
-			{
-				return true;
-			}
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return null;
-		}
+    /*
+     *
+     *  Command code for OpenWire format for Response
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class Response : BaseCommand
+    {
+        public const byte ID_RESPONSE = 30;
+
+        int correlationId;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_RESPONSE;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "CorrelationId=" + CorrelationId + 
+                "]";
+        }
+
+        public int CorrelationId
+        {
+            get { return correlationId; }
+            set { this.correlationId = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isResponse() query.
+        /// </summery>
+        ///
+        public override bool IsResponse
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processResponse( this );
+        }
 
-	}
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionId.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionId.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionId.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionId.cs Thu Jul 30 19:06:34 2009
@@ -14,119 +14,132 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
-
 
+using System;
+using System.Collections;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ SessionId Command
-	/// </summary>
-	public class SessionId : BaseDataStructure, DataStructure
-	{
-		public const byte ID_SessionId = 121;
-
-		string connectionId;
-		long value;
-		ConnectionId parentId;
-
-		public override int GetHashCode()
-		{
-			int answer = 0;
-			answer = (answer * 37) + HashCode(ConnectionId);
-			answer = (answer * 37) + HashCode(Value);
-			return answer;
-		}
-
-		public override bool Equals(object that)
-		{
-			if(that is SessionId)
-			{
-				return Equals((SessionId) that);
-			}
-			return false;
-		}
-
-		public virtual bool Equals(SessionId that)
-		{
-			if(!Equals(this.ConnectionId, that.ConnectionId))
-				return false;
-			if(!Equals(this.Value, that.Value))
-				return false;
-			return true;
-		}
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ConnectionId=" + ConnectionId
-				+ " Value=" + Value
-				+ " ]";
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_SessionId;
-		}
-
-		// Properties
-
-		public string ConnectionId
-		{
-			get { return connectionId; }
-			set { this.connectionId = value; }
-		}
-
-		public long Value
-		{
-			get { return value; }
-			set { this.value = value; }
-		}
-
-		public ConnectionId ParentId
-		{
-			get
-			{
-				if(parentId == null)
-				{
-					parentId = new ConnectionId(this);
-				}
-				return parentId;
-			}
-		}
-
-		public SessionId()
-			: base()
-		{
-		}
-
-		public SessionId(ConnectionId connectionId, long sessionId)
-		{
-			this.connectionId = connectionId.Value;
-			this.value = sessionId;
-		}
-
-		public SessionId(SessionId id)
-		{
-			this.connectionId = id.ConnectionId;
-			this.value = id.Value;
-		}
-
-		public SessionId(ProducerId id)
-		{
-			this.connectionId = id.ConnectionId;
-            this.value = id.SessionId;
-		}
-
-		public SessionId(ConsumerId id)
-		{
-			this.connectionId = id.ConnectionId;
-			this.value = id.SessionId;
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for SessionId
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class SessionId : BaseDataStructure
+    {
+        public const byte ID_SESSIONID = 121;
+
+        private ConnectionId parentId;
+
+        string connectionId;
+        long value;
+
+        public SessionId()
+        {
+        }
+
+        public SessionId( ConnectionId connectionId, long sessionId )
+        {
+            this.ConnectionId = connectionId.Value;
+            this.value = sessionId;
+        }
+
+        public SessionId( ProducerId producerId )
+        {
+            this.ConnectionId = producerId.ConnectionId;
+            this.value = producerId.SessionId;
+        }
+
+        public SessionId( ConsumerId consumerId )
+        {
+            this.ConnectionId = consumerId.ConnectionId;
+            this.value = consumerId.SessionId;
+        }
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_SESSIONID;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ConnectionId=" + ConnectionId + 
+                "Value=" + Value + 
+                "]";
+        }
+
+        public ConnectionId ParentId
+        {
+            get
+            {
+                 if( this.parentId == null ) {
+                     this.parentId = new ConnectionId( this );
+                 }
+                 return this.parentId;
+            }
+        }
+
+        public string ConnectionId
+        {
+            get { return connectionId; }
+            set { this.connectionId = value; }
+        }
+
+        public long Value
+        {
+            get { return value; }
+            set { this.value = value; }
+        }
+
+        public override int GetHashCode()
+        {
+            int answer = 0;
+
+            answer = (answer * 37) + HashCode(ConnectionId);
+            answer = (answer * 37) + HashCode(Value);
+
+            return answer;
+        }
+
+        public override bool Equals(object that)
+        {
+            if(that is SessionId)
+            {
+                return Equals((SessionId) that);
+            }
+            return false;
+        }
+
+        public virtual bool Equals(SessionId that)
+        {
+            if(!Equals(this.ConnectionId, that.ConnectionId))
+            {
+                return false;
+            }
+            if(!Equals(this.Value, that.Value))
+            {
+                return false;
+            }
+
+            return true;
+        }
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SessionInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,61 +14,93 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ SessionInfo Command
-	/// </summary>
-	public class SessionInfo : BaseCommand
-	{
-		public const byte ID_SessionInfo = 4;
-
-		SessionId sessionId;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " SessionId=" + SessionId
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_SessionInfo;
-		}
-
-
-		// Properties
-
-		public SessionId SessionId
-		{
-			get { return sessionId; }
-			set { this.sessionId = value; }
-		}
-
-		public SessionInfo(ConnectionInfo connectionInfo, long sessionId)
-		{
-			this.sessionId = new SessionId(connectionInfo.ConnectionId, sessionId);
-		}
-
-		public SessionInfo()
-			: base()
-		{
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return visitor.processAddSession(this);
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for SessionInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class SessionInfo : BaseCommand
+    {
+        public const byte ID_SESSIONINFO = 4;
+
+        SessionId sessionId;
+
+        public SessionInfo()
+        {
+        }
+
+        public SessionInfo(ConnectionInfo connectionInfo, long sessionId)
+        {
+            this.sessionId = new SessionId(connectionInfo.ConnectionId, sessionId);
+        }
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_SESSIONINFO;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "SessionId=" + SessionId + 
+                "]";
+        }
+
+        public SessionId SessionId
+        {
+            get { return sessionId; }
+            set { this.sessionId = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isSessionInfo() query.
+        /// </summery>
+        ///
+        public override bool IsSessionInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processAddSession( this );
+        }
+
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ShutdownInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ShutdownInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ShutdownInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ShutdownInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,52 +14,75 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ ShutdownInfo Command
-	/// </summary>
-	public class ShutdownInfo : BaseCommand
-	{
-		public const byte ID_ShutdownInfo = 11;
-
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_ShutdownInfo;
-		}
-
-
-		// Properties
-
-		public override bool IsShutdownInfo
-		{
-			get
-			{
-				return true;
-			}
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return visitor.processShutdown(this);
-		}
+    /*
+     *
+     *  Command code for OpenWire format for ShutdownInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class ShutdownInfo : BaseCommand
+    {
+        public const byte ID_SHUTDOWNINFO = 11;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_SHUTDOWNINFO;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "]";
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isShutdownInfo() query.
+        /// </summery>
+        ///
+        public override bool IsShutdownInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processShutdownInfo( this );
+        }
 
-	}
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SubscriptionInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SubscriptionInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SubscriptionInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/SubscriptionInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,72 +14,89 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
 using System;
 using System.Collections;
 
-using Apache.NMS.ActiveMQ.OpenWire;
-using Apache.NMS.ActiveMQ.Commands;
-
 namespace Apache.NMS.ActiveMQ.Commands
 {
-    /// <summary>
-    ///  The ActiveMQ SubscriptionInfo Command
-    /// </summary>
-    public class SubscriptionInfo : BaseDataStructure, DataStructure
+    /*
+     *
+     *  Command code for OpenWire format for SubscriptionInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class SubscriptionInfo : BaseDataStructure
     {
-        public const byte ID_SubscriptionInfo = 55;
-    			
+        public const byte ID_SUBSCRIPTIONINFO = 55;
+
         string clientId;
         ActiveMQDestination destination;
         string selector;
         string subcriptionName;
+        ActiveMQDestination subscribedDestination;
 
-		public override string ToString() {
-            return GetType().Name + "["
-                + " ClientId=" + ClientId
-                + " Destination=" + Destination
-                + " Selector=" + Selector
-                + " SubcriptionName=" + SubcriptionName
-                + " ]";
-
-		}
-
-        public override byte GetDataStructureType() {
-            return ID_SubscriptionInfo;
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_SUBSCRIPTIONINFO;
         }
 
-
-        // Properties
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ClientId=" + ClientId + 
+                "Destination=" + Destination + 
+                "Selector=" + Selector + 
+                "SubcriptionName=" + SubcriptionName + 
+                "SubscribedDestination=" + SubscribedDestination + 
+                "]";
+        }
 
         public string ClientId
         {
             get { return clientId; }
-            set { this.clientId = value; }            
+            set { this.clientId = value; }
         }
 
         public ActiveMQDestination Destination
         {
             get { return destination; }
-            set { this.destination = value; }            
+            set { this.destination = value; }
         }
 
         public string Selector
         {
             get { return selector; }
-            set { this.selector = value; }            
+            set { this.selector = value; }
         }
 
         public string SubcriptionName
         {
             get { return subcriptionName; }
-            set { this.subcriptionName = value; }            
+            set { this.subcriptionName = value; }
+        }
+
+        public ActiveMQDestination SubscribedDestination
+        {
+            get { return subscribedDestination; }
+            set { this.subscribedDestination = value; }
         }
 
-    }
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionId.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionId.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionId.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionId.cs Thu Jul 30 19:06:34 2009
@@ -14,58 +14,70 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
 using System;
 using System.Collections;
 
-using Apache.NMS.ActiveMQ.OpenWire;
-using Apache.NMS.ActiveMQ.Commands;
-
 namespace Apache.NMS.ActiveMQ.Commands
 {
-    /// <summary>
-    ///  The ActiveMQ TransactionId Command
-    /// </summary>
-    public class TransactionId : BaseDataStructure, DataStructure
+    /*
+     *
+     *  Command code for OpenWire format for TransactionId
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class TransactionId : BaseDataStructure
     {
-        public const byte ID_TransactionId = 0;
-    			
-
-		public override int GetHashCode() {
-            int answer = 0;
-            return answer;
+        public const byte ID_TRANSACTIONID = 0;
 
-		}
-
-		public override bool Equals(object that) {
-	    	if (that is TransactionId) {
-	    	    return Equals((TransactionId) that);
-			}
-			return false;
-    	}
-
-		public virtual bool Equals(TransactionId that) {
-            return true;
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_TRANSACTIONID;
+        }
 
-		}
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "]";
+        }
 
-		public override string ToString() {
-            return GetType().Name + "["
-                + " ]";
+        public override int GetHashCode()
+        {
+            int answer = 0;
 
-		}
 
-        public override byte GetDataStructureType() {
-            return ID_TransactionId;
+            return answer;
         }
 
+        public override bool Equals(object that)
+        {
+            if(that is TransactionId)
+            {
+                return Equals((TransactionId) that);
+            }
+            return false;
+        }
 
-        // Properties
+        public virtual bool Equals(TransactionId that)
+        {
 
-    }
+            return true;
+        }
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/TransactionInfo.cs Thu Jul 30 19:06:34 2009
@@ -14,94 +14,129 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
+using System;
+using System.Collections;
 
 using Apache.NMS.ActiveMQ.State;
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	/// <summary>
-	///  The ActiveMQ TransactionInfo Command
-	/// </summary>
-	public class TransactionInfo : BaseCommand
-	{
-		public const byte ID_TransactionInfo = 7;
-
-		ConnectionId connectionId;
-		TransactionId transactionId;
-		byte type;
-
-		public const byte BEGIN = 0;
-		public const byte PREPARE = 1;
-		public const byte COMMIT_ONE_PHASE = 2;
-		public const byte COMMIT_TWO_PHASE = 3;
-		public const byte ROLLBACK = 4;
-		public const byte RECOVER = 5;
-		public const byte FORGET = 6;
-		public const byte END = 7;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-				+ " ConnectionId=" + ConnectionId
-				+ " TransactionId=" + TransactionId
-				+ " Type=" + Type
-				+ " ]";
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_TransactionInfo;
-		}
-
-		// Properties
-
-		public ConnectionId ConnectionId
-		{
-			get { return connectionId; }
-			set { this.connectionId = value; }
-		}
-
-		public TransactionId TransactionId
-		{
-			get { return transactionId; }
-			set { this.transactionId = value; }
-		}
-
-		public byte Type
-		{
-			get { return type; }
-			set { this.type = value; }
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			switch(type)
-			{
-				case TransactionInfo.BEGIN:
-					return visitor.processBeginTransaction(this);
-				case TransactionInfo.END:
-					return visitor.processEndTransaction(this);
-				case TransactionInfo.PREPARE:
-					return visitor.processPrepareTransaction(this);
-				case TransactionInfo.COMMIT_ONE_PHASE:
-					return visitor.processCommitTransactionOnePhase(this);
-				case TransactionInfo.COMMIT_TWO_PHASE:
-					return visitor.processCommitTransactionTwoPhase(this);
-				case TransactionInfo.ROLLBACK:
-					return visitor.processRollbackTransaction(this);
-				case TransactionInfo.RECOVER:
-					return visitor.processRecoverTransactions(this);
-				case TransactionInfo.FORGET:
-					return visitor.processForgetTransaction(this);
-				default:
-					throw new IOException("Transaction info type unknown: " + type);
-			}
-		}
-	}
+    /*
+     *
+     *  Command code for OpenWire format for TransactionInfo
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class TransactionInfo : BaseCommand
+    {
+        public const byte ID_TRANSACTIONINFO = 7;
+
+        public const byte BEGIN = 0;
+        public const byte PREPARE = 1;
+        public const byte COMMIT_ONE_PHASE = 2;
+        public const byte COMMIT_TWO_PHASE = 3;
+        public const byte ROLLBACK = 4;
+        public const byte RECOVER = 5;
+        public const byte FORGET = 6;
+        public const byte END = 7;
+
+        ConnectionId connectionId;
+        TransactionId transactionId;
+        byte type;
+
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_TRANSACTIONINFO;
+        }
+
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "ConnectionId=" + ConnectionId + 
+                "TransactionId=" + TransactionId + 
+                "Type=" + Type + 
+                "]";
+        }
+
+        public ConnectionId ConnectionId
+        {
+            get { return connectionId; }
+            set { this.connectionId = value; }
+        }
+
+        public TransactionId TransactionId
+        {
+            get { return transactionId; }
+            set { this.transactionId = value; }
+        }
+
+        public byte Type
+        {
+            get { return type; }
+            set { this.type = value; }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the isTransactionInfo() query.
+        /// </summery>
+        ///
+        public override bool IsTransactionInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Allows a Visitor to visit this command and return a response to the
+        ///  command based on the command type being visited.  The command will call
+        ///  the proper processXXX method in the visitor.
+        /// </summery>
+        ///
+        public override Response visit(ICommandVisitor visitor)
+        {
+            switch(type)
+            {
+                case TransactionInfo.BEGIN:
+                    return visitor.processBeginTransaction(this);
+                case TransactionInfo.END:
+                    return visitor.processEndTransaction(this);
+                case TransactionInfo.PREPARE:
+                    return visitor.processPrepareTransaction(this);
+                case TransactionInfo.COMMIT_ONE_PHASE:
+                    return visitor.processCommitTransactionOnePhase(this);
+                case TransactionInfo.COMMIT_TWO_PHASE:
+                    return visitor.processCommitTransactionTwoPhase(this);
+                case TransactionInfo.ROLLBACK:
+                    return visitor.processRollbackTransaction(this);
+                case TransactionInfo.RECOVER:
+                    return visitor.processRecoverTransactions(this);
+                case TransactionInfo.FORGET:
+                    return visitor.processForgetTransaction(this);
+                default:
+                    throw new IOException("Transaction info type unknown: " + type);
+            }
+        }
+
+    };
 }
+

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/WireFormatInfo.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/WireFormatInfo.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/WireFormatInfo.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/WireFormatInfo.cs Thu Jul 30 19:06:34 2009
@@ -20,181 +20,194 @@
 
 namespace Apache.NMS.ActiveMQ.Commands
 {
-	//
-	//  Marshalling code for Open Wire Format for WireFormatInfo
-	//
-	//
-	public class WireFormatInfo : BaseCommand, Command, MarshallAware
-	{
-		public const byte ID_WireFormatInfo = 1;
-		static private byte[] MAGIC = new byte[] {
-						'A'&0xFF,
-						'c'&0xFF,
-						't'&0xFF,
-						'i'&0xFF,
-						'v'&0xFF,
-						'e'&0xFF,
-						'M'&0xFF,
-						'Q'&0xFF };
-
-		byte[] magic = MAGIC;
-		int version;
-		byte[] marshalledProperties;
-
-		private PrimitiveMap properties;
-
-		public override string ToString()
-		{
-			return GetType().Name + "["
-					+ " Magic=" + Magic
-					+ " Version=" + Version
-					+ " MarshalledProperties=" + Properties.ToString()
-					+ " ]";
-
-		}
-
-		public override byte GetDataStructureType()
-		{
-			return ID_WireFormatInfo;
-		}
-
-
-		// Properties
-		public byte[] Magic
-		{
-			get { return magic; }
-			set { this.magic = value; }
-		}
-
-		public bool Valid
-		{
-			get
-			{
-				if(null == magic)
-				{
-					return false;
-				}
-
-				if(magic.Length != MAGIC.Length)
-				{
-					return false;
-				}
-
-				for(int i = 0; i < magic.Length; i++)
-				{
-					if(magic[i] != MAGIC[i])
-					{
-						return false;
-					}
-				}
-
-				return true;
-			}
-		}
-
-		public int Version
-		{
-			get { return version; }
-			set { this.version = value; }
-		}
-
-		public byte[] MarshalledProperties
-		{
-			get { return marshalledProperties; }
-			set { this.marshalledProperties = value; }
-		}
-
-		public IPrimitiveMap Properties
-		{
-			get
-			{
-				if(null == properties)
-				{
-					properties = PrimitiveMap.Unmarshal(MarshalledProperties);
-				}
-
-				return properties;
-			}
-		}
-
-		public bool CacheEnabled
-		{
-			get { return true.Equals(Properties["CacheEnabled"]); }
-			set { Properties["CacheEnabled"] = value; }
-		}
-		public bool StackTraceEnabled
-		{
-			get { return true.Equals(Properties["StackTraceEnabled"]); }
-			set { Properties["StackTraceEnabled"] = value; }
-		}
-		public bool TcpNoDelayEnabled
-		{
-			get { return true.Equals(Properties["TcpNoDelayEnabled"]); }
-			set { Properties["TcpNoDelayEnabled"] = value; }
-		}
-		public bool SizePrefixDisabled
-		{
-			get { return true.Equals(Properties["SizePrefixDisabled"]); }
-			set { Properties["SizePrefixDisabled"] = value; }
-		}
-		public bool TightEncodingEnabled
-		{
-			get { return true.Equals(Properties["TightEncodingEnabled"]); }
-			set { Properties["TightEncodingEnabled"] = value; }
-		}
-		public long MaxInactivityDuration
-		{
-			get
-			{
-				object prop = Properties["MaxInactivityDuration"];
-				return (null != prop
-										? (long) prop
-										: 0);
-			}
-			set { Properties["MaxInactivityDuration"] = value; }
-		}
-		public long MaxInactivityDurationInitialDelay
-		{
-			get
-			{
-				object prop = Properties["MaxInactivityDurationInitialDelay"];
-				return (null != prop
-										? (long) prop
-										: 0);
-			}
-			set { Properties["MaxInactivityDurationInitialDelay"] = value; }
-		}
-		public int CacheSize
-		{
-			get
-			{
-				object prop = Properties["CacheSize"];
-				return (null != prop
-										? (int) prop
-										: 0);
-			}
-			set { Properties.SetInt("CacheSize", value); }
-		}
-
-		// MarshallAware interface
-		public override bool IsMarshallAware()
-		{
-			return true;
-		}
-
-		public override void BeforeMarshall(OpenWireFormat wireFormat)
-		{
-			MarshalledProperties = null;
-
-			if(properties != null)
-			{
-				MarshalledProperties = properties.Marshal();
-			}
-		}
-
-		public override Response visit(ICommandVisitor visitor)
-		{
-			return visitor.processWireFormat(this);
-		}
-	}
+    //
+    //  Marshalling code for Open Wire Format for WireFormatInfo
+    //
+    //
+    public class WireFormatInfo : BaseCommand, Command, MarshallAware
+    {
+        public const byte ID_WIREFORMATINFO = 1;
+        static private byte[] MAGIC = new byte[] {
+                        'A'&0xFF,
+                        'c'&0xFF,
+                        't'&0xFF,
+                        'i'&0xFF,
+                        'v'&0xFF,
+                        'e'&0xFF,
+                        'M'&0xFF,
+                        'Q'&0xFF };
+
+        byte[] magic = MAGIC;
+        int version;
+        byte[] marshalledProperties;
+
+        private PrimitiveMap properties;
+
+        public override string ToString()
+        {
+            return GetType().Name + "["
+                    + " Magic=" + Magic
+                    + " Version=" + Version
+                    + " MarshalledProperties=" + Properties.ToString()
+                    + " ]";
+
+        }
+
+        public override byte GetDataStructureType()
+        {
+            return ID_WIREFORMATINFO;
+        }
+
+
+        // Properties
+        public byte[] Magic
+        {
+            get { return magic; }
+            set { this.magic = value; }
+        }
+
+        public bool Valid
+        {
+            get
+            {
+                if(null == magic)
+                {
+                    return false;
+                }
+
+                if(magic.Length != MAGIC.Length)
+                {
+                    return false;
+                }
+
+                for(int i = 0; i < magic.Length; i++)
+                {
+                    if(magic[i] != MAGIC[i])
+                    {
+                        return false;
+                    }
+                }
+
+                return true;
+            }
+        }
+
+        public int Version
+        {
+            get { return version; }
+            set { this.version = value; }
+        }
+
+        public byte[] MarshalledProperties
+        {
+            get { return marshalledProperties; }
+            set { this.marshalledProperties = value; }
+        }
+
+        public IPrimitiveMap Properties
+        {
+            get
+            {
+                if(null == properties)
+                {
+                    properties = PrimitiveMap.Unmarshal(MarshalledProperties);
+                }
+
+                return properties;
+            }
+        }
+
+        public bool CacheEnabled
+        {
+            get { return true.Equals(Properties["CacheEnabled"]); }
+            set { Properties["CacheEnabled"] = value; }
+        }
+        public bool StackTraceEnabled
+        {
+            get { return true.Equals(Properties["StackTraceEnabled"]); }
+            set { Properties["StackTraceEnabled"] = value; }
+        }
+        public bool TcpNoDelayEnabled
+        {
+            get { return true.Equals(Properties["TcpNoDelayEnabled"]); }
+            set { Properties["TcpNoDelayEnabled"] = value; }
+        }
+        public bool SizePrefixDisabled
+        {
+            get { return true.Equals(Properties["SizePrefixDisabled"]); }
+            set { Properties["SizePrefixDisabled"] = value; }
+        }
+        public bool TightEncodingEnabled
+        {
+            get { return true.Equals(Properties["TightEncodingEnabled"]); }
+            set { Properties["TightEncodingEnabled"] = value; }
+        }
+        public long MaxInactivityDuration
+        {
+            get
+            {
+                object prop = Properties["MaxInactivityDuration"];
+                return (null != prop
+                                        ? (long) prop
+                                        : 0);
+            }
+            set { Properties["MaxInactivityDuration"] = value; }
+        }
+        public long MaxInactivityDurationInitialDelay
+        {
+            get
+            {
+                object prop = Properties["MaxInactivityDurationInitialDelay"];
+                return (null != prop
+                                        ? (long) prop
+                                        : 0);
+            }
+            set { Properties["MaxInactivityDurationInitialDelay"] = value; }
+        }
+        public int CacheSize
+        {
+            get
+            {
+                object prop = Properties["CacheSize"];
+                return (null != prop
+                                        ? (int) prop
+                                        : 0);
+            }
+            set { Properties.SetInt("CacheSize", value); }
+        }
+
+        // MarshallAware interface
+        public override bool IsMarshallAware()
+        {
+            return true;
+        }
+
+        public override void BeforeMarshall(OpenWireFormat wireFormat)
+        {
+            MarshalledProperties = null;
+
+            if(properties != null)
+            {
+                MarshalledProperties = properties.Marshal();
+            }
+        }
+
+        ///
+        /// <summery>
+        ///  Return an answer of true to the IsWireFormatInfo() query.
+        /// </summery>
+        ///
+        public override bool IsWireFormatInfo
+        {
+            get
+            {
+                return true;
+            }
+        }
+
+        public override Response visit(ICommandVisitor visitor)
+        {
+            return visitor.processWireFormat(this);
+        }
+    }
 }

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/XATransactionId.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/XATransactionId.cs?rev=799407&r1=799406&r2=799407&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/XATransactionId.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/XATransactionId.cs Thu Jul 30 19:06:34 2009
@@ -14,88 +14,110 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-//
-//  NOTE!: This file is autogenerated - do not modify!
-//         if you need to make a change, please see the Groovy scripts in the
-//         activemq-core module
-//
 
 using System;
 using System.Collections;
 
-using Apache.NMS.ActiveMQ.OpenWire;
-using Apache.NMS.ActiveMQ.Commands;
-
 namespace Apache.NMS.ActiveMQ.Commands
 {
-    /// <summary>
-    ///  The ActiveMQ XATransactionId Command
-    /// </summary>
-    public class XATransactionId : TransactionId, Xid
+    /*
+     *
+     *  Command code for OpenWire format for XATransactionId
+     *
+     *  NOTE!: This file is auto generated - do not modify!
+     *         if you need to make a change, please see the Java Classes
+     *         in the nms-activemq-openwire-generator module
+     *
+     */
+    public class XATransactionId : TransactionId
     {
-        public const byte ID_XATransactionId = 112;
-    			
+        public const byte ID_XATRANSACTIONID = 112;
+
         int formatId;
         byte[] globalTransactionId;
         byte[] branchQualifier;
 
-		public override int GetHashCode() {
-            int answer = 0;
-            answer = (answer * 37) + HashCode(FormatId);
-            answer = (answer * 37) + HashCode(GlobalTransactionId);
-            answer = (answer * 37) + HashCode(BranchQualifier);
-            return answer;
-
-		}
-
-		public override bool Equals(object that) {
-	    	if (that is XATransactionId) {
-	    	    return Equals((XATransactionId) that);
-			}
-			return false;
-    	}
-
-		public virtual bool Equals(XATransactionId that) {
-            if (! Equals(this.FormatId, that.FormatId)) return false;
-            if (! Equals(this.GlobalTransactionId, that.GlobalTransactionId)) return false;
-            if (! Equals(this.BranchQualifier, that.BranchQualifier)) return false;
-            return true;
-
-		}
-
-		public override string ToString() {
-            return GetType().Name + "["
-                + " FormatId=" + FormatId
-                + " GlobalTransactionId=" + GlobalTransactionId
-                + " BranchQualifier=" + BranchQualifier
-                + " ]";
-
-		}
-
-        public override byte GetDataStructureType() {
-            return ID_XATransactionId;
+        ///
+        /// <summery>
+        ///  Get the unique identifier that this object and its own
+        ///  Marshaler share.
+        /// </summery>
+        ///
+        public override byte GetDataStructureType()
+        {
+            return ID_XATRANSACTIONID;
         }
 
-
-        // Properties
+        ///
+        /// <summery>
+        ///  Returns a string containing the information for this DataStructure
+        ///  such as its type and value of its elements.
+        /// </summery>
+        ///
+        public override string ToString()
+        {
+            return GetType().Name + "[" + 
+                "FormatId=" + FormatId + 
+                "GlobalTransactionId=" + GlobalTransactionId + 
+                "BranchQualifier=" + BranchQualifier + 
+                "]";
+        }
 
         public int FormatId
         {
             get { return formatId; }
-            set { this.formatId = value; }            
+            set { this.formatId = value; }
         }
 
         public byte[] GlobalTransactionId
         {
             get { return globalTransactionId; }
-            set { this.globalTransactionId = value; }            
+            set { this.globalTransactionId = value; }
         }
 
         public byte[] BranchQualifier
         {
             get { return branchQualifier; }
-            set { this.branchQualifier = value; }            
+            set { this.branchQualifier = value; }
         }
 
-    }
+        public override int GetHashCode()
+        {
+            int answer = 0;
+
+            answer = (answer * 37) + HashCode(FormatId);
+            answer = (answer * 37) + HashCode(GlobalTransactionId);
+            answer = (answer * 37) + HashCode(BranchQualifier);
+
+            return answer;
+        }
+
+        public override bool Equals(object that)
+        {
+            if(that is XATransactionId)
+            {
+                return Equals((XATransactionId) that);
+            }
+            return false;
+        }
+
+        public virtual bool Equals(XATransactionId that)
+        {
+            if(!Equals(this.FormatId, that.FormatId))
+            {
+                return false;
+            }
+            if(!Equals(this.GlobalTransactionId, that.GlobalTransactionId))
+            {
+                return false;
+            }
+            if(!Equals(this.BranchQualifier, that.BranchQualifier))
+            {
+                return false;
+            }
+
+            return true;
+        }
+    };
 }
+