activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jgo...@apache.org
Subject svn commit: r821196 - in /activemq/activemq-dotnet: Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ Apache.NMS.EMS/trunk/src/main/csharp/ Apache.NMS.MSMQ/trunk/src/main/csharp/ Apache.NMS/trunk/src/main/csharp/
Date Fri, 02 Oct 2009 22:58:06 GMT
Author: jgomes
Date: Fri Oct  2 22:58:05 2009
New Revision: 821196

URL: http://svn.apache.org/viewvc?rev=821196&view=rev
Log:
Implemented new BytesMessage API for MSMQ and EMS providers.

Fixes [AMQNET-162]. (See https://issues.apache.org/activemq/browse/AMQNET-162)

Modified:
    activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs
    activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs
    activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs
    activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs
    activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs
    activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs

Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/ActiveMQMessage.cs Fri Oct  2 22:58:05 2009
@@ -63,35 +63,35 @@
 				Acknowledger(this);
 			}
 		}
-        
-        public virtual void ClearBody()
-        {
-            this.Content = null;
-            this.readOnlyMsgBody = false;
-        }
-        
-        public virtual void ClearProperties()
-        {
-            this.MarshalledProperties = null;
-            this.Properties.Clear();
-            this.readOnlyMsgProperties = false;
-        }
-        
-        protected void FailIfReadOnlyBody()
-        {
-            if(ReadOnlyBody == true)
-            {
-                throw new MessageNotWriteableException("Message is in Read-Only mode.");
-            }
-        }
-
-        protected void FailIfWriteOnlyBody()
-        {
-            if( ReadOnlyBody == false )
-            {
-                throw new MessageNotReadableException("Message is in Write-Only mode.");
-            }
-        }
+
+		public virtual void ClearBody()
+		{
+			this.Content = null;
+			this.readOnlyMsgBody = false;
+		}
+
+		public virtual void ClearProperties()
+		{
+			this.MarshalledProperties = null;
+			this.Properties.Clear();
+			this.readOnlyMsgProperties = false;
+		}
+
+		protected void FailIfReadOnlyBody()
+		{
+			if(ReadOnlyBody == true)
+			{
+				throw new MessageNotWriteableException("Message is in Read-Only mode.");
+			}
+		}
+
+		protected void FailIfWriteOnlyBody()
+		{
+			if( ReadOnlyBody == false )
+			{
+				throw new MessageNotReadableException("Message is in Write-Only mode.");
+			}
+		}
 
 		#region Properties
 

Modified: activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/BytesMessage.cs Fri Oct  2 22:58:05 2009
@@ -51,6 +51,131 @@
 			}
 		}
 
+		public long BodyLength
+		{
+			get { return this.tibcoBytesMessage.BodyLength; }
+		}
+
+		public bool ReadBoolean()
+		{
+			return this.tibcoBytesMessage.ReadBoolean();
+		}
+
+		public byte ReadByte()
+		{
+			return (byte) this.tibcoBytesMessage.ReadByte();
+		}
+
+		public int ReadBytes(byte[] value, int length)
+		{
+			return this.tibcoBytesMessage.ReadBytes(value, length);
+		}
+
+		public int ReadBytes(byte[] value)
+		{
+			return this.tibcoBytesMessage.ReadBytes(value);
+		}
+
+		public char ReadChar()
+		{
+			return this.tibcoBytesMessage.ReadChar();
+		}
+
+		public double ReadDouble()
+		{
+			return this.tibcoBytesMessage.ReadDouble();
+		}
+
+		public short ReadInt16()
+		{
+			return this.tibcoBytesMessage.ReadShort();
+		}
+
+		public int ReadInt32()
+		{
+			return this.tibcoBytesMessage.ReadInt();
+		}
+
+		public long ReadInt64()
+		{
+			return this.tibcoBytesMessage.ReadLong();
+		}
+
+		public float ReadSingle()
+		{
+			return this.tibcoBytesMessage.ReadFloat();
+		}
+
+		public string ReadString()
+		{
+			return this.tibcoBytesMessage.ReadUTF();
+		}
+
+		public void Reset()
+		{
+			this.tibcoBytesMessage.Reset();
+		}
+
+		public void WriteBoolean(bool value)
+		{
+			this.tibcoBytesMessage.WriteBoolean(value);
+		}
+
+		public void WriteByte(byte value)
+		{
+			this.tibcoBytesMessage.WriteByte(value);
+		}
+
+		public void WriteBytes(byte[] value, int offset, int length)
+		{
+			this.tibcoBytesMessage.WriteBytes(value, offset, length);
+		}
+
+		public void WriteBytes(byte[] value)
+		{
+			this.tibcoBytesMessage.WriteBytes(value);
+		}
+
+		public void WriteChar(char value)
+		{
+			this.tibcoBytesMessage.WriteChar(value);
+		}
+
+		public void WriteDouble(double value)
+		{
+			this.tibcoBytesMessage.WriteDouble(value);
+		}
+
+		public void WriteInt16(short value)
+		{
+			this.tibcoBytesMessage.WriteShort(value);
+		}
+
+		public void WriteInt32(int value)
+		{
+			this.tibcoBytesMessage.WriteInt(value);
+		}
+
+		public void WriteInt64(long value)
+		{
+			this.tibcoBytesMessage.WriteLong(value);
+		}
+
+		public void WriteObject(object value)
+		{
+			this.tibcoBytesMessage.WriteObject(value);
+		}
+
+		public void WriteSingle(float value)
+		{
+			this.tibcoBytesMessage.WriteFloat(value);
+		}
+
+		public void WriteString(string value)
+		{
+			this.tibcoBytesMessage.WriteUTF(value);
+		}
+
 		#endregion
 	}
 }

