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___ */