nsIMultiPartChannel.idl (1566B)
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #include "nsISupports.idl" 7 8 interface nsIChannel; 9 10 /** 11 * An interface to access the the base channel 12 * associated with a MultiPartChannel. 13 */ 14 15 [scriptable, builtinclass, uuid(4fefb490-5567-11e5-a837-0800200c9a66)] 16 interface nsIMultiPartChannel : nsISupports 17 { 18 /** 19 * readonly attribute to access the underlying channel 20 */ 21 readonly attribute nsIChannel baseChannel; 22 23 /** 24 * Attribute guaranteed to be different for different parts of 25 * the same multipart document. 26 */ 27 readonly attribute uint32_t partID; 28 29 [noscript] readonly attribute boolean isFirstPart; 30 31 /** 32 * Set to true when onStopRequest is received from the base channel. 33 * The listener can check this from its onStopRequest to determine 34 * whether more data can be expected. 35 */ 36 readonly attribute boolean isLastPart; 37 }; 38 39 /** 40 * An interface that listeners can implement to receive a notification 41 * when the last part of the multi-part channel has finished, and the 42 * final OnStopRequest has been sent. 43 */ 44 [scriptable, uuid(b084959a-4fb9-41a5-88a0-d0f045ce75cf)] 45 interface nsIMultiPartChannelListener : nsISupports 46 { 47 /** 48 * Sent when all parts have finished and sent OnStopRequest. 49 */ 50 void onAfterLastPart(in nsresult status); 51 };