Modified: activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.EMS/trunk/src/main/csharp/Message.cs Fri Oct  2 22:58:05 2009
@@ -40,6 +40,28 @@
 		}
 
 		/// <summary>
+		/// Clears out the message body. Clearing a message's body does not clear its header
+		/// values or property entries.
+		///
+		/// If this message body was read-only, calling this method leaves the message body in
+		/// the same state as an empty body in a newly created message.
+		/// </summary>
+		public void ClearBody()
+		{
+			this.tibcoMessage.ClearBody();
+		}
+
+		/// <summary>
+		/// Clears a message's properties.
+		///
+		/// The message's header fields and body are not cleared.
+		/// </summary>
+		public void ClearProperties()
+		{
+			this.tibcoMessage.ClearProperties();
+		}
+
+		/// <summary>
 		/// Provides access to the message properties (headers)
 		/// </summary>
 		public Apache.NMS.IPrimitiveMap Properties

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BaseMessage.cs Fri Oct  2 22:58:05 2009
@@ -34,15 +34,17 @@
 		private Destination replyTo;
 		private string type;
 		private event AcknowledgeHandler Acknowledger;
-		private byte[] content;
 		private DateTime timestamp = new DateTime();
+		private bool readOnlyMsgBody = false;
 
-		public byte[] Content
+		public bool ReadOnlyBody
 		{
-			get { return content; }
-			set { content = value; }
+			get { return readOnlyMsgBody; }
+			set { readOnlyMsgBody = value; }
 		}
 
+		// IMessage interface
+
 		public void Acknowledge()
 		{
 			if(null != Acknowledger)
@@ -51,6 +53,28 @@
 			}
 		}
 
+		/// <summary>
+		/// Clears out the message body. Clearing a message's body does not clear its header
+		/// values or property entries.
+		///
+		/// If this message body was read-only, calling this method leaves the message body in
+		/// the same state as an empty body in a newly created message.
+		/// </summary>
+		public virtual void ClearBody()
+		{
+			this.readOnlyMsgBody = false;
+		}
+
+		/// <summary>
+		/// Clears a message's properties.
+		///
+		/// The message's header fields and body are not cleared.
+		/// </summary>
+		public virtual void ClearProperties()
+		{
+			propertiesMap.Clear();
+		}
+
 		// Properties
 
 		public IPrimitiveMap Properties
@@ -59,8 +83,6 @@
 		}
 
 
-		// IMessage interface
-
 		// NMS headers
 
 		/// <summary>
@@ -163,6 +185,22 @@
 		public void SetObjectProperty(string name, object value)
 		{
 		}
+
+		protected void FailIfReadOnlyBody()
+		{
+			if(ReadOnlyBody == true)
+			{
+				throw new MessageNotWriteableException("Message is in Read-Only mode.");
+			}
+		}
+
+		protected void FailIfWriteOnlyBody()
+		{
+			if( ReadOnlyBody == false )
+			{
+				throw new MessageNotReadableException("Message is in Write-Only mode.");
+			}
+		}
 	}
 }
 

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/BytesMessage.cs Fri Oct  2 22:58:05 2009
@@ -16,10 +16,503 @@
  */
 
 
