summaryrefslogtreecommitdiff
path: root/dotnet/Qpid.Common/AMQException.cs
diff options
context:
space:
mode:
Diffstat (limited to 'dotnet/Qpid.Common/AMQException.cs')
-rw-r--r--dotnet/Qpid.Common/AMQException.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/dotnet/Qpid.Common/AMQException.cs b/dotnet/Qpid.Common/AMQException.cs
index 1b2f5a80bf..4c9c46946e 100644
--- a/dotnet/Qpid.Common/AMQException.cs
+++ b/dotnet/Qpid.Common/AMQException.cs
@@ -19,6 +19,7 @@
*
*/
using System;
+using System.Runtime.Serialization;
using log4net;
namespace Qpid
@@ -26,6 +27,7 @@ namespace Qpid
/// <summary>
/// The generic AMQ exception.
/// </summary>
+ [Serializable]
public class AMQException : Exception
{
private int _errorCode;
@@ -105,6 +107,29 @@ namespace Qpid
}
/// <summary>
+ /// Serialization Constructor
+ /// </summary>
+ /// <param name="info">SerializationInfo object</param>
+ /// <param name="ctxt">StreamingContext object</param>
+ protected AMQException(SerializationInfo info, StreamingContext ctxt)
+ : base(info, ctxt)
+ {
+ _errorCode = info.GetInt32("ErrorCode");
+ }
+
+ /// <summary>
+ /// ISerializable implementation of GetObjectData()
+ /// </summary>
+ /// <param name="info">SerializationInfo object</param>
+ /// <param name="ctxt">StreamingContext object</param>
+ public override void GetObjectData(SerializationInfo info, StreamingContext context)
+ {
+ base.GetObjectData(info, context);
+ info.AddValue("ErrorCode", _errorCode);
+ }
+
+
+ /// <summary>
/// Gets or sets the error code. See RFC 006 for details of error codes.
/// </summary>
/// <value>The error code.</value>