//
//  DOFileChangeNotifier.h
//  DOCore
//
//  Created by Ben Dolman on 7/30/12.
//
//

#import <Foundation/Foundation.h>

@protocol DOFileChangeNotifierDelegate;

@protocol DOFileChangeNotifier <NSObject>
@required
@property (weak, readonly) id<DOFileChangeNotifierDelegate> delegate;
@property (strong, readonly) NSOperationQueue *delegateQueue;
@property (copy, readonly) NSURL *rootFileURL;

-(instancetype)initWithRootFileURL:(NSURL *)rootFileURL
                          delegate:(id<DOFileChangeNotifierDelegate>)delegate
                     delegateQueue:(NSOperationQueue *)delegateQueue;

-(void)startWatching;
-(void)stopWatching;

@end

@protocol DOFileChangeNotifierDelegate <NSObject>

- (void)fileChangeNotifier:(id<DOFileChangeNotifier>)notifier filesChanged:(NSArray *)fileURLs;

@end
