The nsIInputStream and nsIOutputStream implementations in XPCOM are 
going to be renamed from nsIFileInputStream and nsIFileOutputStream to 
nsIFileSpecInputStream and nsIFileSpecOutputStream repectively.  Also, 
the IDL name will be renamed to match. 

This will be done because there are a few places where one need to 
include both of these implementions.  The result is undefined as to 
which interface you will get (or at least on the mac).  Once this 
renaming is done, it will fix a few bugs (73169 
<http://bugzilla.mozilla.org/show_bug.cgi?id=73169>, 63357 
<http://bugzilla.mozilla.org/show_bug.cgi?id=63357>).

Attached is the diff to XPCom.  The full diff will be attached to the 
bug 73169 once I am done testing.

-- 
Doug Turner
[EMAIL PROTECTED]
? diff
Index: nsFileStream.h
===================================================================
RCS file: /cvsroot/mozilla/xpcom/io/nsFileStream.h,v
retrieving revision 1.37
diff -u -r1.37 nsFileStream.h
--- nsFileStream.h      2001/02/26 18:50:25     1.37
+++ nsFileStream.h      2001/03/24 00:41:08
@@ -503,7 +503,7 @@
 
 // DATA
 protected:
-    nsCOMPtr<nsIFileInputStream>      mFileInputStream;
+    nsCOMPtr<nsIFileSpecInputStream>      mFileInputStream;
 }; // class nsInputFileStream
 
 
//========================================================================================
@@ -637,7 +637,7 @@
 
 // DATA
 protected:
-    nsCOMPtr<nsIFileOutputStream>     mFileOutputStream;
+    nsCOMPtr<nsIFileSpecOutputStream>     mFileOutputStream;
 }; // class nsOutputFileStream
 
 
//========================================================================================
@@ -757,7 +757,7 @@
 
     // DATA
 protected:
-    nsCOMPtr<nsIFileOutputStream>     mFileOutputStream;
+    nsCOMPtr<nsIFileSpecOutputStream>     mFileOutputStream;
 }; // class nsIOFileStream
  
 
//========================================================================================
Index: nsIFileStream.cpp
===================================================================
RCS file: /cvsroot/mozilla/xpcom/io/nsIFileStream.cpp,v
retrieving revision 3.38
diff -u -r3.38 nsIFileStream.cpp
--- nsIFileStream.cpp   2000/11/14 15:58:37     3.38
+++ nsIFileStream.cpp   2001/03/24 00:41:08
@@ -43,8 +43,8 @@
 
//========================================================================================
 class FileImpl
     : public nsIRandomAccessStore
-    , public nsIFileOutputStream
-    , public nsIFileInputStream
+    , public nsIFileSpecOutputStream
+    , public nsIFileSpecInputStream
     , public nsIOpenFile
 
//========================================================================================
 {
@@ -112,8 +112,8 @@
   NS_IMPL_QUERY_BODY(nsIRandomAccessStore)
   NS_IMPL_QUERY_BODY(nsIOutputStream)
   NS_IMPL_QUERY_BODY(nsIInputStream)
-  NS_IMPL_QUERY_BODY(nsIFileInputStream)
-  NS_IMPL_QUERY_BODY(nsIFileOutputStream)
+  NS_IMPL_QUERY_BODY(nsIFileSpecInputStream)
+  NS_IMPL_QUERY_BODY(nsIFileSpecOutputStream)
 NS_IMPL_QUERY_TAIL(nsIOutputStream)
 
 
Index: nsIFileStream.h
===================================================================
RCS file: /cvsroot/mozilla/xpcom/io/nsIFileStream.h,v
retrieving revision 1.10
diff -u -r1.10 nsIFileStream.h
--- nsIFileStream.h     2001/01/09 22:46:53     1.10
+++ nsIFileStream.h     2001/03/24 00:41:08
@@ -78,12 +78,12 @@
                                 // and mozilla/netwerks/base/nsIFileStreams.idl
 
 /* a6cf90e6-15b3-11d2-932e-00805f8add32 */
-#define NS_IFILEINPUTSTREAM_IID \
+#define NS_IFILESPECINPUTSTREAM_IID \
 { 0xa6cf90e6, 0x15b3, 0x11d2, \
     {0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32} }
     
 
//========================================================================================
-class nsIFileInputStream
+class nsIFileSpecInputStream
 // These are additional file-specific methods that files have, above what
 // nsIInputStream supports.  The current implementation supports both
 // interfaces.
@@ -91,16 +91,16 @@
 : public nsIInputStream
 {
 public:
-    static const nsIID& GetIID() { static nsIID iid = NS_IFILEINPUTSTREAM_IID; return 
iid; }
-}; // class nsIFileInputStream
+    static const nsIID& GetIID() { static nsIID iid = NS_IFILESPECINPUTSTREAM_IID; 
+return iid; }
+}; // class nsIFileSpecInputStream
 
 /* a6cf90e7-15b3-11d2-932e-00805f8add32 */
-#define NS_IFILEOUTPUTSTREAM_IID \
+#define NS_IFILESPECOUTPUTSTREAM_IID \
 { 0xa6cf90e7, 0x15b3, 0x11d2, \
     {0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32} }
 
 
//========================================================================================
-class nsIFileOutputStream
+class nsIFileSpecOutputStream
 // These are additional file-specific methods that files have, above what
 // nsIOutputStream supports.  The current implementation supports both
 // interfaces.
@@ -108,8 +108,8 @@
 : public nsIOutputStream
 {
 public:
-    static const nsIID& GetIID() { static nsIID iid = NS_IFILEOUTPUTSTREAM_IID; 
return iid; }
-}; // class nsIFileOutputStream
+    static const nsIID& GetIID() { static nsIID iid = NS_IFILESPECOUTPUTSTREAM_IID; 
+return iid; }
+}; // class nsIFileSpecOutputStream
 
 #endif // NO_XPCOM_FILE_STREAMS
 
@@ -152,4 +152,4 @@
     // Factory method to get an object that implements both nsIInputStream
     // and nsIOutputStream, associated with a single file.
 
-#endif /* nsIFileStream_h___ */
+#endif /* nsIFileSpecStream_h___ */

Reply via email to