Find file
Fetching contributors…
Cannot retrieve contributors at this time
60 lines (51 sloc) 2.31 KB
// UKFNSubscribeFileWatcher.m
// Filie
// Created by Uli Kusterer on 03.02.05.
// Copyright 2005 Uli Kusterer.
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software.
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
// 3. This notice may not be removed or altered from any source
// distribution.
// -----------------------------------------------------------------------------
// Headers:
// -----------------------------------------------------------------------------
#import <Cocoa/Cocoa.h>
#import "UKFileWatcher.h"
#import <Carbon/Carbon.h>
NOTE: FNSubscribe has a built-in delay: If your application is in the
background while the changes happen, all notifications will be queued up
and sent to your app at once the moment it is brought to front again. If
your app really needs to do live updates in the background, use a KQueue
// -----------------------------------------------------------------------------
// Class declaration:
// -----------------------------------------------------------------------------
@interface UKFNSubscribeFileWatcher : NSObject <UKFileWatcher>
id delegate; // Delegate must respond to UKFileWatcherDelegate protocol.
NSMutableArray* subscribedPaths; // List of pathnames we've subscribed to. This maps to subscribedObjects, like a dictionary that can have duplicate keys.
NSMutableArray* subscribedObjects; // List of FNSubscription pointers in NSValues. This maps to subscribedPaths, like a dictionary that can have duplicate keys.
+(id) sharedFileWatcher;
// UKFileWatcher defines the methods: addPath: removePath:, removeAllPaths and delegate accessors.