diff dwt/internal/mozilla/nsIOutputStream.d @ 272:dd63eb078d7a

xpcom interfaces necessary for browser code -- source adapted from dxpcom project; these modules still need to be tested and then integrated into dwt browser.
author John Reimer<terminal.node@gmail.com>
date Fri, 18 Jul 2008 05:32:53 -0700
parents
children 942da4b6558a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dwt/internal/mozilla/nsIOutputStream.d	Fri Jul 18 05:32:53 2008 -0700
@@ -0,0 +1,37 @@
+module dwt.internal.mozilla.nsIOutputStream;
+
+import dwt.internal.mozilla.Common;
+import dwt.internal.mozilla.nsID;
+import dwt.internal.mozilla.nsISupports;
+
+import dwt.internal.mozilla.nsIInputStream;
+
+typedef nsresult function(nsIOutputStream aOutStream,
+	void *aClosure,
+	char *aToSegment,
+	PRUint32 aFromOffset,
+	PRUint32 aCount,
+	PRUint32 *aReadCount) nsReadSegmentFun;
+
+const char[] NS_IOUTPUTSTREAM_IID_STR = "0d0acd2a-61b4-11d4-9877-00c04fa0cf4a";
+
+const nsIID NS_IOUTPUTSTREAM_IID= 
+  {0x0d0acd2a, 0x61b4, 0x11d4, 
+    [ 0x98, 0x77, 0x00, 0xc0, 0x4f, 0xa0, 0xcf, 0x4a ]};
+
+extern(System)
+
+interface nsIOutputStream : nsISupports {
+
+  static const char[] IID_STR = NS_IOUTPUTSTREAM_IID_STR;
+  static const nsIID IID = NS_IOUTPUTSTREAM_IID;
+
+  nsresult Close();
+  nsresult Flush();
+  nsresult Write(char *aBuf, PRUint32 aCount, PRUint32 *_retval);
+  nsresult WriteFrom(nsIInputStream aFromStream, PRUint32 aCount, PRUint32 *_retval);
+  nsresult WriteSegments(nsReadSegmentFun aReader, void * aClosure, PRUint32 aCount, PRUint32 *_retval);
+  nsresult IsNonBlocking(PRBool *_retval);
+
+}
+