Go to the documentation of this file.
1 /*
2 //
4 //
5 // This file is part of the Songbird web player.
6 //
7 // Copyright(c) 2005-2008 POTI, Inc.
8 //
9 //
10 // This file may be licensed under the terms of of the
11 // GNU General Public License Version 2 (the "GPL").
12 //
13 // Software distributed under the License is distributed
14 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15 // express or implied. See the GPL for the specific language
16 // governing rights and limitations.
17 //
18 // You should have received a copy of the GPL along with this
19 // program. If not, go to
20 // or write to the Free Software Foundation, Inc.,
21 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 //
24 //
25 */
31 #include "nsISupports.idl"
32 #include "nsIStreamListener.idl"
33 #include "sbIMetadataHandler.idl"
35 interface nsIChannel;
48 [uuid(6CB7F8A0-29ED-424b-AEF6-B491A8784AF4)]
49 interface sbIMetadataChannel : nsIStreamListener
50 {
55  attribute PRUInt64 pos;
59  readonly attribute PRUInt64 buf;
63  readonly attribute PRUInt64 size;
68  readonly attribute PRBool seekable;
72  readonly attribute PRBool completed;
85  void open( in nsIChannel aChannel, in sbIMetadataHandler aHandler );
89  void close();
94  void skip( in PRUint64 aDistance );
101  PRUint32 read( in charPtr aBuffer, in PRUint32 aSize );
106  char readChar();
111  PRInt32 readInt32();
116  PRInt64 readInt64();
117 };
char readChar()
Read a byte from the buffer.
void open(in nsIChannel aChannel, in sbIMetadataHandler aHandler)
Open the channel and start downloading the file.
A wrapper for an nsIChannel that buffers the incoming data.
attribute PRUInt64 pos
The current read position (for the read methods)
readonly attribute PRUInt64 size
The size of the file targeted by the nsIChannel.
PRUint32 read(in charPtr aBuffer, in PRUint32 aSize)
Read from the buffer.
PRInt64 readInt64()
Read a 32bit int from the buffer.
var uuid
readonly attribute PRUInt64 buf
The current internal buffer position (everything the channel has sent)
const nsIChannel
An object capable of manipulating the metadata tags for a media file.
void close()
Close the channel and free all references.
void skip(in PRUint64 aDistance)
Skip forward in the read buffer.
PRInt32 readInt32()
Read a 32bit int from the buffer.
readonly attribute PRBool seekable
If the datastream is seekable.
An interface for reading/writing file metadata tags.
readonly attribute PRBool completed
If the nsIChannel has finished (by completion or error)