Changeset 924


Ignore:
Timestamp:
4/29/2009 12:47:24 PM (5 years ago)
Author:
lowjoel
Message:

-Task.GetPathADSes now no lnoger takes a List reference, but a list instead (lists are passed by reference)
-Task.GetPathADSes now takes an out long for the size of files instead of a ref (out is more appropriate)
-Fixed the ErasureTargetsCollection? class's IsReadOnly? property, Remove and Clear functions

-Remove and clear now removes the target's reference to the task when removed (detaching)

File:
1 edited

Legend:

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

    r920 r924  
    328328        /// The task which owns this target. 
    329329        /// </summary> 
    330         public Task Task 
    331         { 
    332             get 
    333             { 
    334                 return task; 
    335             } 
    336             internal set 
    337             { 
    338                 task = value; 
    339             } 
    340         } 
     330        public Task Task { get; internal set; } 
    341331 
    342332        /// <summary> 
     
    409399        /// <param name="list">The list to add the ADS paths to.</param> 
    410400        /// <param name="file">The file to look for ADSes</param> 
    411         protected void GetPathADSes(ref List<string> list, ref long totalSize, string file) 
    412         { 
     401        protected void GetPathADSes(List<string> list, out long totalSize, string file) 
     402        { 
     403            totalSize = 0; 
     404 
    413405            try 
    414406            { 
     
    569561            List<string> result = new List<string>(); 
    570562            totalSize = 0; 
    571             GetPathADSes(ref result, ref totalSize, Path); 
     563            GetPathADSes(result, out totalSize, Path); 
    572564 
    573565            totalSize += new FileInfo(Path).Length; 
     
    635627                    { 
    636628                        totalSize += file.Length; 
    637                         GetPathADSes(ref result, ref totalSize, file.FullName); 
     629                        GetPathADSes(result, out totalSize, file.FullName); 
    638630                        result.Add(file.FullName); 
    639631                    } 
     
    646638 
    647639                    totalSize += file.Length; 
    648                     GetPathADSes(ref result, ref totalSize, file.FullName); 
     640                    GetPathADSes(result, out totalSize, file.FullName); 
    649641                    result.Add(file.FullName); 
    650642                } 
     
    774766                        paths.Add(fsInfo.FullName); 
    775767                        totalSize += ((FileInfo)fsInfo).Length; 
    776                         GetPathADSes(ref paths, ref totalSize, fsInfo.FullName); 
     768                        GetPathADSes(paths, out totalSize, fsInfo.FullName); 
    777769                    } 
    778770                    else 
     
    848840        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() 
    849841        { 
    850             return list.GetEnumerator(); 
     842            return GetEnumerator(); 
    851843        } 
    852844        #endregion 
     
    861853        public void Clear() 
    862854        { 
    863             list.Clear(); 
     855            foreach (ErasureTarget item in list) 
     856                Remove(item); 
    864857        } 
    865858 
     
    886879            get 
    887880            { 
    888                 return IsReadOnly; 
     881                return false; 
    889882            } 
    890883        } 
     
    892885        public bool Remove(ErasureTarget item) 
    893886        { 
    894             return list.Remove(item); 
     887            int index = list.IndexOf(item); 
     888            if (index < 0) 
     889                return false; 
     890 
     891            RemoveAt(index); 
     892            return true; 
    895893        } 
    896894        #endregion 
     
    952950        /// The list bring the data store behind this object. 
    953951        /// </summary> 
    954         List<ErasureTarget> list; 
     952        private List<ErasureTarget> list; 
    955953    } 
    956954 
Note: See TracChangeset for help on using the changeset viewer.