internal LockState(LockManager LockManager, LockType LockType, IEnumerable <LockableBase> BaseDataObjectStateTrackers, Action <LockState> StateChanged, Action <LockState> ReportStale, TimeSpan Timeout) { if (LockManager == null) { throw new ArgumentNullException("LockManager"); } if (BaseDataObjectStateTrackers == null) { throw new ArgumentNullException("BaseDataObjects"); } if (StateChanged == null) { throw new ArgumentNullException("StateChanged"); } if (ReportStale == null) { throw new ArgumentNullException("ReportStale"); } lockManager = LockManager; lock_status = new object(); reportStale = ReportStale; lockType = LockType; lockables = new SortedSet <LockableBase> (BaseDataObjectStateTrackers); stateChanged = StateChanged; defaultTimeout = Timeout; if (Timeout == TimeSpan.Zero) { Timeout = TimeSpan.MaxValue; } }
internal LockState(LockManager LockManager, LockType LockType, IEnumerable<LockableBase> BaseDataObjectStateTrackers, Action<LockState> StateChanged, Action<LockState> ReportStale, TimeSpan Timeout) { if (LockManager == null) throw new ArgumentNullException ("LockManager"); if (BaseDataObjectStateTrackers == null) throw new ArgumentNullException ("BaseDataObjects"); if (StateChanged == null) throw new ArgumentNullException ("StateChanged"); if (ReportStale == null) throw new ArgumentNullException ("ReportStale"); lockManager = LockManager; lock_status = new object (); reportStale = ReportStale; lockType = LockType; lockables = new SortedSet<LockableBase> (BaseDataObjectStateTrackers); stateChanged = StateChanged; defaultTimeout = Timeout; if (Timeout == TimeSpan.Zero) { Timeout = TimeSpan.MaxValue; } }