Changeset 2755


Ignore:
Timestamp:
7/2/2012 4:27:36 AM (2 years ago)
Author:
lowjoel
Message:

Override equality testing for the Schedule types, since previously we'd only compare against local references but we can compare against objects which actually exist outside of our process address space.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/EraserService/Eraser.Manager/Schedule.cs

    r2611 r2755  
    8888                return string.Empty; 
    8989            } 
     90 
     91            public override bool Equals(object obj) 
     92            { 
     93                return obj is RunManuallySchedule; 
     94            } 
     95 
     96            public override int GetHashCode() 
     97            { 
     98                return -1; 
     99            } 
    90100        } 
    91101 
     
    124134                return string.Empty; 
    125135            } 
     136 
     137            public override bool Equals(object obj) 
     138            { 
     139                return obj is RunNowSchedule; 
     140            } 
     141 
     142            public override int GetHashCode() 
     143            { 
     144                return -2; 
     145            } 
    126146        } 
    127147 
     
    160180                return S._("Running on restart"); 
    161181            } 
     182 
     183            public override bool Equals(object obj) 
     184            { 
     185                return obj is RunOnRestartSchedule; 
     186            } 
     187 
     188            public override int GetHashCode() 
     189            { 
     190                return -3; 
     191            } 
    162192        } 
    163193        #endregion 
     
    168198        /// </summary> 
    169199        public abstract override string ToString(); 
     200 
     201        /// <summary> 
     202        /// Comparison operator. This allows us to compare against our constants. 
     203        /// </summary> 
     204        public static bool operator==(Schedule lhs, Schedule rhs) 
     205        { 
     206            return lhs.Equals(rhs); 
     207        } 
     208 
     209        public static bool operator!=(Schedule lhs, Schedule rhs) 
     210        { 
     211            return !(lhs == rhs); 
     212        } 
     213         
     214        public override bool Equals(object obj) 
     215        { 
     216            return base.Equals(obj); 
     217        } 
     218 
     219        public override int GetHashCode() 
     220        { 
     221            return base.GetHashCode(); 
     222        } 
    170223 
    171224        /// <summary> 
Note: See TracChangeset for help on using the changeset viewer.