diff dwt/internal/cocoa/NSStream.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dwt/internal/cocoa/NSStream.d	Sat Aug 09 17:00:02 2008 +0200
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     
+ * Port to the D Programming language:
+ *     Jacob Carlborg <jacob.carlborg@gmail.com>
+ *******************************************************************************/
+module dwt.internal.cocoa.NSStream;
+
+import dwt.internal.cocoa.id;
+import dwt.internal.cocoa.NSError;
+import dwt.internal.cocoa.NSHost;
+import dwt.internal.cocoa.NSInteger;
+import dwt.internal.cocoa.NSObject;
+import dwt.internal.cocoa.NSRunLoop;
+import dwt.internal.cocoa.NSString;
+import dwt.internal.cocoa.OS;
+import objc = dwt.internal.objc.runtime;
+
+
+
+enum NSStreamEvent : NSUInteger
+{
+    NSStreamEventNone = 0,
+    NSStreamEventOpenCompleted = 1 << 0,
+    NSStreamEventHasBytesAvailable = 1 << 1,
+    NSStreamEventHasSpaceAvailable = 1 << 2,
+    NSStreamEventErrorOccurred = 1 << 3,
+    NSStreamEventEndEncountered = 1 << 4
+}
+
+alias NSStreamEvent.NSStreamEventNone NSStreamEventNone;
+alias NSStreamEvent.NSStreamEventOpenCompleted NSStreamEventOpenCompleted;
+alias NSStreamEvent.NSStreamEventHasBytesAvailable NSStreamEventHasBytesAvailable;
+alias NSStreamEvent.NSStreamEventHasSpaceAvailable NSStreamEventHasSpaceAvailable;
+alias NSStreamEvent.NSStreamEventErrorOccurred NSStreamEventErrorOccurred;
+alias NSStreamEvent.NSStreamEventEndEncountered NSStreamEventEndEncountered;
+
+
+
+enum NSStreamStatus : NSUInteger
+{
+    NSStreamStatusNotOpen = 0,
+    NSStreamStatusOpening = 1,
+    NSStreamStatusOpen = 2,
+    NSStreamStatusReading = 3,
+    NSStreamStatusWriting = 4,
+    NSStreamStatusAtEnd = 5,
+    NSStreamStatusClosed = 6,
+    NSStreamStatusError = 7
+}
+
+alias NSStreamStatus.NSStreamStatusNotOpen NSStreamStatusNotOpen;
+alias NSStreamStatus.NSStreamStatusOpening NSStreamStatusOpening;
+alias NSStreamStatus.NSStreamStatusOpen NSStreamStatusOpen;
+alias NSStreamStatus.NSStreamStatusReading NSStreamStatusReading;
+alias NSStreamStatus.NSStreamStatusWriting NSStreamStatusWriting;
+alias NSStreamStatus.NSStreamStatusAtEnd NSStreamStatusAtEnd;
+alias NSStreamStatus.NSStreamStatusClosed NSStreamStatusClosed;
+alias NSStreamStatus.NSStreamStatusError NSStreamStatusError;
+
+
+
+public class NSStream : NSObject
+{
+
+    public this ()
+    {
+        super();
+    }
+
+    public this (objc.id id)
+    {
+        super(id);
+    }
+
+    public void close ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_close);
+    }
+
+    public id delegatee ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_delegate);
+        return result !is null ? new id(result) : null;
+    }
+
+    public static void getStreamsToHost (NSHost host, NSInteger port, /*NSInputStream** */objc.id** inputStream,
+            /*NSOutputStream** */objc.id** outputStream)
+    {
+        OS.objc_msgSend(OS.class_NSStream, OS.sel_getStreamsToHost_1port_1inputStream_1outputStream_1, host !is null ? host.id : null, port,
+                inputStream, outputStream);
+    }
+
+    public void open ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_open);
+    }
+
+    public id propertyForKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_propertyForKey_1, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void removeFromRunLoop (NSRunLoop aRunLoop, NSString mode)
+    {
+        OS.objc_msgSend(this.id, OS.sel_removeFromRunLoop_1forMode_1, aRunLoop !is null ? aRunLoop.id : null, mode !is null ? mode.id : null);
+    }
+
+    public void scheduleInRunLoop (NSRunLoop aRunLoop, NSString mode)
+    {
+        OS.objc_msgSend(this.id, OS.sel_scheduleInRunLoop_1forMode_1, aRunLoop !is null ? aRunLoop.id : null, mode !is null ? mode.id : null);
+    }
+
+    public void setDelegate (id delegatee)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setDelegate_1, delegatee !is null ? delegatee.id : null);
+    }
+
+    public bool setProperty (id property, NSString key)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_setProperty_1forKey_1, property !is null ? property.id : null, key !is null ? key.id : null) !is null;
+    }
+
+    public NSError streamError ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_streamError);
+        return result !is null ? new NSError(result) : null;
+    }
+
+    public NSStreamStatus streamStatus ()
+    {
+        return cast(NSStreamStatus) OS.objc_msgSend(this.id, OS.sel_streamStatus);
+    }
+
+}