Mercurial > projects > dstep
view dstep/foundation/NSConnection.d @ 15:7ff919f595d5
Added the Foundation framework, again
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:31:48 +0200 |
parents | 89f3c3ef1fd2 |
children | 19885b43130e |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Aug 3, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.foundation.NSConnection; import dstep.foundation.NSArray; import dstep.foundation.NSData; import dstep.foundation.NSDate; import dstep.foundation.NSDictionary; import dstep.foundation.NSDistantObject; import dstep.foundation.NSException; import dstep.foundation.NSMutableData; import dstep.foundation.NSObject; import dstep.foundation.NSPort; import dstep.foundation.NSPortNameServer; import dstep.foundation.NSRunLoop; import dstep.objc.bridge.Bridge; import dstep.objc.objc : id; import bindings = dstep.foundation.NSConnection_bindings; const NSString NSConnectionReplyMode; const NSString NSConnectionDidDieNotification; const NSString NSFailedAuthenticationException; const NSString NSConnectionDidInitializeNotification; static this () { NSConnectionReplyMode = new NSString(bindings.NSConnectionReplyMode); NSConnectionDidDieNotification = new NSString(bindings.NSConnectionDidDieNotification); NSFailedAuthenticationException = new NSString(bindings.NSFailedAuthenticationException); NSConnectionDidInitializeNotification = new NSString(bindings.NSConnectionDidInitializeNotification); } class NSDistantObjectRequest : NSObject { mixin ObjcWrap; NSInvocation invocation () { return invokeObjcSelf!(NSInvocation, "invocation"); } NSConnection connection () { return invokeObjcSelf!(NSConnection, "connection"); } Object conversation () { return invokeObjcSelf!(Object, "conversation"); } void replyWithException (NSException exception) { return invokeObjcSelf!(void, "replyWithException:", NSException)(exception); } } class NSConnection : NSObject { mixin ObjcWrap; NSDictionary statistics () { return invokeObjcSelf!(NSDictionary, "statistics"); } static NSArray allConnections () { return invokeObjcSelfClass!(NSArray, "allConnections"); } static NSConnection defaultConnection () { return invokeObjcSelfClass!(NSConnection, "defaultConnection"); } static Object connectionWithRegisteredName (NSString name, NSString hostName) { return invokeObjcSelfClass!(Object, "connectionWithRegisteredName:host:", NSString, NSString)(name, hostName); } static Object connectionWithRegisteredName (NSString name, NSString hostName, NSPortNameServer server) { return invokeObjcSelfClass!(Object, "connectionWithRegisteredName:host:usingNameServer:", NSString, NSString, NSPortNameServer)(name, hostName, server); } static NSDistantObject rootProxyForConnectionWithRegisteredName (NSString name, NSString hostName) { return invokeObjcSelfClass!(NSDistantObject, "rootProxyForConnectionWithRegisteredName:host:", NSString, NSString)(name, hostName); } static NSDistantObject rootProxyForConnectionWithRegisteredName (NSString name, NSString hostName, NSPortNameServer server) { return invokeObjcSelfClass!(NSDistantObject, "rootProxyForConnectionWithRegisteredName:host:usingNameServer:", NSString, NSString, NSPortNameServer)(name, hostName, server); } static Object serviceConnectionWithName (NSString name, Object root, NSPortNameServer server) { return invokeObjcSelfClass!(Object, "serviceConnectionWithName:rootObject:usingNameServer:", NSString, Object, NSPortNameServer)(name, root, server); } static Object serviceConnectionWithName (NSString name, Object root) { return invokeObjcSelfClass!(Object, "serviceConnectionWithName:rootObject:", NSString, Object)(name, root); } void setRequestTimeout (double ti) { return invokeObjcSelf!(void, "setRequestTimeout:", double)(ti); } double requestTimeout () { return invokeObjcSelf!(double, "requestTimeout"); } void setReplyTimeout (double ti) { return invokeObjcSelf!(void, "setReplyTimeout:", double)(ti); } double replyTimeout () { return invokeObjcSelf!(double, "replyTimeout"); } void setRootObject (Object anObject) { return invokeObjcSelf!(void, "setRootObject:", Object)(anObject); } Object rootObject () { return invokeObjcSelf!(Object, "rootObject"); } NSDistantObject rootProxy () { return invokeObjcSelf!(NSDistantObject, "rootProxy"); } void setDelegate (Object anObject) { return invokeObjcSelf!(void, "setDelegate:", Object)(anObject); } Object delegate_ () { return invokeObjcSelf!(Object, "delegate"); } void setIndependentConversationQueueing (bool yorn) { return invokeObjcSelf!(void, "setIndependentConversationQueueing:", bool)(yorn); } bool independentConversationQueueing () { return invokeObjcSelf!(bool, "independentConversationQueueing"); } bool isValid () { return invokeObjcSelf!(bool, "isValid"); } void invalidate () { return invokeObjcSelf!(void, "invalidate"); } void addRequestMode (NSString rmode) { return invokeObjcSelf!(void, "addRequestMode:", NSString)(rmode); } void removeRequestMode (NSString rmode) { return invokeObjcSelf!(void, "removeRequestMode:", NSString)(rmode); } NSArray requestModes () { return invokeObjcSelf!(NSArray, "requestModes"); } bool registerName (NSString name) { return invokeObjcSelf!(bool, "registerName:", NSString)(name); } bool registerName (NSString name, NSPortNameServer server) { return invokeObjcSelf!(bool, "registerName:withNameServer:", NSString, NSPortNameServer)(name, server); } static Object connectionWithReceivePort (NSPort receivePort, NSPort sendPort) { return invokeObjcSelfClass!(Object, "connectionWithReceivePort:sendPort:", NSPort, NSPort)(receivePort, sendPort); } static Object currentConversation () { return invokeObjcSelfClass!(Object, "currentConversation"); } Object initWithReceivePort (NSPort receivePort, NSPort sendPort) { return invokeObjcSelf!(Object, "initWithReceivePort:sendPort:", NSPort, NSPort)(receivePort, sendPort); } this (NSPort receivePort, NSPort sendPort) { objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); id result = Bridge.invokeObjcMethod!(id, "initWithReceivePort:sendPort:", NSPort, NSPort)(objcObject, receivePort, sendPort); if (result) objcObject = ret; dObject = this; } NSPort sendPort () { return invokeObjcSelf!(NSPort, "sendPort"); } NSPort receivePort () { return invokeObjcSelf!(NSPort, "receivePort"); } void enableMultipleThreads () { return invokeObjcSelf!(void, "enableMultipleThreads"); } bool multipleThreadsEnabled () { return invokeObjcSelf!(bool, "multipleThreadsEnabled"); } void addRunLoop (NSRunLoop runloop) { return invokeObjcSelf!(void, "addRunLoop:", NSRunLoop)(runloop); } void removeRunLoop (NSRunLoop runloop) { return invokeObjcSelf!(void, "removeRunLoop:", NSRunLoop)(runloop); } void runInNewThread () { return invokeObjcSelf!(void, "runInNewThread"); } NSArray remoteObjects () { return invokeObjcSelf!(NSArray, "remoteObjects"); } NSArray localObjects () { return invokeObjcSelf!(NSArray, "localObjects"); } } template TNSDistantObjectRequestMethods () { bool connection (NSConnection connection, NSDistantObjectRequest doreq); } template TNSConnectionDelegateMethods () { bool makeNewConnection (NSConnection conn, NSConnection ancestor); bool connection (NSConnection ancestor, NSConnection conn); NSData authenticationDataForComponents (NSArray components); bool authenticateComponents (NSArray components, NSData signature); Object createConversationForConnection (NSConnection conn); }