private void OnChanged (object source, FileSystemEventArgs args)
{
var item = new QueueItem {
When = DateTime.Now,
ChangeType = args.ChangeType,
FullPath = args.FullPath,
OldFullPath = args is RenamedEventArgs ? ((RenamedEventArgs)args).OldFullPath : args.FullPath
};
lock (queue) {
queue.Enqueue (item);
}
handle.Set ();
if (args.ChangeType != WatcherChangeTypes.Changed) {
Hyena.Log.DebugFormat ("Watcher: {0} {1}{2}",
item.ChangeType, args is RenamedEventArgs ? item.OldFullPath + " => " : "", item.FullPath);
}
}