Changeset 2584


Ignore:
Timestamp:
3/30/2012 5:52:34 AM (2 years ago)
Author:
lowjoel
Message:

Switch the Default Plugin's erasure targets to follow the new IXmlSerializable interface.

Location:
branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs

    r2516 r2584  
    2525using System.Text; 
    2626using System.Runtime.InteropServices; 
    27 using System.Security.Permissions; 
    28 using System.Runtime.Serialization; 
     27using System.Xml; 
     28using System.Xml.Serialization; 
    2929using System.IO; 
     30using System.Globalization; 
    3031 
    3132using Eraser.Util; 
     
    4950 
    5051        #region Serialization code 
    51         protected DriveErasureTarget(SerializationInfo info, StreamingContext context) 
    52             : base(info, context) 
    53         { 
    54             string volumeId = info.GetString("Volume"); 
    55             int physicalDriveIndex = info.GetInt32("PhysicalDrive"); 
     52        public override void ReadXml(XmlReader reader) 
     53        { 
     54            base.ReadXml(reader); 
     55 
     56            string volumeId = reader.GetAttribute("volume"); 
     57            int physicalDriveIndex = -1; 
     58            int.TryParse(reader.GetAttribute("physicalDrive"), out physicalDriveIndex); 
    5659 
    5760            if (volumeId != null) 
     
    6366        } 
    6467 
    65         [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] 
    66         public override void GetObjectData(SerializationInfo info, StreamingContext context) 
    67         { 
    68             base.GetObjectData(info, context); 
    69             info.AddValue("Volume", Volume == null ? null : Volume.VolumeId); 
    70             info.AddValue("PhysicalDrive", PhysicalDrive == null ? -1 : PhysicalDrive.Index); 
     68        public override void WriteXml(XmlWriter writer) 
     69        { 
     70            base.WriteXml(writer); 
     71 
     72            writer.WriteAttributeString("volume", Volume == null ? null : Volume.VolumeId); 
     73            writer.WriteAttributeString("physicalDrive", 
     74                (PhysicalDrive == null ? -1 : PhysicalDrive.Index).ToString( 
     75                    CultureInfo.InvariantCulture)); 
    7176        } 
    7277        #endregion 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs

    r2515 r2584  
    2424using System.Linq; 
    2525using System.Text; 
    26 using System.Runtime.Serialization; 
    27 using System.Security.Permissions; 
     26using System.Xml; 
     27using System.Xml.Serialization; 
    2828 
    2929using Eraser.Util; 
     
    6969 
    7070        #region Serialization code 
    71         protected ErasureTargetBase(SerializationInfo info, StreamingContext context) 
     71        public System.Xml.Schema.XmlSchema GetSchema() 
    7272        { 
    73             Guid methodGuid = (Guid)info.GetValue("Method", typeof(Guid)); 
     73            return null; 
     74        } 
     75 
     76        public virtual void ReadXml(XmlReader reader) 
     77        { 
     78            Guid methodGuid = Guid.Empty; 
     79            if (reader.HasAttributes) 
     80                methodGuid = new Guid(reader.GetAttribute("method")); 
     81 
    7482            if (methodGuid == Guid.Empty) 
    7583                Method = ErasureMethodRegistrar.Default; 
     
    7886        } 
    7987 
    80         [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] 
    81         public virtual void GetObjectData(SerializationInfo info, StreamingContext context) 
     88        public virtual void WriteXml(XmlWriter writer) 
    8289        { 
    83             info.AddValue("Method", Method.Guid); 
     90            if (method != ErasureMethodRegistrar.Default) 
     91                writer.WriteAttributeString("method", method.Guid.ToString()); 
    8492        } 
    8593        #endregion 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/FileErasureTarget.cs

    r2516 r2584  
    4242    class FileErasureTarget : FileSystemObjectErasureTarget 
    4343    { 
    44         #region Serialization code 
    45         protected FileErasureTarget(SerializationInfo info, StreamingContext context) 
    46             : base(info, context) 
    47         { 
    48         } 
    49         #endregion 
    50  
    5144        /// <summary> 
    5245        /// Constructor. 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

    r2516 r2584  
    2525using System.Text; 
    2626 
    27 using System.Runtime.Serialization; 
    28 using System.Runtime.InteropServices; 
    29 using System.Security.Permissions; 
     27using System.Xml; 
     28using System.Xml.Serialization; 
    3029using System.IO; 
    3130 
     
    4544    { 
    4645        #region Serialization code 
    47         protected FileSystemObjectErasureTarget(SerializationInfo info, StreamingContext context) 
    48             : base(info, context) 
    49         { 
    50             Path = (string)info.GetValue("Path", typeof(string)); 
    51         } 
    52  
    53         [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] 
    54         public override void GetObjectData(SerializationInfo info, StreamingContext context) 
    55         { 
    56             base.GetObjectData(info, context); 
    57             info.AddValue("Path", Path); 
     46        public override void ReadXml(XmlReader reader) 
     47        { 
     48            base.ReadXml(reader); 
     49            Path = reader.ReadString(); 
     50        } 
     51 
     52        public override void WriteXml(XmlWriter writer) 
     53        { 
     54            base.WriteXml(writer); 
     55            writer.WriteString(Path); 
    5856        } 
    5957        #endregion 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs

    r2561 r2584  
    2626 
    2727using System.Text.RegularExpressions; 
    28 using System.Runtime.Serialization; 
     28using System.Xml; 
     29using System.Xml.Serialization; 
    2930using System.Runtime.InteropServices; 
    30 using System.Security.Permissions; 
    3131using System.IO; 
     32using System.Globalization; 
    3233 
    3334using Eraser.Util; 
     
    4546    { 
    4647        #region Serialization code 
    47         protected FolderErasureTarget(SerializationInfo info, StreamingContext context) 
    48             : base(info, context) 
    49         { 
    50             IncludeMask = (string)info.GetValue("IncludeMask", typeof(string)); 
    51             ExcludeMask = (string)info.GetValue("ExcludeMask", typeof(string)); 
    52             DeleteIfEmpty = (bool)info.GetValue("DeleteIfEmpty", typeof(bool)); 
    53         } 
    54  
    55         [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] 
    56         public override void GetObjectData(SerializationInfo info, StreamingContext context) 
    57         { 
    58             base.GetObjectData(info, context); 
    59             info.AddValue("IncludeMask", IncludeMask); 
    60             info.AddValue("ExcludeMask", ExcludeMask); 
    61             info.AddValue("DeleteIfEmpty", DeleteIfEmpty); 
     48        public override void ReadXml(XmlReader reader) 
     49        { 
     50            base.ReadXml(reader); 
     51            IncludeMask = reader.GetAttribute("includeMask"); 
     52            ExcludeMask = reader.GetAttribute("excludeMask"); 
     53 
     54            if (reader.HasAttributes) 
     55            { 
     56                bool deleteIfEmpty = true; 
     57                bool.TryParse(reader.GetAttribute("deleteIfEmpty"), out deleteIfEmpty); 
     58                DeleteIfEmpty = deleteIfEmpty; 
     59            } 
     60        } 
     61 
     62        public override void WriteXml(XmlWriter writer) 
     63        { 
     64            base.WriteXml(writer); 
     65            writer.WriteAttributeString("includeMask", IncludeMask); 
     66            writer.WriteAttributeString("excludeMask", ExcludeMask); 
     67            writer.WriteAttributeString("deleteIfEmpty", 
     68                DeleteIfEmpty.ToString(CultureInfo.InvariantCulture)); 
    6269        } 
    6370        #endregion 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs

    r2527 r2584  
    4040    class RecycleBinErasureTarget : FileSystemObjectErasureTarget 
    4141    { 
    42         #region Serialization code 
    43         protected RecycleBinErasureTarget(SerializationInfo info, StreamingContext context) 
    44             : base(info, context) 
    45         { 
    46         } 
    47         #endregion 
    48  
    4942        public RecycleBinErasureTarget() 
    5043        { 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs

    r2516 r2584  
    2626 
    2727using System.Runtime.InteropServices; 
    28 using System.Runtime.Serialization; 
    29 using System.Security.Permissions; 
     28using System.Xml; 
     29using System.Xml.Serialization; 
    3030using System.IO; 
    3131 
     
    4545    { 
    4646        #region Serialization code 
    47         protected SecureMoveErasureTarget(SerializationInfo info, StreamingContext context) 
    48             : base(info, context) 
    49         { 
    50             Destination = (string)info.GetValue("Destination", typeof(string)); 
    51         } 
    52  
    53         [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] 
    54         public override void GetObjectData(SerializationInfo info, StreamingContext context) 
    55         { 
    56             base.GetObjectData(info, context); 
    57             info.AddValue("Destination", Destination); 
     47        public override void ReadXml(XmlReader reader) 
     48        { 
     49            base.ReadXml(reader); 
     50            Destination = reader.GetAttribute("destination"); 
     51        } 
     52 
     53        public override void WriteXml(XmlWriter writer) 
     54        { 
     55            base.WriteXml(writer); 
     56            writer.WriteAttributeString("destination", Destination); 
    5857        } 
    5958        #endregion 
  • branches/eraser6/XmlTaskLists/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs

    r2516 r2584  
    2525using System.Text; 
    2626 
    27 using System.Runtime.Serialization; 
     27using System.Xml; 
     28using System.Xml.Serialization; 
    2829using System.Runtime.InteropServices; 
    29 using System.Security.Permissions; 
    3030using System.IO; 
     31using System.Globalization; 
    3132 
    3233using Eraser.Util; 
     
    4647    { 
    4748        #region Serialization code 
    48         protected UnusedSpaceErasureTarget(SerializationInfo info, StreamingContext context) 
    49             : base(info, context) 
    50         { 
    51             Drive = (string)info.GetValue("Drive", typeof(string)); 
    52             EraseClusterTips = (bool)info.GetValue("EraseClusterTips", typeof(bool)); 
    53         } 
    54  
    55         [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] 
    56         public override void GetObjectData(SerializationInfo info, StreamingContext context) 
    57         { 
    58             base.GetObjectData(info, context); 
    59             info.AddValue("Drive", Drive); 
    60             info.AddValue("EraseClusterTips", EraseClusterTips); 
     49        public override void ReadXml(XmlReader reader) 
     50        { 
     51            base.ReadXml(reader); 
     52 
     53            Drive = reader.ReadString(); 
     54            EraseClusterTips = false; 
     55            if (reader.HasAttributes) 
     56            { 
     57                bool eraseClusterTips = false; 
     58                bool.TryParse(reader.GetAttribute("eraseClusterTips"), out eraseClusterTips); 
     59                EraseClusterTips = eraseClusterTips; 
     60            } 
     61        } 
     62 
     63        public override void WriteXml(XmlWriter writer) 
     64        { 
     65            base.WriteXml(writer); 
     66 
     67            writer.WriteString(Drive); 
     68            writer.WriteAttributeString("eraseClusterTips", EraseClusterTips.ToString( 
     69                CultureInfo.InvariantCulture)); 
    6170        } 
    6271        #endregion 
Note: See TracChangeset for help on using the changeset viewer.