diff options
| author | Steven Shaw <steshaw@apache.org> | 2006-11-29 05:51:43 +0000 |
|---|---|---|
| committer | Steven Shaw <steshaw@apache.org> | 2006-11-29 05:51:43 +0000 |
| commit | 1df5c37bfa8fe1ec20e41dfd2bb06bc10a790917 (patch) | |
| tree | 8012603b18bae10e2c781debf36a5cd9b7e89bb6 /dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs | |
| parent | 74abf7b06d6d3d4d291f87d750500ceded74dd1b (diff) | |
| download | qpid-python-1df5c37bfa8fe1ec20e41dfd2bb06bc10a790917.tar.gz | |
QPID-137. First stab at porting enough to get AutoAcknowledge mode working.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@480423 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs')
| -rw-r--r-- | dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs | 77 |
1 files changed, 46 insertions, 31 deletions
diff --git a/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs b/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs index 4c16038d4b..ae5e2b7e66 100644 --- a/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs +++ b/dotnet/Qpid.Client/Client/Message/QpidTextMessage.cs @@ -22,6 +22,7 @@ using System; using System.Text; using Qpid.Framing; using Qpid.Messaging; +using Qpid.Buffer; namespace Qpid.Client.Message { @@ -29,34 +30,58 @@ namespace Qpid.Client.Message { private const string MIME_TYPE = "text/plain"; - private byte[] _data; - private string _decodedValue; - public QpidTextMessage() : this(null, null) - { + //public QpidTextMessage() : this(null, null) + //{ + //} + + //public QpidTextMessage(byte[] data, String encoding) : base() + //{ + // // the superclass has instantied a content header at this point + // ContentHeaderProperties.ContentType= MIME_TYPE; + // _data = data; + // ContentHeaderProperties.Encoding = encoding; + //} + + //public QpidTextMessage(ulong messageNbr, byte[] data, BasicContentHeaderProperties contentHeader) + // : base(messageNbr, contentHeader) + //{ + // contentHeader.ContentType = MIME_TYPE; + // _data = data; + //} + + //public QpidTextMessage(byte[] data) : this(data, null) + //{ + //} + + //public QpidTextMessage(string text) + //{ + // Text = text; + //} + + internal QpidTextMessage() : this(null, null) + { } - public QpidTextMessage(byte[] data, String encoding) : base() + QpidTextMessage(ByteBuffer data, String encoding) : base(data) { - // the superclass has instantied a content header at this point - ContentHeaderProperties.ContentType= MIME_TYPE; - _data = data; + ContentHeaderProperties.ContentType = MIME_TYPE; ContentHeaderProperties.Encoding = encoding; } - public QpidTextMessage(ulong messageNbr, byte[] data, BasicContentHeaderProperties contentHeader) - : base(messageNbr, contentHeader) - { + internal QpidTextMessage(long deliveryTag, BasicContentHeaderProperties contentHeader, ByteBuffer data) + :base(deliveryTag, contentHeader, data) + { contentHeader.ContentType = MIME_TYPE; _data = data; } - public QpidTextMessage(byte[] data) : this(data, null) - { + QpidTextMessage(ByteBuffer data) : this(data, null) + { } - public QpidTextMessage(string text) + QpidTextMessage(String text) : base((ByteBuffer)null) { Text = text; } @@ -72,18 +97,6 @@ namespace Qpid.Client.Message return Text; } - public override byte[] Data - { - get - { - return _data; - } - set - { - _data = value; - } - } - public override string MimeType { get @@ -109,27 +122,29 @@ namespace Qpid.Client.Message if (ContentHeaderProperties.Encoding != null) { // throw ArgumentException if the encoding is not supported - _decodedValue = Encoding.GetEncoding(ContentHeaderProperties.Encoding).GetString(_data); + _decodedValue = Encoding.GetEncoding(ContentHeaderProperties.Encoding).GetString(_data.ToByteArray()); } else { - _decodedValue = Encoding.Default.GetString(_data); + _decodedValue = Encoding.Default.GetString(_data.ToByteArray()); } return _decodedValue; } } set - { + { + byte[] bytes; if (ContentHeaderProperties.Encoding == null) { - _data = Encoding.Default.GetBytes(value); + bytes = Encoding.Default.GetBytes(value); } else { // throw ArgumentException if the encoding is not supported - _data = Encoding.GetEncoding(ContentHeaderProperties.Encoding).GetBytes(value); + bytes = Encoding.GetEncoding(ContentHeaderProperties.Encoding).GetBytes(value); } + _data = HeapByteBuffer.wrap(bytes, bytes.Length); _decodedValue = value; } } |
