Changeset 1230


Ignore:
Timestamp:
09/30/09 05:03:22 (5 years ago)
Author:
lowjoel
Message:

Implemented FAT16 support in DefaultPlugin?.

Location:
trunk/eraser6/Eraser.DefaultPlugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Fat.cs

    r1221 r1230  
    7171        } 
    7272 
    73         protected override DateTime MinTimestamp 
    74         { 
    75             get 
    76             { 
    77                 return new DateTime(1980, 1, 1, 0, 0, 0); 
    78             } 
    79         } 
    80     } 
    81  
    82     public class Fat32FileSystem : FatFileSystem 
    83     { 
    84         public override bool Supports(string fileSystemName) 
    85         { 
    86             if (fileSystemName == "FAT32") 
    87                 return true; 
    88             return false; 
    89         } 
    90  
    9173        public override void EraseDirectoryStructures(VolumeInfo info, 
    9274            FileSystemEntriesEraseProgress callback) 
     
    9577            { 
    9678                int directoriesCleaned = 0; 
    97                 Fat32Api api = new Fat32Api(info, stream); 
     79                FatApi api = GetFatApi(info, stream); 
    9880                HashSet<uint> eraseQueueClusters = new HashSet<uint>(); 
    9981                List<FatDirectoryEntry> eraseQueue = new List<FatDirectoryEntry>(); 
     
    11193                            callback(directoriesCleaned, directoriesCleaned + eraseQueue.Count); 
    11294 
    113                         FatDirectory currentDir = api.LoadDirectory(eraseQueue[0].FullName); 
     95                        FatDirectoryBase currentDir = api.LoadDirectory(eraseQueue[0].FullName); 
    11496                        eraseQueue.RemoveAt(0); 
    11597 
     
    132114            } 
    133115        } 
     116 
     117        protected override DateTime MinTimestamp 
     118        { 
     119            get 
     120            { 
     121                return new DateTime(1980, 1, 1, 0, 0, 0); 
     122            } 
     123        } 
     124 
     125        /// <summary> 
     126        ///  Gets the FAT API to use to interface with the disk. 
     127        /// </summary> 
     128        protected abstract FatApi GetFatApi(VolumeInfo info, FileStream stream); 
     129    } 
     130 
     131    public class Fat16FileSystem : FatFileSystem 
     132    { 
     133        public override bool Supports(string fileSystemName) 
     134        { 
     135            if (fileSystemName == "FAT16") 
     136                return true; 
     137            return false; 
     138        } 
     139 
     140        protected override FatApi GetFatApi(VolumeInfo info, FileStream stream) 
     141        { 
     142            return new Fat16Api(info, stream); 
     143        } 
     144    } 
     145 
     146    public class Fat32FileSystem : FatFileSystem 
     147    { 
     148        public override bool Supports(string fileSystemName) 
     149        { 
     150            if (fileSystemName == "FAT32") 
     151                return true; 
     152            return false; 
     153        } 
     154 
     155        protected override FatApi GetFatApi(VolumeInfo info, FileStream stream) 
     156        { 
     157            return new Fat32Api(info, stream); 
     158        } 
    134159    } 
    135160} 
  • trunk/eraser6/Eraser.DefaultPlugins/Plugin.cs

    r1210 r1230  
    5656            PrngManager.Register(new RngCrypto()); 
    5757 
     58            FileSystemManager.Register(new Fat16FileSystem()); 
    5859            FileSystemManager.Register(new Fat32FileSystem()); 
    5960            FileSystemManager.Register(new NtfsFileSystem()); 
Note: See TracChangeset for help on using the changeset viewer.