summaryrefslogtreecommitdiff
path: root/frontends/cocoa/schedule.m
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/cocoa/schedule.m')
-rw-r--r--frontends/cocoa/schedule.m90
1 files changed, 0 insertions, 90 deletions
diff --git a/frontends/cocoa/schedule.m b/frontends/cocoa/schedule.m
deleted file mode 100644
index f0896bd9d..000000000
--- a/frontends/cocoa/schedule.m
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2011 Sven Weidauer <sven.weidauer@gmail.com>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#import "utils/errors.h"
-
-#import "cocoa/schedule.h"
-
-@interface ScheduledCallback : NSObject {
- void (*callback)( void *userData );
- void *userData;
-}
-
-- initWithCallback: (void (*)(void *))cb userData: (void *)ud;
-- (void) schedule: (NSTimeInterval) ti;
-
-@end
-
-@implementation ScheduledCallback
-
-- initWithCallback: (void (*)(void *))cb userData: (void *)ud;
-{
- callback = cb;
- userData = ud;
-
- return self;
-}
-
-static NSMutableSet *timerSet = nil;
-
-- (void) schedule: (NSTimeInterval) ti;
-{
- if (nil == timerSet) {
- timerSet = [[NSMutableSet alloc] init];
- }
-
- [self performSelector: @selector(timerFired) withObject: nil afterDelay: ti];
- [timerSet addObject: self];
-}
-
-- (void) timerFired;
-{
- if ([timerSet containsObject: self]) {
- [timerSet removeObject: self];
- callback( userData );
- }
-}
-
-- (BOOL) isEqual: (id)object
-{
- if (object == self) return YES;
- if ([object class] != [self class]) return NO;
- return ((ScheduledCallback *)object)->callback == callback && ((ScheduledCallback *)object)->userData == userData;
-}
-
-- (NSUInteger) hash;
-{
- return (NSUInteger)callback + (NSUInteger)userData;
-}
-
-@end
-
-/* exported interface documented in cocoa/schedule.h */
-nserror cocoa_schedule(int t, void (*callback)(void *p), void *p)
-{
- ScheduledCallback *cb = [[ScheduledCallback alloc] initWithCallback: callback userData: p];
- [timerSet removeObject: cb];
- if (t >= 0) {
- [cb schedule: (NSTimeInterval)t / 1000];
- }
- [cb release];
-
- return NSERROR_OK;
-}