Ignore:
Timestamp:
11/10/08 09:03:31 (6 years ago)
Author:
lowjoel
Message:

-The ErasureTarget?.Method property should always return a valid Erasure method. Therefore, to check if the user specified to use defaults, I've added the MethodDefined? property
-Fixed the Task data selection form: the erasure method was not set even if it was defined

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/Manager/Task.cs

    r485 r486  
    7272            /// task type. 
    7373            /// </summary> 
    74             public ErasureMethod Method 
    75             { 
    76                 get { return method; } 
    77                 set { method = value; } 
     74            public abstract ErasureMethod Method 
     75            { 
     76                get; 
     77                set; 
     78            } 
     79 
     80            /// <summary> 
     81            /// Checks whether a method has been selected for this target. This is 
     82            /// because the Method property will return non-default erasure methods 
     83            /// only. 
     84            /// </summary> 
     85            public bool MethodDefined 
     86            { 
     87                get 
     88                { 
     89                    return method != ErasureMethodManager.Default; 
     90                } 
    7891            } 
    7992 
     
    8699            } 
    87100 
    88             private ErasureMethod method = null; 
     101            /// <summary> 
     102            /// Retrieves the amount of data that needs to be written in order to 
     103            /// complete the erasure. 
     104            /// </summary> 
     105            public abstract long TotalData 
     106            { 
     107                get; 
     108            } 
     109 
     110            protected ErasureMethod method = null; 
    89111        } 
    90112 
     
    154176            } 
    155177 
     178            public override ErasureMethod Method 
     179            { 
     180                get 
     181                { 
     182                    if (method != ErasureMethodManager.Default) 
     183                        return method; 
     184                    return ErasureMethodManager.GetInstance( 
     185                        ManagerLibrary.Instance.Settings.DefaultFileErasureMethod); 
     186                } 
     187                set 
     188                { 
     189                    method = value; 
     190                } 
     191            } 
     192 
    156193            public override string UIText 
    157194            { 
    158195                get { return Path; } 
     196            } 
     197 
     198            public override long TotalData 
     199            { 
     200                get 
     201                { 
     202                    long totalSize = 0; 
     203                    List<string> paths = GetPaths(out totalSize); 
     204                    return Method.CalculateEraseDataSize(paths, totalSize); 
     205                } 
    159206            } 
    160207 
     
    192239            } 
    193240 
     241            public override ErasureMethod Method 
     242            { 
     243                get 
     244                { 
     245                    if (method != ErasureMethodManager.Default) 
     246                        return method; 
     247                    return ErasureMethodManager.GetInstance( 
     248                        ManagerLibrary.Instance.Settings.DefaultUnusedSpaceErasureMethod); 
     249                } 
     250                set 
     251                { 
     252                    method = value; 
     253                } 
     254            } 
     255 
    194256            public override string UIText 
    195257            { 
    196258                get { return string.Format("Unused disk space ({0})", Drive); } 
     259            } 
     260 
     261            public override long TotalData 
     262            { 
     263                get 
     264                { 
     265                    VolumeInfo info = VolumeInfo.FromMountpoint(Drive); 
     266                    return Method.CalculateEraseDataSize(null, info.AvailableFreeSpace); 
     267                } 
    197268            } 
    198269 
     
    683754        public TimeSpan TimeLeft 
    684755        { 
    685             get { return new TimeSpan(timeLeft * 10000000L); } 
     756            get { return timeLeft; } 
    686757        } 
    687758 
     
    746817 
    747818        private float overallProgress = 0.0f; 
    748         internal int timeLeft = -1; 
     819        internal TimeSpan timeLeft = new TimeSpan(0, 0, -1); 
    749820 
    750821        internal Task.ErasureTarget currentTarget; 
Note: See TracChangeset for help on using the changeset viewer.