62 lines
940 B
Objective-C
62 lines
940 B
Objective-C
//
|
|
// FileTreeDelegate.m
|
|
// BindTest
|
|
//
|
|
// Created by Vincent Spader on 8/20/06.
|
|
// Copyright 2006 Vincent Spader. All rights reserved.
|
|
//
|
|
|
|
#import "FileTreeWatcher.h"
|
|
|
|
@implementation FileTreeWatcher
|
|
|
|
- (id)init
|
|
{
|
|
self = [super init];
|
|
if (self)
|
|
{
|
|
kqueue = [[UKKQueue alloc] init];
|
|
[kqueue setDelegate:self];
|
|
|
|
watchedPaths = [[NSMutableArray alloc] init];
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
- (void)dealloc
|
|
{
|
|
[delegate release];
|
|
[super dealloc];
|
|
}
|
|
|
|
|
|
- (void)addPath: (NSString *)path
|
|
{
|
|
if ([watchedPaths containsObject:path] == NO) {
|
|
[watchedPaths addObject:path];
|
|
|
|
[kqueue addPath: path];
|
|
}
|
|
}
|
|
|
|
- (void)removePath: (NSString *)path
|
|
{
|
|
[watchedPaths removeObject:path];
|
|
[kqueue removePath:path];
|
|
}
|
|
|
|
-(void) setDelegate: (id)d
|
|
{
|
|
delegate = [d retain];
|
|
}
|
|
|
|
|
|
-(void) watcher: (id<UKFileWatcher>)kq receivedNotification: (NSString*)nm forPath: (NSString*)fpath
|
|
{
|
|
NSLog(@"CHANGED! %@", fpath);
|
|
[delegate refreshPath: fpath];
|
|
}
|
|
|
|
@end
|