#if (DEPLOYMENT_TARGET_MACOSX || 0)
#import "CFObject.h"
#include <CoreFoundation/CFRunLoop.h>
#include <CoreFoundation/CFMachPort.h>
#include <CoreFoundation/CFSocket.h>
#include <CoreFoundation/CFArray.h>
#include <CoreFoundation/CFBag.h>
#include <mach/mach.h>
#include <sys/event.h>
#include <pthread.h>
@class CFRunLoopSourceSet;
typedef CFRunLoopSourceContext CFRunLoopSourceContext0;
typedef CFMachPortContext CFRunLoopMachPortContext;
typedef CFSocketContext CFRunLoopSocketContext;
@interface CFRunLoopSource : CFObject {
uint8_t _cfruntime_[8]; int _kq;
mach_port_t _portset;
mach_port_t _port;
CFIndex _order;
uint8_t _invalid;
uint8_t _firing;
uint8_t _ownsPort;
uint8_t _async;
}
- (int)kqueue;
- (mach_port_t)machPortSet;
- (mach_port_t)machPort;
- (void)setOrder:(CFIndex)o;
- (CFIndex)order;
- (void)setAsyncStrategy:(uint8_t)s;
- (uint8_t)asyncStrategy;
- (void)perform:(mach_msg_header_t *)msg;
- (void)invalidate;
- (Boolean)isValid;
- (void)noteAddedToSourceSet:(CFRunLoopSourceSet *)ss;
- (void)noteRemovedFromSourceSet:(CFRunLoopSourceSet *)ss;
- (CFStringRef)copyPartialDebugDescription; - (CFStringRef)copyDebugDescription;
@end
@interface CFRunLoopVersion0SourceCFRef : CFRunLoopSource {
CFRunLoopSourceContext0 _context;
}
- (Boolean)setContext:(CFRunLoopSourceContext0)c;
- (CFRunLoopSourceContext0)context;
- (void)markReady;
- (void)handle;
- (void)scheduleInRunLoop:(CFRunLoopRef)rl mode:(CFStringRef)n;
- (void)cancelFromRunLoop:(CFRunLoopRef)rl mode:(CFStringRef)n;
@end
@interface CFRunLoopVersion1SourceCFRef : CFRunLoopSource {
CFRunLoopSourceContext1 _context;
}
- (Boolean)setContext:(CFRunLoopSourceContext1)c;
- (CFRunLoopSourceContext1)context;
- (void)markReady;
- (void)handle:(mach_msg_header_t *)msg;
@end
@interface CFRunLoopTimerSource : CFRunLoopSource {
CFAbsoluteTime _fireAT;
CFTimeInterval _interval;
}
- (void)setFireTime:(CFAbsoluteTime)at;
- (CFAbsoluteTime)fireTime;
- (void)setInterval:(CFTimeInterval)i;
- (CFTimeInterval)interval;
- (void)handle;
@end
@interface CFRunLoopTimerSourceCFRef : CFRunLoopTimerSource {
void *_function;
CFRunLoopTimerContext _context;
}
- (void)setFunction:(void *)f;
- (void *)function;
- (Boolean)setContext:(CFRunLoopTimerContext)c;
- (CFRunLoopTimerContext)context;
@end
@interface CFRunLoopMachPortSource : CFRunLoopSource {
mach_port_t _notifyPort;
mach_port_t _oldNotifyPort;
}
+ (id)newWithPort:(mach_port_t)p;
- (void)handle:(mach_msg_header_t *)msg;
@end
@interface CFRunLoopMachPortSourceCFRef : CFRunLoopMachPortSource {
void *_function;
CFRunLoopMachPortContext _context;
void *_invalidation;
}
- (void)setFunction:(void *)f;
- (void *)function;
- (Boolean)setContext:(CFRunLoopMachPortContext)c;
- (CFRunLoopMachPortContext)context;
- (void)setInvalidationFunction:(void *)f;
- (void *)invalidationFunction;
@end
@interface CFRunLoopKEventSource : CFRunLoopSource {
struct kevent _filter;
}
- (Boolean)setFilter:(struct kevent)kev;
- (struct kevent)filter;
- (void)handle:(struct kevent *)kev;
@end
@interface CFRunLoopSignalSource : CFRunLoopSource {
int _signal;
}
- (Boolean)setSignal:(int)sig;
- (int)signal;
- (long)poll;
- (void)handle:(long)n;
@end
@interface CFRunLoopProcessDeathSource : CFRunLoopSource {
int _pid;
}
- (Boolean)setProcessID:(int)pid;
- (int)processID;
- (void)handle;
@end
@interface CFRunLoopSocketSource : CFRunLoopSource {
int _socket;
uint8_t _ownsSocket;
uint8_t _enabledR;
uint8_t _enabledW;
}
+ (id)newWithSocket:(int)s;
- (int)socket;
- (CFDataRef)copyLocalAddress;
- (CFDataRef)copyRemoteAddress;
- (void)setReadEventsEnabled:(Boolean)b;
- (Boolean)readEventsEnabled;
- (void)setWriteEventsEnabled:(Boolean)b;
- (Boolean)writeEventsEnabled;
- (void)handleReadability:(CFIndex)amt endOfFile:(Boolean)b;
- (void)performRead:(struct kevent *)kev;
- (void)handleWritability:(CFIndex)amt endOfFile:(Boolean)b;
- (void)performWrite:(struct kevent *)kev;
@end
@interface CFRunLoopSocketSourceCFRef : CFRunLoopSocketSource {
void *_function;
CFRunLoopSocketContext _context;
uint8_t _callbacks;
uint8_t _flags;
uint8_t _disabled;
}
- (void)setFunction:(void *)f;
- (void *)function;
- (Boolean)setContext:(CFRunLoopSocketContext)c;
- (CFRunLoopSocketContext)context;
- (void)setCallBackTypes:(uint8_t)f;
- (uint8_t)callBackTypes;
- (void)setFlags:(uint8_t)f;
- (uint8_t)flags;
- (void)setDisabledFlags:(uint8_t)f;
- (uint8_t)disabledFlags;
- (Boolean)handleAcceptError:(int)err;
- (Boolean)handleReadError:(int)err;
@end
@interface CFRunLoopObserver : CFRunLoopSource {
}
- (void)observeEntry:(CFRunLoopSourceSet *)ss;
- (void)observeBeforeWaiting:(CFRunLoopSourceSet *)ss;
- (void)observeAfterWaiting:(CFRunLoopSourceSet *)ss;
- (void)observeExit:(CFRunLoopSourceSet *)ss;
@end
@interface CFRunLoopObserverCFRef : CFRunLoopObserver {
void *_function;
CFRunLoopObserverContext _context;
CFOptionFlags _activities;
uint8_t _oneshot;
}
- (void)setFunction:(void *)f;
- (void *)function;
- (Boolean)setContext:(CFRunLoopObserverContext)c;
- (CFRunLoopObserverContext)context;
- (void)setActivities:(CFOptionFlags)a;
- (CFOptionFlags)activities;
- (void)setOneshot:(Boolean)b;
- (Boolean)oneshot;
@end
@interface CFRunLoopSourceSet : CFRunLoopObserver {
CFMutableBagRef _sources;
CFStringRef _name;
pthread_t _thread;
CFMutableArrayRef _observers[4];
CFRunLoopTimerSource *_timeoutTimer;
CFRunLoopMachPortSource *_wakeupPort;
uint8_t _stopped;
uint8_t _waiting;
}
+ (void)removeSourceFromAllSets:(CFRunLoopSource *)src;
- (void)setName:(CFStringRef)n;
- (CFStringRef)name;
- (void)setAffineThread:(pthread_t)t;
- (pthread_t)affineThread;
- (Boolean)containsObserver:(CFRunLoopObserver *)o;
- (void)addObserver:(CFRunLoopObserver *)o activities:(CFRunLoopActivity)a;
- (void)removeObserver:(CFRunLoopObserver *)o activities:(CFRunLoopActivity)a;
- (Boolean)containsSource:(CFRunLoopSource *)src;
- (void)addSource:(CFRunLoopSource *)src;
- (void)removeSource:(CFRunLoopSource *)src;
- (void)forEachSource:(Boolean (*)(CFRunLoopSource *, void *))f context:(void *)c;
- (void)stop;
- (void)wakeup;
- (Boolean)isWaiting;
- (Boolean)isEmpty;
- (Boolean)hasInputAvailable;
- (int32_t)serviceUntil:(CFAbsoluteTime)at handleOne:(Boolean)handleOne;
@end
@interface CFRunLoopCFRef : CFObject {
uint8_t _cfruntime_[8]; pthread_t _thread;
void *_counterpart;
CFMutableArrayRef _sourceSets;
CFRunLoopSourceSet *_currentSet;
uint8_t _invalid;
}
- (void)setAffineThread:(pthread_t)t;
- (pthread_t)affineThread;
- (void)setCounterpart:(void *)c;
- (void *)counterpart;
- (void)invalidate;
- (Boolean)isValid;
- (CFArrayRef)copySourceSets;
- (void)setCurrentSourceSet:(CFRunLoopSourceSet *)ss;
- (CFRunLoopSourceSet *)currentSourceSet;
- (CFRunLoopSourceSet *)lookupSourceSetWithName:(CFStringRef)n;
- (CFRunLoopSourceSet *)lookupOrCreateSourceSetWithName:(CFStringRef)n;
- (CFStringRef)copyDebugDescription;
@end
#endif