+using Apache.NMS.Util;
+using System.IO;
+using System;
 namespace Apache.NMS.MSMQ
 {
+	/// <summary>
+	///
+	/// A BytesMessage object is used to send a message containing a stream of uninterpreted
+	/// bytes. It inherits from the Message interface and adds a bytes message body. The
+	/// receiver of the message supplies the interpretation of the bytes.
+	///
+	/// This message type is for client encoding of existing message formats. If possible,
+	/// one of the other self-defining message types should be used instead.
+	///
+	/// Although the NMS API allows the use of message properties with byte messages, they
+	/// are typically not used, since the inclusion of properties may affect the format.
+	///
+	/// When the message is first created, and when ClearBody is called, the body of the
+	/// message is in write-only mode. After the first call to Reset has been made, the
+	/// message body is in read-only mode. After a message has been sent, the client that
+	/// sent it can retain and modify it without affecting the message that has been sent.
+	/// The same message object can be sent multiple times. When a message has been received,
+	/// the provider has called Reset so that the message body is in read-only mode for the
+	/// client.
+	///
+	/// If ClearBody is called on a message in read-only mode, the message body is cleared and
+	/// the message is in write-only mode.
+	///
+	/// If a client attempts to read a message in write-only mode, a MessageNotReadableException
+	/// is thrown.
+	///
+	/// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
+	/// is thrown.
+	/// </summary>
 	public class BytesMessage : BaseMessage, IBytesMessage
 	{
+		private EndianBinaryReader dataIn = null;
+		private EndianBinaryWriter dataOut = null;
+		private MemoryStream outputBuffer = null;
+		private byte[] content;
+
+		// Need this later when we add compression to store true content length.
+		private long length = 0;
+
+		public byte[] Content
+		{
+			get { StoreContent(); return content; }
+			set { content = value; }
+		}
+
+		public override void ClearBody()
+		{
+			base.ClearBody();
+			this.outputBuffer = null;
+			this.dataIn = null;
+			this.dataOut = null;
+			this.length = 0;
+		}
+
+		public long BodyLength
+		{
+			get
+			{
+				InitializeReading();
+				return this.length;
+			}
+		}
+
+		public byte ReadByte()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadByte();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteByte( byte value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public bool ReadBoolean()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadBoolean();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteBoolean( bool value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public char ReadChar()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadChar();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteChar( char value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public short ReadInt16()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadInt16();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteInt16( short value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public int ReadInt32()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadInt32();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteInt32( int value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public long ReadInt64()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadInt64();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteInt64( long value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public float ReadSingle()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadSingle();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteSingle( float value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public double ReadDouble()
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.ReadDouble();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteDouble( double value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public int ReadBytes( byte[] value )
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.Read( value, 0, value.Length );
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public int ReadBytes( byte[] value, int length )
+		{
+			InitializeReading();
+			try
+			{
+				return dataIn.Read( value, 0, length );
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteBytes( byte[] value )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value, 0, value.Length );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public void WriteBytes( byte[] value, int offset, int length )
+		{
+			InitializeWriting();
+			try
+			{
+				dataOut.Write( value, offset, length );
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public string ReadString()
+		{
+			InitializeReading();
+			try
+			{
+				// JMS, CMS and NMS all encode the String using a 16 bit size header.
+				return dataIn.ReadString16();
+			}
+			catch(EndOfStreamException e)
+			{
+				throw NMSExceptionSupport.createMessageEOFException(e);
+			}
+			catch(IOException e)
+			{
+				throw NMSExceptionSupport.createMessageFormatException(e);
+			}
+		}
+
+		public void WriteString( string value )
+		{
+			InitializeWriting();
+			try
+			{
+				// JMS, CMS and NMS all encode the String using a 16 bit size header.
+				dataOut.WriteString16(value);
+			}
+			catch(Exception e)
+			{
+				throw NMSExceptionSupport.create(e);
+			}
+		}
+
+		public void WriteObject( System.Object value )
+		{
+			InitializeWriting();
+			if( value is System.Byte )
+			{
+				this.dataOut.Write( (byte) value );
+			}
+			else if( value is Char )
+			{
+				this.dataOut.Write( (char) value );
+			}
+			else if( value is Boolean )
+			{
+				this.dataOut.Write( (bool) value );
+			}
+			else if( value is Int16 )
+			{
+				this.dataOut.Write( (short) value );
+			}
+			else if( value is Int32 )
+			{
+				this.dataOut.Write( (int) value );
+			}
+			else if( value is Int64 )
+			{
+				this.dataOut.Write( (long) value );
+			}
+			else if( value is Single )
+			{
+				this.dataOut.Write( (float) value );
+			}
+			else if( value is Double )
+			{
+				this.dataOut.Write( (double) value );
+			}
+			else if( value is byte[] )
+			{
+				this.dataOut.Write( (byte[]) value );
+			}
+			else if( value is String )
+			{
+				this.dataOut.WriteString16( (string) value );
+			}
+			else
+			{
+				throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
+			}
+		}
+
+		public void Reset()
+		{
+			StoreContent();
+			this.dataIn = null;
+			this.dataOut = null;
+			this.outputBuffer = null;
+			this.ReadOnlyBody = true;
+		}
+
+		private void InitializeReading()
+		{
+			FailIfWriteOnlyBody();
+			if(this.dataIn == null)
+			{
+				if(this.Content != null)
+				{
+					this.length = this.Content.Length;
+				}
+
+				// TODO - Add support for Message Compression.
+				MemoryStream bytesIn = new MemoryStream(this.Content, false);
+				dataIn = new EndianBinaryReader(bytesIn);
+			}
+		}
+
+		private void InitializeWriting()
+		{
+			FailIfReadOnlyBody();
+			if(this.dataOut == null)
+			{
+				// TODO - Add support for Message Compression.
+				this.outputBuffer = new MemoryStream();
+				this.dataOut = new EndianBinaryWriter(outputBuffer);
+			}
+		}
+
+		private void StoreContent()
+		{
+			if( dataOut != null)
+			{
+				dataOut.Close();
+				// TODO - Add support for Message Compression.
+
+				this.Content = outputBuffer.ToArray();
+				this.dataOut = null;
+				this.outputBuffer = null;
+			}
+		}
 	}
 }
 

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/ObjectMessage.cs Fri Oct  2 22:58:05 2009
@@ -30,6 +30,7 @@
 #if !(PocketPC||NETCF||NETCF_2_0)
 		private IFormatter formatter;
 #endif
+		public byte[] Content;
 
 		public ObjectMessage()
 		{

Modified: activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS.MSMQ/trunk/src/main/csharp/TextMessage.cs Fri Oct  2 22:58:05 2009
@@ -22,6 +22,7 @@
 	public class TextMessage : BaseMessage, ITextMessage
 	{
 		public const int SIZE_OF_INT = 4; // sizeof(int) - though causes unsafe issues with net 1.1
+		public byte[] Content;
 
 		private String text;
 

Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IBytesMessage.cs Fri Oct  2 22:58:05 2009
@@ -17,470 +17,470 @@
 namespace Apache.NMS
 {
 	/// <summary>
-    ///
+	///
 	/// A BytesMessage object is used to send a message containing a stream of uninterpreted
-    /// bytes. It inherits from the Message interface and adds a bytes message body. The 
-    /// receiver of the message supplies the interpretation of the bytes.
-    ///
-    /// This message type is for client encoding of existing message formats. If possible, 
-    /// one of the other self-defining message types should be used instead.
-    ///
-    /// Although the NMS API allows the use of message properties with byte messages, they 
-    /// are typically not used, since the inclusion of properties may affect the format.
-    /// 
-    /// When the message is first created, and when ClearBody is called, the body of the 
-    /// message is in write-only mode. After the first call to Reset has been made, the 
-    /// message body is in read-only mode. After a message has been sent, the client that 
-    /// sent it can retain and modify it without affecting the message that has been sent. 
-    /// The same message object can be sent multiple times. When a message has been received, 
-    /// the provider has called Reset so that the message body is in read-only mode for the 
-    /// client.
-    /// 
-    /// If ClearBody is called on a message in read-only mode, the message body is cleared and 
-    /// the message is in write-only mode.
-    /// 
-    /// If a client attempts to read a message in write-only mode, a MessageNotReadableException 
-    /// is thrown.
-    /// 
-    /// If a client attempts to write a message in read-only mode, a MessageNotWriteableException 
-    /// is thrown. 
+	/// bytes. It inherits from the Message interface and adds a bytes message body. The
+	/// receiver of the message supplies the interpretation of the bytes.
+	///
+	/// This message type is for client encoding of existing message formats. If possible,
+	/// one of the other self-defining message types should be used instead.
+	///
+	/// Although the NMS API allows the use of message properties with byte messages, they
+	/// are typically not used, since the inclusion of properties may affect the format.
+	///
+	/// When the message is first created, and when ClearBody is called, the body of the
+	/// message is in write-only mode. After the first call to Reset has been made, the
+	/// message body is in read-only mode. After a message has been sent, the client that
+	/// sent it can retain and modify it without affecting the message that has been sent.
+	/// The same message object can be sent multiple times. When a message has been received,
+	/// the provider has called Reset so that the message body is in read-only mode for the
+	/// client.
+	///
+	/// If ClearBody is called on a message in read-only mode, the message body is cleared and
+	/// the message is in write-only mode.
+	///
+	/// If a client attempts to read a message in write-only mode, a MessageNotReadableException
+	/// is thrown.
+	///
+	/// If a client attempts to write a message in read-only mode, a MessageNotWriteableException
+	/// is thrown.
 	/// </summary>
 	public interface IBytesMessage : IMessage
 	{
 		byte[] Content { get; set; }
-        
-        /// <value>
-        /// Gets the number of bytes of the message body when the message is in read-only mode. 
-        /// The value returned can be used to allocate a byte array. The value returned is the
-        /// entire length of the message body, regardless of where the pointer for reading the 
-        /// message is currently located.
-        /// </value>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        long BodyLength { get; }
-        
-        /// <summary>
-        /// Reads a byte from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Byte"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        byte ReadByte();
-        
-        /// <summary>
-        /// Writes a byte to the Message stream.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Byte"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteByte( byte value );
-        
-        /// <summary>
-        /// Reads a boolean from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Boolean"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        bool ReadBoolean();
-
-        /// <summary>
-        /// Write a one byte value to the message stream representing the boolean
-        /// value passed.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Boolean"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteBoolean( bool value );
-        
-        /// <summary>
-        /// Reads a char from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Char"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>   
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        char ReadChar();
-
-        /// <summary>
-        /// Write a two byte value to the message stream representing the character
-        /// value passed.  High byte first.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Char"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>             
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteChar( char value );
-
-        /// <summary>
-        /// Reads a Short from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Int16"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>           
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        short ReadInt16();
-
-        /// <summary>
-        /// Write a two byte value to the message stream representing the short
-        /// value passed.  High byte first.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Int16"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>          
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteInt16( short value );
-        
-        /// <summary>
-        /// Reads an int from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Int32"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>           
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        int ReadInt32();
-        
-        /// <summary>
-        /// Write a four byte value to the message stream representing the integer
-        /// value passed.  High byte first.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Int32"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>         
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteInt32( int value );
-        
-        /// <summary>
-        /// Reads a long from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Int64"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>           
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        long ReadInt64();
-        
-        /// <summary>
-        /// Write a eight byte value to the message stream representing the long
-        /// value passed.  High byte first.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Int64"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>          
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteInt64( long value );
-        
-        /// <summary>
-        /// Reads a float from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Single"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>           
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        float ReadSingle();
-        
-        /// <summary>
-        /// Write a four byte value to the message stream representing the float
-        /// value passed.  High byte first.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Single"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>          
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteSingle( float value );
-        
-        /// <summary>
-        /// Reads an double from the Message Stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.Double"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>           
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        double ReadDouble();
-        
-        /// <summary>
-        /// Write a eight byte value to the message stream representing the double
-        /// value passed.  High byte first.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Double"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>          
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteDouble( double value );
-        
-        /// <summary>
-        /// Reads a byte array from the bytes message stream.
-        /// 
-        /// If the length of array value is less than the number of bytes remaining to 
-        /// be read from the stream, the array should be filled. A subsequent call reads
-        /// the next increment, and so on.
-        /// 
-        /// If the number of bytes remaining in the stream is less than the length of array 
-        /// value, the bytes should be read into the array. The return value of the total number
-        /// of bytes read will be less than the length of the array, indicating that there are 
-        /// no more bytes left to be read from the stream. The next read of the stream returns -1.
-        /// </summary>
-        /// <param name="value">
-        /// The byte array that will be used as a buffer to read into.
-        /// </param>
-        /// <returns>
-        /// A <see cref="System.Int32"/>
-        /// The number of bytes read into the passed byte array, or -1 if there are no more
-        /// bytes left to be read from the stream.
-        /// </returns>
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        int ReadBytes( byte[] value );
-        
-        /// <summary>
-        /// Reads a portion of the bytes message stream.
-        /// 
-        /// If the length of array value is less than the number of bytes remaining to be 
-        /// read from the stream, the array should be filled. A subsequent call reads the 
-        /// next increment, and so on.
-        /// 
-        /// If the number of bytes remaining in the stream is less than the length of array 
-        /// value, the bytes should be read into the array. The return value of the total 
-        /// number of bytes read will be less than the length of the array, indicating that 
-        /// there are no more bytes left to be read from the stream. The next read of the 
-        /// stream returns -1.
-        /// 
-        /// If length is negative, or length is greater than the length of the array value,
-        /// then an Exception is thrown. No bytes will be read from the stream for this
-        /// exception case.
-        /// </summary>
-        /// <param name="value">
-        /// The byte array that will be used as a buffer to read into.
-        /// </param>
-        /// <param name="length">
-        /// The amount of bytes to read into the buffer.
-        /// </param>
-        /// <returns>
-        /// A <see cref="System.Int32"/>
-        /// The number of bytes read into the passed byte array, or -1 if there are no more
-        /// bytes left to be read from the stream.
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>                
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        int ReadBytes( byte[] value, int length );
-        
-        /// <summary>
-        /// Writes a byte array to the bytes message stream.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Byte"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>          
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteBytes( byte[] value );
-
-        /// <summary>
-        /// Writes a portion of a byte array to the bytes message stream.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Byte"/>
-        /// </param>
-        /// <param name="offset">
-        /// A <see cref="System.Int32"/>
-        /// </param>
-        /// <param name="length">
-        /// A <see cref="System.Int32"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>          
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteBytes( byte[] value, int offset, int length );
-        
-        /// <summary>
-        /// Reads a string that has been encoded using a modified UTF-8 format from the bytes
-        /// message stream.
-        /// </summary>
-        /// <returns>
-        /// A <see cref="System.String"/>
-        /// </returns>
-        /// <exception cref="Apache.NMS.MessageNotReadableException">
-        /// Thrown when the Message is in write-only mode.
-        /// </exception>        
-        /// <exception cref="Apache.NMS.MessageEOFException">
-        /// Thrown when an unexpected end of bytes has been reached.
-        /// </exception>           
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        string ReadString();
-        
-        /// <summary>
-        /// Writes a string to the bytes message stream using UTF-8 encoding in a 
-        /// machine-independent manner. 
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.String"/>
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>   
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteString( string value );
-        
-        /// <summary>
-        /// Writes an object to the bytes message stream.
-        /// 
-        /// This method works only for the objectified primitive object types 
-        /// (Int32, Double, Boolean ...), String objects, and byte arrays.
-        /// </summary>
-        /// <param name="value">
-        /// A <see cref="System.Object"/>
-        /// the object in the .NET programming language to be written; it must not be null
-        /// </param>
-        /// <exception cref="Apache.NMS.MessageFormatException">
-        /// Thrown when the Message has an invalid format.
-        /// </exception> 
-        /// <exception cref="Apache.NMS.MessageNotWriteableException">
-        /// Thrown when the Message is in read-only mode.
-        /// </exception>   
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void WriteObject( System.Object value );
-        
-        /// <summary>
-        /// Puts the message body in read-only mode and repositions the stream of bytes to the beginning.
-        /// </summary>
-        /// <exception cref="Apache.NMS.MessageFormatException">
-        /// Thrown when the Message has an invalid format.
-        /// </exception> 
-        /// <exception cref="Apache.NMS.NMSException">
-        /// Thrown when there is an unhandled exception thrown from the provider.
-        /// </exception>  
-        void Reset();
-        
+
+		/// <value>
+		/// Gets the number of bytes of the message body when the message is in read-only mode.
+		/// The value returned can be used to allocate a byte array. The value returned is the
+		/// entire length of the message body, regardless of where the pointer for reading the
+		/// message is currently located.
+		/// </value>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		long BodyLength { get; }
+
+		/// <summary>
+		/// Reads a byte from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Byte"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		byte ReadByte();
+
+		/// <summary>
+		/// Writes a byte to the Message stream.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Byte"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteByte( byte value );
+
+		/// <summary>
+		/// Reads a boolean from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Boolean"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		bool ReadBoolean();
+
+		/// <summary>
+		/// Write a one byte value to the message stream representing the boolean
+		/// value passed.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Boolean"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteBoolean( bool value );
+
+		/// <summary>
+		/// Reads a char from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Char"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		char ReadChar();
+
+		/// <summary>
+		/// Write a two byte value to the message stream representing the character
+		/// value passed.  High byte first.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Char"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteChar( char value );
+
+		/// <summary>
+		/// Reads a Short from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Int16"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		short ReadInt16();
+
+		/// <summary>
+		/// Write a two byte value to the message stream representing the short
+		/// value passed.  High byte first.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Int16"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteInt16( short value );
+
+		/// <summary>
+		/// Reads an int from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Int32"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		int ReadInt32();
+
+		/// <summary>
+		/// Write a four byte value to the message stream representing the integer
+		/// value passed.  High byte first.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Int32"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteInt32( int value );
+
+		/// <summary>
+		/// Reads a long from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Int64"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		long ReadInt64();
+
+		/// <summary>
+		/// Write a eight byte value to the message stream representing the long
+		/// value passed.  High byte first.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Int64"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteInt64( long value );
+
+		/// <summary>
+		/// Reads a float from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Single"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		float ReadSingle();
+
+		/// <summary>
+		/// Write a four byte value to the message stream representing the float
+		/// value passed.  High byte first.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Single"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteSingle( float value );
+
+		/// <summary>
+		/// Reads an double from the Message Stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.Double"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		double ReadDouble();
+
+		/// <summary>
+		/// Write a eight byte value to the message stream representing the double
+		/// value passed.  High byte first.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Double"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteDouble( double value );
+
+		/// <summary>
+		/// Reads a byte array from the bytes message stream.
+		///
+		/// If the length of array value is less than the number of bytes remaining to
+		/// be read from the stream, the array should be filled. A subsequent call reads
+		/// the next increment, and so on.
+		///
+		/// If the number of bytes remaining in the stream is less than the length of array
+		/// value, the bytes should be read into the array. The return value of the total number
+		/// of bytes read will be less than the length of the array, indicating that there are
+		/// no more bytes left to be read from the stream. The next read of the stream returns -1.
+		/// </summary>
+		/// <param name="value">
+		/// The byte array that will be used as a buffer to read into.
+		/// </param>
+		/// <returns>
+		/// A <see cref="System.Int32"/>
+		/// The number of bytes read into the passed byte array, or -1 if there are no more
+		/// bytes left to be read from the stream.
+		/// </returns>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		int ReadBytes( byte[] value );
+
+		/// <summary>
+		/// Reads a portion of the bytes message stream.
+		///
+		/// If the length of array value is less than the number of bytes remaining to be
+		/// read from the stream, the array should be filled. A subsequent call reads the
+		/// next increment, and so on.
+		///
+		/// If the number of bytes remaining in the stream is less than the length of array
+		/// value, the bytes should be read into the array. The return value of the total
+		/// number of bytes read will be less than the length of the array, indicating that
+		/// there are no more bytes left to be read from the stream. The next read of the
+		/// stream returns -1.
+		///
+		/// If length is negative, or length is greater than the length of the array value,
+		/// then an Exception is thrown. No bytes will be read from the stream for this
+		/// exception case.
+		/// </summary>
+		/// <param name="value">
+		/// The byte array that will be used as a buffer to read into.
+		/// </param>
+		/// <param name="length">
+		/// The amount of bytes to read into the buffer.
+		/// </param>
+		/// <returns>
+		/// A <see cref="System.Int32"/>
+		/// The number of bytes read into the passed byte array, or -1 if there are no more
+		/// bytes left to be read from the stream.
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		int ReadBytes( byte[] value, int length );
+
+		/// <summary>
+		/// Writes a byte array to the bytes message stream.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Byte"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteBytes( byte[] value );
+
+		/// <summary>
+		/// Writes a portion of a byte array to the bytes message stream.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Byte"/>
+		/// </param>
+		/// <param name="offset">
+		/// A <see cref="System.Int32"/>
+		/// </param>
+		/// <param name="length">
+		/// A <see cref="System.Int32"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteBytes( byte[] value, int offset, int length );
+
+		/// <summary>
+		/// Reads a string that has been encoded using a modified UTF-8 format from the bytes
+		/// message stream.
+		/// </summary>
+		/// <returns>
+		/// A <see cref="System.String"/>
+		/// </returns>
+		/// <exception cref="Apache.NMS.MessageNotReadableException">
+		/// Thrown when the Message is in write-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageEOFException">
+		/// Thrown when an unexpected end of bytes has been reached.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		string ReadString();
+
+		/// <summary>
+		/// Writes a string to the bytes message stream using UTF-8 encoding in a
+		/// machine-independent manner.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.String"/>
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteString( string value );
+
+		/// <summary>
+		/// Writes an object to the bytes message stream.
+		///
+		/// This method works only for the objectified primitive object types
+		/// (Int32, Double, Boolean ...), String objects, and byte arrays.
+		/// </summary>
+		/// <param name="value">
+		/// A <see cref="System.Object"/>
+		/// the object in the .NET programming language to be written; it must not be null
+		/// </param>
+		/// <exception cref="Apache.NMS.MessageFormatException">
+		/// Thrown when the Message has an invalid format.
+		/// </exception>
+		/// <exception cref="Apache.NMS.MessageNotWriteableException">
+		/// Thrown when the Message is in read-only mode.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void WriteObject( System.Object value );
+
+		/// <summary>
+		/// Puts the message body in read-only mode and repositions the stream of bytes to the beginning.
+		/// </summary>
+		/// <exception cref="Apache.NMS.MessageFormatException">
+		/// Thrown when the Message has an invalid format.
+		/// </exception>
+		/// <exception cref="Apache.NMS.NMSException">
+		/// Thrown when there is an unhandled exception thrown from the provider.
+		/// </exception>
+		void Reset();
+
 	}
 }
 

Modified: activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs
URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs?rev=821196&r1=821195&r2=821196&view=diff
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs (original)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/IMessage.cs Fri Oct  2 22:58:05 2009
@@ -28,74 +28,74 @@
 		/// message has been processed correctly.
 		/// </summary>
 		void Acknowledge();
-        
-        /// <summary>
-        /// Clears out the message body. Clearing a message's body does not clear its header 
-        /// values or property entries.
-        /// 
-        /// If this message body was read-only, calling this method leaves the message body in 
-        /// the same state as an empty body in a newly created message.
-        /// </summary>
-        void ClearBody();
-        
-        /// <summary>
-        /// Clears a message's properties.
-        /// 
-        /// The message's header fields and body are not cleared.
-        /// </summary>
-        void ClearProperties();
-		
+
+		/// <summary>
+		/// Clears out the message body. Clearing a message's body does not clear its header
+		/// values or property entries.
+		///
+		/// If this message body was read-only, calling this method leaves the message body in
+		/// the same state as an empty body in a newly created message.
+		/// </summary>
+		void ClearBody();
+
+		/// <summary>
+		/// Clears a message's properties.
+		///
+		/// The message's header fields and body are not cleared.
+		/// </summary>
+		void ClearProperties();
+
 		/// <summary>
 		/// Provides access to the message properties (headers).
 		/// </summary>
 		IPrimitiveMap Properties { get; }
-		
+
 		/// <summary>
 		/// The correlation ID used to correlate messages from conversations or long running business processes.
 		/// </summary>
 		string NMSCorrelationID { get; set; }
-		
+
 		/// <summary>
 		/// The destination of the message.  This property is set by the IMessageProducer.
 		/// </summary>
 		IDestination NMSDestination { get; }
-		
+
 		/// <summary>
 		/// The amount of time for which this message is valid.  Zero if this message does not expire.
 		/// </summary>
 		TimeSpan NMSTimeToLive { get; set; }
-		
+
 		/// <summary>
 		/// The message ID which is set by the provider.
 		/// </summary>
 		string NMSMessageId { get; }
-		
+
 		/// <summary>
 		/// Whether or not this message is persistent.
 		/// </summary>
 		MsgDeliveryMode NMSDeliveryMode { get; set; }
-	
+
 		/// <summary>
 		/// The Priority of this message.
 		/// </summary>
 		MsgPriority NMSPriority { get; set; }
-		
+
 		/// <summary>
 		/// Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
 		/// </summary>
 		bool NMSRedelivered { get; }
-		
+
 		/// <summary>
 		/// The destination that the consumer of this message should send replies to
 		/// </summary>
 		IDestination NMSReplyTo { get; set; }
-		
+
 		/// <summary>
-		/// The timestamp of when the message was pubished in UTC time.  If the publisher disables setting 
+		/// The timestamp of when the message was pubished in UTC time.  If the publisher disables setting
 		/// the timestamp on the message, the time will be set to the start of the UNIX epoc (1970-01-01 00:00:00).
 		/// </summary>
 		DateTime NMSTimestamp { get; }
-		
+
 		/// <summary>
 		/// The type name of this message.
 		/// </summary>



Mime
View raw message