-
Notifications
You must be signed in to change notification settings - Fork 0
/
IFileSystemWatcher.cs
73 lines (61 loc) · 2.27 KB
/
IFileSystemWatcher.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
namespace Zio
{
/// <summary>
/// Interface for a filesystem watcher.
/// </summary>
/// <inheritdoc />
public interface IFileSystemWatcher : IDisposable
{
/// <summary>
/// Event for when a file or directory changes.
/// </summary>
event EventHandler<FileChangedEventArgs> Changed;
/// <summary>
/// Event for when a file or directory is created.
/// </summary>
event EventHandler<FileChangedEventArgs> Created;
/// <summary>
/// Event for when a file or directory is deleted.
/// </summary>
event EventHandler<FileChangedEventArgs> Deleted;
/// <summary>
/// Event for when the filesystem encounters an error.
/// </summary>
event EventHandler<FileSystemErrorEventArgs> Error;
/// <summary>
/// Event for when a file or directory is renamed.
/// </summary>
event EventHandler<FileRenamedEventArgs> Renamed;
/// <summary>
/// The <see cref="IFileSystem"/> this instance is watching.
/// </summary>
IFileSystem FileSystem { get; }
/// <summary>
/// The path being watched by the filesystem.
/// </summary>
UPath Path { get; }
/// <summary>
/// Implementation-defined buffer size for storing events.
/// </summary>
int InternalBufferSize { get; set; }
/// <summary>
/// Implementation-defined filters for filtering events.
/// </summary>
NotifyFilters NotifyFilter { get; set; }
/// <summary>
/// True to enable raising events, false to never raise them. Default false.
/// </summary>
bool EnableRaisingEvents { get; set; }
/// <summary>
/// File name and extension filter. Use <c>"*"</c> to specify variable length placeholder, <c>"?"</c>
/// for a single character placeholder. Default is <c>"*.*"</c> for all files.
/// </summary>
string Filter { get; set; }
/// <summary>
/// True to watch all subdirectories in <see cref="Path"/>, false to only watch entries directly
/// in <see cref="Path"/>.
/// </summary>
bool IncludeSubdirectories { get; set; }
}
}