00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00032 #include "nsISupports.idl"
00033
00034 interface nsIChannel;
00035 interface sbISeekableChannel;
00036
00044 [uuid(873ABEF5-AEE5-468E-8896-7768A13DC9A7)]
00045
00046 interface sbISeekableChannelListener : nsISupports
00047 {
00057 void onChannelDataAvailable( in sbISeekableChannel aChannel );
00058 };
00059
00060
00068 [uuid(873E0403-B0B1-4E6D-BD32-E4ED51492109)]
00069
00070 interface sbISeekableChannel : nsISupports
00071 {
00075 attribute PRUInt64 pos;
00079 readonly attribute PRUInt64 size;
00083 readonly attribute PRBool completed;
00090 void open( in nsIChannel aChannel, in sbISeekableChannelListener aListener );
00094 void close();
00099 void skip( in PRUint64 aDistance );
00106 PRUint32 read( in charPtr aBuffer, in PRUint32 aSize );
00111 char readChar();
00116 PRInt32 readInt32();
00121 PRInt64 readInt64();
00122 };