Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WaitForChanged() [2/2]

WaitForChangedResult System.IO.FileSystemWatcher.WaitForChanged ( WatcherChangeTypes changeType,
int timeout )
inline

Definition at line 588 of file FileSystemWatcher.cs.

589 {
591 FileSystemEventHandler fileSystemEventHandler = null;
592 RenamedEventHandler renamedEventHandler = null;
593 if ((changeType & (WatcherChangeTypes.Created | WatcherChangeTypes.Deleted | WatcherChangeTypes.Changed)) != 0)
594 {
595 fileSystemEventHandler = delegate(object s, FileSystemEventArgs e)
596 {
597 if ((e.ChangeType & changeType) != 0)
598 {
599 tcs.TrySetResult(new WaitForChangedResult(e.ChangeType, e.Name, null, timedOut: false));
600 }
601 };
602 if ((changeType & WatcherChangeTypes.Created) != 0)
603 {
605 }
606 if ((changeType & WatcherChangeTypes.Deleted) != 0)
607 {
609 }
610 if ((changeType & WatcherChangeTypes.Changed) != 0)
611 {
613 }
614 }
615 if ((changeType & WatcherChangeTypes.Renamed) != 0)
616 {
617 renamedEventHandler = delegate(object s, RenamedEventArgs e)
618 {
619 if ((e.ChangeType & changeType) != 0)
620 {
621 tcs.TrySetResult(new WaitForChangedResult(e.ChangeType, e.Name, e.OldName, timedOut: false));
622 }
623 };
625 }
626 try
627 {
630 {
631 EnableRaisingEvents = true;
632 }
633 tcs.Task.Wait(timeout);
635 }
636 finally
637 {
638 if (renamedEventHandler != null)
639 {
641 }
642 if (fileSystemEventHandler != null)
643 {
644 if ((changeType & WatcherChangeTypes.Changed) != 0)
645 {
647 }
648 if ((changeType & WatcherChangeTypes.Deleted) != 0)
649 {
651 }
652 if ((changeType & WatcherChangeTypes.Created) != 0)
653 {
655 }
656 }
657 }
658 if (!tcs.Task.IsCompletedSuccessfully)
659 {
660 return WaitForChangedResult.TimedOutResult;
661 }
662 return tcs.Task.Result;
663 }
FileSystemEventHandler? Changed
FileSystemEventHandler? Created
FileSystemEventHandler? Deleted

References System.IO.FileSystemWatcher.Changed, System.IO.FileSystemEventArgs.ChangeType, System.IO.FileSystemWatcher.Created, System.IO.FileSystemWatcher.Deleted, System.IO.FileSystemWatcher.EnableRaisingEvents, System.IO.FileSystemEventArgs.Name, System.IO.RenamedEventArgs.OldName, System.IO.FileSystemWatcher.Renamed, System.s, System.IO.WaitForChangedResult.TimedOutResult, and System.timeout.