//public event RenamedEventHandler Renamed;\r
public event MovedEventHandler Moved;\r
\r
- public FileSystemWatcherAdapter(FileSystemWatcher watcher)\r
+ private FileAgent _agent;\r
+\r
+ public FileSystemWatcherAdapter(FileSystemWatcher watcher,FileAgent agent)\r
{\r
if (watcher==null)\r
throw new ArgumentNullException("watcher");\r
Contract.EndContractBlock();\r
\r
+ _agent = agent;\r
watcher.Changed += OnChangeOrCreate;\r
watcher.Created += OnChangeOrCreate;\r
watcher.Deleted += OnDeleted;\r
\r
private void InnerOnDeleted(object sender, FileSystemEventArgs e)\r
{\r
+ if (_agent.Ignore(e.FullPath))\r
+ return;\r
+ if (NetworkGate.GetNetworkState(e.FullPath) != NetworkOperation.None)\r
+ return;\r
+\r
//Handle any previously deleted event\r
if (Log.IsDebugEnabled)\r
Log.DebugFormat("[{0}] for [{1}]", Enum.GetName(typeof(WatcherChangeTypes), e.ChangeType), e.FullPath);\r
\r
private void InnerRename(object sender, RenamedEventArgs e)\r
{\r
+ if (_agent.Ignore(e.FullPath) || _agent.Ignore(e.OldFullPath))\r
+ return;\r
+ if (NetworkGate.GetNetworkState(e.FullPath) != NetworkOperation.None)\r
+ return;\r
+\r
try\r
{\r
if (Log.IsDebugEnabled)\r
\r
private void InnerChangeOrCreated(object sender, FileSystemEventArgs e)\r
{\r
+ if (_agent.Ignore(e.FullPath))\r
+ return;\r
+ var networkOperation = NetworkGate.GetNetworkState(e.FullPath);\r
+ if (networkOperation!=NetworkOperation.None)\r
+ return;\r
+\r
try\r
{\r
if (Log.IsDebugEnabled)\r