@@ -64,7 +64,6 @@ public string Name
64
64
get { return name_ ; }
65
65
}
66
66
67
-
68
67
/// <summary>
69
68
/// Get set a value indicating if scanning should continue or not.
70
69
/// </summary>
@@ -163,26 +162,32 @@ public bool ContinueRunning
163
162
}
164
163
165
164
#endregion
165
+
166
166
#region Delegates
167
167
/// <summary>
168
- /// Delegate invoked when a directory is processed .
168
+ /// Delegate invoked before starting to process a directory .
169
169
/// </summary>
170
- public delegate void ProcessDirectoryDelegate ( object sender , DirectoryEventArgs e ) ;
170
+ public delegate void ProcessDirectoryHandler ( object sender , DirectoryEventArgs e ) ;
171
171
172
172
/// <summary>
173
- /// Delegate invoked when a file is processed.
173
+ /// Delegate invoked before starting to process a file.
174
+ /// </summary>
175
+ public delegate void ProcessFileHandler ( object sender , ScanEventArgs e ) ;
176
+
177
+ /// <summary>
178
+ /// Delegate invoked when a file has been completely processed.
174
179
/// </summary>
175
- public delegate void ProcessFileDelegate ( object sender , ScanEventArgs e ) ;
180
+ public delegate void CompletedFileHandler ( object sender , ScanEventArgs e ) ;
176
181
177
182
/// <summary>
178
183
/// Delegate invoked when a directory failure is detected.
179
184
/// </summary>
180
- public delegate void DirectoryFailureDelegate ( object sender , ScanFailureEventArgs e ) ;
185
+ public delegate void DirectoryFailureHandler ( object sender , ScanFailureEventArgs e ) ;
181
186
182
187
/// <summary>
183
188
/// Delegate invoked when a file failure is detected.
184
189
/// </summary>
185
- public delegate void FileFailureDelegate ( object sender , ScanFailureEventArgs e ) ;
190
+ public delegate void FileFailureHandler ( object sender , ScanFailureEventArgs e ) ;
186
191
#endregion
187
192
188
193
/// <summary>
@@ -231,26 +236,32 @@ public FileSystemScanner(IScanFilter fileFilter, IScanFilter directoryFilter)
231
236
directoryFilter_ = directoryFilter ;
232
237
}
233
238
#endregion
239
+
234
240
#region Delegates
235
241
/// <summary>
236
242
/// Delegate to invoke when a directory is processed.
237
243
/// </summary>
238
- public ProcessDirectoryDelegate ProcessDirectory ;
244
+ public ProcessDirectoryHandler ProcessDirectory ;
239
245
240
246
/// <summary>
241
247
/// Delegate to invoke when a file is processed.
242
248
/// </summary>
243
- public ProcessFileDelegate ProcessFile ;
249
+ public ProcessFileHandler ProcessFile ;
250
+
251
+ /// <summary>
252
+ /// Delegate to invoke when processing for a file has finished.
253
+ /// </summary>
254
+ public CompletedFileHandler CompletedFile ;
244
255
245
256
/// <summary>
246
257
/// Delegate to invoke when a directory failure is detected.
247
258
/// </summary>
248
- public DirectoryFailureDelegate DirectoryFailure ;
259
+ public DirectoryFailureHandler DirectoryFailure ;
249
260
250
261
/// <summary>
251
262
/// Delegate to invoke when a file failure is detected.
252
263
/// </summary>
253
- public FileFailureDelegate FileFailure ;
264
+ public FileFailureHandler FileFailure ;
254
265
#endregion
255
266
256
267
/// <summary>
@@ -289,21 +300,31 @@ public void OnFileFailure(string file, Exception e)
289
300
/// Raise the ProcessFile event.
290
301
/// </summary>
291
302
/// <param name="file">The file name.</param>
292
- public void OnProcessFile ( string file )
303
+ void OnProcessFile ( string file )
293
304
{
294
305
if ( ProcessFile != null ) {
295
306
ScanEventArgs args = new ScanEventArgs ( file ) ;
296
307
ProcessFile ( this , args ) ;
297
308
alive_ = args . ContinueRunning ;
298
309
}
299
310
}
300
-
311
+
312
+ void OnCompleteFile ( string file )
313
+ {
314
+ if ( CompletedFile != null )
315
+ {
316
+ ScanEventArgs args = new ScanEventArgs ( file ) ;
317
+ CompletedFile ( this , args ) ;
318
+ alive_ = args . ContinueRunning ;
319
+ }
320
+ }
321
+
301
322
/// <summary>
302
323
/// Raise the ProcessDirectory event.
303
324
/// </summary>
304
325
/// <param name="directory">The directory name.</param>
305
326
/// <param name="hasMatchingFiles">Flag indicating if the directory has matching files.</param>
306
- public void OnProcessDirectory ( string directory , bool hasMatchingFiles )
327
+ void OnProcessDirectory ( string directory , bool hasMatchingFiles )
307
328
{
308
329
if ( ProcessDirectory != null ) {
309
330
DirectoryEventArgs args = new DirectoryEventArgs ( directory , hasMatchingFiles ) ;
0 commit comments