view dstep/corefoundation/CFRunLoop.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Jul 12, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.corefoundation.CFRunLoop;

import dstep.corefoundation.CFArray;
import dstep.corefoundation.CFBase;
import dstep.corefoundation.CFDate;
import dstep.corefoundation.CFString;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc : id;

struct __CFRunLoop;
alias __CFRunLoop* CFRunLoopRef;
struct __CFRunLoopSource;
alias __CFRunLoopSource* CFRunLoopSourceRef;
struct __CFRunLoopObserver;
alias __CFRunLoopObserver* CFRunLoopObserverRef;
struct __CFRunLoopTimer;
alias __CFRunLoopTimer* CFRunLoopTimerRef;
alias uint CFRunLoopActivity;

extern (C)
{
	alias void function (CFRunLoopObserverRef, uint, void*) CFRunLoopObserverCallBack;
	alias void function (CFRunLoopTimerRef, void*) CFRunLoopTimerCallBack;
}

extern (C)
{
	extern
	{
		const CFStringRef kCFRunLoopDefaultMode;
		const CFStringRef kCFRunLoopCommonModes;
	}
}

enum
{
	kCFRunLoopRunFinished = 1,
	kCFRunLoopRunStopped = 2,
	kCFRunLoopRunTimedOut = 3,
	kCFRunLoopRunHandledSource = 4
}

enum
{
	kCFRunLoopEntry = (1 << 0),
	kCFRunLoopBeforeTimers = (1 << 1),
	kCFRunLoopBeforeSources = (1 << 2),
	kCFRunLoopBeforeWaiting = (1 << 5),
	kCFRunLoopAfterWaiting = (1 << 6),
	kCFRunLoopExit = (1 << 7),
	kCFRunLoopAllActivities = 0x0FFFFFFFU
}

struct CFRunLoopSourceContext
{
	int version_;
	void* info;
	CFRunLoopRef rl;
}


struct CFRunLoopSourceContext1
{
	int version_;
	void* info;
	int size;
	CFAllocatorRef allocator;
}


struct CFRunLoopObserverContext
{
	int version_;
	void* info;
}


struct CFRunLoopTimerContext
{
	int version_;
	void* info;
}

extern (C)
{
	uint CFRunLoopGetTypeID ();
	CFRunLoopRef CFRunLoopGetCurrent ();
	CFRunLoopRef CFRunLoopGetMain ();
	CFStringRef CFRunLoopCopyCurrentMode (CFRunLoopRef rl);
	CFArrayRef CFRunLoopCopyAllModes (CFRunLoopRef rl);
	void CFRunLoopAddCommonMode (CFRunLoopRef rl, CFStringRef mode);
	double CFRunLoopGetNextTimerFireDate (CFRunLoopRef rl, CFStringRef mode);
	void CFRunLoopRun ();
	int CFRunLoopRunInMode (CFStringRef mode, double seconds, ubyte returnAfterSourceHandled);
	ubyte CFRunLoopIsWaiting (CFRunLoopRef rl);
	void CFRunLoopWakeUp (CFRunLoopRef rl);
	void CFRunLoopStop (CFRunLoopRef rl);
	ubyte CFRunLoopContainsSource (CFRunLoopRef rl, CFRunLoopSourceRef source, CFStringRef mode);
	void CFRunLoopAddSource (CFRunLoopRef rl, CFRunLoopSourceRef source, CFStringRef mode);
	void CFRunLoopRemoveSource (CFRunLoopRef rl, CFRunLoopSourceRef source, CFStringRef mode);
	ubyte CFRunLoopContainsObserver (CFRunLoopRef rl, CFRunLoopObserverRef observer, CFStringRef mode);
	void CFRunLoopAddObserver (CFRunLoopRef rl, CFRunLoopObserverRef observer, CFStringRef mode);
	void CFRunLoopRemoveObserver (CFRunLoopRef rl, CFRunLoopObserverRef observer, CFStringRef mode);
	ubyte CFRunLoopContainsTimer (CFRunLoopRef rl, CFRunLoopTimerRef timer, CFStringRef mode);
	void CFRunLoopAddTimer (CFRunLoopRef rl, CFRunLoopTimerRef timer, CFStringRef mode);
	void CFRunLoopRemoveTimer (CFRunLoopRef rl, CFRunLoopTimerRef timer, CFStringRef mode);
	uint CFRunLoopSourceGetTypeID ();
	CFRunLoopSourceRef CFRunLoopSourceCreate (CFAllocatorRef allocator, int order, CFRunLoopSourceContext* context);
	int CFRunLoopSourceGetOrder (CFRunLoopSourceRef source);
	void CFRunLoopSourceInvalidate (CFRunLoopSourceRef source);
	ubyte CFRunLoopSourceIsValid (CFRunLoopSourceRef source);
	void CFRunLoopSourceGetContext (CFRunLoopSourceRef source, CFRunLoopSourceContext* context);
	void CFRunLoopSourceSignal (CFRunLoopSourceRef source);
	uint CFRunLoopObserverGetTypeID ();
	CFRunLoopObserverRef CFRunLoopObserverCreate (CFAllocatorRef allocator, uint activities, ubyte repeats, int order, CFRunLoopObserverCallBack* callout, CFRunLoopObserverContext* context);
	uint CFRunLoopObserverGetActivities (CFRunLoopObserverRef observer);
	ubyte CFRunLoopObserverDoesRepeat (CFRunLoopObserverRef observer);
	int CFRunLoopObserverGetOrder (CFRunLoopObserverRef observer);
	void CFRunLoopObserverInvalidate (CFRunLoopObserverRef observer);
	ubyte CFRunLoopObserverIsValid (CFRunLoopObserverRef observer);
	void CFRunLoopObserverGetContext (CFRunLoopObserverRef observer, CFRunLoopObserverContext* context);
	uint CFRunLoopTimerGetTypeID ();
	CFRunLoopTimerRef CFRunLoopTimerCreate (CFAllocatorRef allocator, double fireDate, double interval, uint flags, int order, CFRunLoopTimerCallBack* callout, CFRunLoopTimerContext* context);
	double CFRunLoopTimerGetNextFireDate (CFRunLoopTimerRef timer);
	void CFRunLoopTimerSetNextFireDate (CFRunLoopTimerRef timer, double fireDate);
	double CFRunLoopTimerGetInterval (CFRunLoopTimerRef timer);
	ubyte CFRunLoopTimerDoesRepeat (CFRunLoopTimerRef timer);
	int CFRunLoopTimerGetOrder (CFRunLoopTimerRef timer);
	void CFRunLoopTimerInvalidate (CFRunLoopTimerRef timer);
	ubyte CFRunLoopTimerIsValid (CFRunLoopTimerRef timer);
	void CFRunLoopTimerGetContext (CFRunLoopTimerRef timer, CFRunLoopTimerContext* context);
}