diff options
Diffstat (limited to 'dotnet/Qpid.Common/AMQException.cs')
-rw-r--r-- | dotnet/Qpid.Common/AMQException.cs | 25 |
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> |