1 // This source code is dual-licensed under the Apache License, version
2 // 2.0, and the Mozilla Public License, version 1.1.
6 //---------------------------------------------------------------------------
7 // Copyright (C) 2007-2009 LShift Ltd., Cohesive Financial
8 // Technologies LLC., and Rabbit Technologies Ltd.
10 // Licensed under the Apache License, Version 2.0 (the "License");
11 // you may not use this file except in compliance with the License.
12 // You may obtain a copy of the License at
14 // http://www.apache.org/licenses/LICENSE-2.0
16 // Unless required by applicable law or agreed to in writing, software
17 // distributed under the License is distributed on an "AS IS" BASIS,
18 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 // See the License for the specific language governing permissions and
20 // limitations under the License.
21 //---------------------------------------------------------------------------
25 //---------------------------------------------------------------------------
26 // The contents of this file are subject to the Mozilla Public License
27 // Version 1.1 (the "License"); you may not use this file except in
28 // compliance with the License. You may obtain a copy of the License at
29 // http://www.rabbitmq.com/mpl.html
31 // Software distributed under the License is distributed on an "AS IS"
32 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
33 // License for the specific language governing rights and limitations
36 // The Original Code is The RabbitMQ .NET Client.
38 // The Initial Developers of the Original Code are LShift Ltd,
39 // Cohesive Financial Technologies LLC, and Rabbit Technologies Ltd.
41 // Portions created before 22-Nov-2008 00:00:00 GMT by LShift Ltd,
42 // Cohesive Financial Technologies LLC, or Rabbit Technologies Ltd
43 // are Copyright (C) 2007-2008 LShift Ltd, Cohesive Financial
44 // Technologies LLC, and Rabbit Technologies Ltd.
46 // Portions created by LShift Ltd are Copyright (C) 2007-2009 LShift
47 // Ltd. Portions created by Cohesive Financial Technologies LLC are
48 // Copyright (C) 2007-2009 Cohesive Financial Technologies
49 // LLC. Portions created by Rabbit Technologies Ltd are Copyright
50 // (C) 2007-2009 Rabbit Technologies Ltd.
52 // All Rights Reserved.
54 // Contributor(s): ______________________________________.
56 //---------------------------------------------------------------------------
59 namespace RabbitMQ.Client.Events
61 ///<summary>Contains all the information about a message delivered
62 ///from an AMQP broker within the Basic content-class.</summary>
63 public class BasicDeliverEventArgs : EventArgs
65 private string m_consumerTag;
66 private ulong m_deliveryTag;
67 private bool m_redelivered;
68 private string m_exchange;
69 private string m_routingKey;
70 private IBasicProperties m_basicProperties;
71 private byte[] m_body;
73 ///<summary>Default constructor.</summary>
74 public BasicDeliverEventArgs() { }
76 ///<summary>Constructor that fills the event's properties from
77 ///its arguments.</summary>
78 public BasicDeliverEventArgs(string consumerTag,
83 IBasicProperties properties,
86 this.m_consumerTag = consumerTag;
87 this.m_deliveryTag = deliveryTag;
88 this.m_redelivered = redelivered;
89 this.m_exchange = exchange;
90 this.m_routingKey = routingKey;
91 this.m_basicProperties = properties;
95 ///<summary>The consumer tag of the consumer that the message
96 ///was delivered to.</summary>
97 public string ConsumerTag
99 get { return m_consumerTag; }
100 set { m_consumerTag = value; }
103 ///<summary>The delivery tag for this delivery. See
104 ///IModel.BasicAck.</summary>
105 public ulong DeliveryTag
107 get { return m_deliveryTag; }
108 set { m_deliveryTag = value; }
111 ///<summary>The AMQP "redelivered" flag.</summary>
112 public bool Redelivered
114 get { return m_redelivered; }
115 set { m_redelivered = value; }
118 ///<summary>The exchange the message was originally published
120 public string Exchange
122 get { return m_exchange; }
123 set { m_exchange = value; }
126 ///<summary>The routing key used when the message was
127 ///originally published.</summary>
128 public string RoutingKey
130 get { return m_routingKey; }
131 set { m_routingKey = value; }
134 ///<summary>The content header of the message.</summary>
135 public IBasicProperties BasicProperties
137 get { return m_basicProperties; }
138 set { m_basicProperties = value; }
141 ///<summary>The message body.</summary>
144 get { return m_body; }
145 set { m_body = value; }