Mercurial > projects > dstep
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coreservices/cfnetwork/CFNetServices.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,124 @@ +/** + * 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); +} \ No newline at end of file