view dstep/coreservices/cfnetwork/CFNetServices.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 22, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.coreservices.cfnetwork.CFNetServices;

//import dstep.Availability;
import dstep.coreservices.cfnetwork.CFNetworkDefs;
import dstep.corefoundation.CFArray;
import dstep.corefoundation.CFBase;
import dstep.corefoundation.CFData;
import dstep.corefoundation.CFDictionary;
import dstep.corefoundation.CFRunLoop;
import dstep.corefoundation.CFStream;

struct __CFNetService;
struct __CFNetServiceMonitor;
struct __CFNetServiceBrowser;

alias __CFNetService* CFNetServiceRef;
alias __CFNetServiceMonitor* CFNetServiceMonitorRef;
alias __CFNetServiceBrowser* CFNetServiceBrowserRef;
alias int CFNetServicesError;
alias int CFNetServiceMonitorType;

extern (C)
{
	alias void function (CFNetServiceRef, CFStreamError*, void*) CFNetServiceClientCallBack;
	alias void function (CFNetServiceBrowserRef, uint, CFTypeRef, CFStreamError*, void*) CFNetServiceBrowserClientCallBack;
	alias void function (CFNetServiceMonitorRef, CFNetServiceRef, int, CFDataRef, CFStreamError*, void*) CFNetServiceMonitorClientCallBack;
}

extern (C)
{
	extern
	{
		const int kCFStreamErrorDomainMach;
		const int kCFStreamErrorDomainNetServices;
	}
}

enum /*CFNetServicesError*/ 
{
	kCFNetServicesErrorUnknown = -72000L,
	kCFNetServicesErrorCollision = -72001L,
	kCFNetServicesErrorNotFound = -72002L,
	kCFNetServicesErrorInProgress = -72003L,
	kCFNetServicesErrorBadArgument = -72004L,
	kCFNetServicesErrorCancel = -72005L,
	kCFNetServicesErrorInvalid = -72006L,
	kCFNetServicesErrorTimeout = -72007L
}

enum /*CFNetServiceMonitorType*/ 
{
	kCFNetServiceMonitorTXT = 1
}

enum
{
	kCFNetServiceFlagNoAutoRename = 1
}

enum
{
	kCFNetServiceFlagMoreComing = 1,
	kCFNetServiceFlagIsDomain = 2,
	kCFNetServiceFlagIsDefault = 4,
	kCFNetServiceFlagIsRegistrationDomain = 4,
	kCFNetServiceFlagRemove = 8
}

struct CFNetServiceClientContext
{
	int version_;
	void* info;
	CFAllocatorRetainCallBack retain;
	CFAllocatorReleaseCallBack release;
	CFAllocatorCopyDescriptionCallBack copyDescription;
}

extern (C)
{
	uint CFNetServiceGetTypeID ();
	uint CFNetServiceMonitorGetTypeID ();
	uint CFNetServiceBrowserGetTypeID ();
	CFNetServiceRef CFNetServiceCreate (CFAllocatorRef alloc, CFStringRef domain, CFStringRef serviceType, CFStringRef name, int port);
	CFNetServiceRef CFNetServiceCreateCopy (CFAllocatorRef alloc, CFNetServiceRef service);
	CFStringRef CFNetServiceGetDomain (CFNetServiceRef theService);
	CFStringRef CFNetServiceGetType (CFNetServiceRef theService);
	CFStringRef CFNetServiceGetName (CFNetServiceRef theService);
	ubyte CFNetServiceRegisterWithOptions (CFNetServiceRef theService, uint options, CFStreamError* error);
	ubyte CFNetServiceResolveWithTimeout (CFNetServiceRef theService, double timeout, CFStreamError* error);
	void CFNetServiceCancel (CFNetServiceRef theService);
	CFStringRef CFNetServiceGetTargetHost (CFNetServiceRef theService);
	int CFNetServiceGetPortNumber (CFNetServiceRef theService);
	CFArrayRef CFNetServiceGetAddressing (CFNetServiceRef theService);
	CFDataRef CFNetServiceGetTXTData (CFNetServiceRef theService);
	ubyte CFNetServiceSetTXTData (CFNetServiceRef theService, CFDataRef txtRecord);
	CFDictionaryRef CFNetServiceCreateDictionaryWithTXTData (CFAllocatorRef alloc, CFDataRef txtRecord);
	CFDataRef CFNetServiceCreateTXTDataWithDictionary (CFAllocatorRef alloc, CFDictionaryRef keyValuePairs);
	ubyte CFNetServiceSetClient (CFNetServiceRef theService, CFNetServiceClientCallBack clientCB, CFNetServiceClientContext* clientContext);
	void CFNetServiceScheduleWithRunLoop (CFNetServiceRef theService, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	void CFNetServiceUnscheduleFromRunLoop (CFNetServiceRef theService, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	CFNetServiceMonitorRef CFNetServiceMonitorCreate (CFAllocatorRef alloc, CFNetServiceRef theService, CFNetServiceMonitorClientCallBack clientCB, CFNetServiceClientContext* clientContext);
	void CFNetServiceMonitorInvalidate (CFNetServiceMonitorRef monitor);
	ubyte CFNetServiceMonitorStart (CFNetServiceMonitorRef monitor, int recordType, CFStreamError* error);
	void CFNetServiceMonitorStop (CFNetServiceMonitorRef monitor, CFStreamError* error);
	void CFNetServiceMonitorScheduleWithRunLoop (CFNetServiceMonitorRef monitor, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	void CFNetServiceMonitorUnscheduleFromRunLoop (CFNetServiceMonitorRef monitor, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	CFNetServiceBrowserRef CFNetServiceBrowserCreate (CFAllocatorRef alloc, CFNetServiceBrowserClientCallBack clientCB, CFNetServiceClientContext* clientContext);
	void CFNetServiceBrowserInvalidate (CFNetServiceBrowserRef browser);
	ubyte CFNetServiceBrowserSearchForDomains (CFNetServiceBrowserRef browser, ubyte registrationDomains, CFStreamError* error);
	ubyte CFNetServiceBrowserSearchForServices (CFNetServiceBrowserRef browser, CFStringRef domain, CFStringRef serviceType, CFStreamError* error);
	void CFNetServiceBrowserStopSearch (CFNetServiceBrowserRef browser, CFStreamError* error);
	void CFNetServiceBrowserScheduleWithRunLoop (CFNetServiceBrowserRef browser, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	void CFNetServiceBrowserUnscheduleFromRunLoop (CFNetServiceBrowserRef browser, CFRunLoopRef runLoop, CFStringRef runLoopMode);
	ubyte CFNetServiceRegister (CFNetServiceRef theService, CFStreamError* error);
	ubyte CFNetServiceResolve (CFNetServiceRef theService, CFStreamError* error);
	CFStringRef CFNetServiceGetProtocolSpecificInformation (CFNetServiceRef theService);
	void CFNetServiceSetProtocolSpecificInformation (CFNetServiceRef theService, CFStringRef theInfo);
}