1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- include protocol PNecko;
- include InputStreamParams;
- include URIParams;
- //FIXME: bug #792908 (NeckoChannelParams already included by PNecko)
- include NeckoChannelParams;
- include protocol PBlob; //FIXME: bug #792908
- using PRTime from "prtime.h";
- namespace mozilla {
- namespace net {
- async protocol PFTPChannel
- {
- manager PNecko;
- parent:
- // Note: channels are opened during construction, so no open method here:
- // see PNecko.ipdl
- async __delete__();
- async Cancel(nsresult status);
- async Suspend();
- async Resume();
- // Divert OnDataAvailable to the parent.
- async DivertOnDataAvailable(nsCString data,
- uint64_t offset,
- uint32_t count);
- // Divert OnStopRequest to the parent.
- async DivertOnStopRequest(nsresult statusCode);
- // Child has no more events/messages to divert to the parent.
- async DivertComplete();
- child:
- async OnStartRequest(nsresult aChannelStatus,
- int64_t aContentLength,
- nsCString aContentType,
- PRTime aLastModified,
- nsCString aEntityID,
- URIParams aURI);
- async OnDataAvailable(nsresult channelStatus,
- nsCString data,
- uint64_t offset,
- uint32_t count);
- async OnStopRequest(nsresult channelStatus,
- nsCString aErrorMsg,
- bool aUseUTF8);
- async FailedAsyncOpen(nsresult statusCode);
- // Parent has been suspended for diversion; no more events to be enqueued.
- async FlushedForDiversion();
- // Child should resume processing the ChannelEventQueue, i.e. diverting any
- // OnDataAvailable and OnStopRequest messages in the queue back to the parent.
- async DivertMessages();
- async DeleteSelf();
- };
- } // namespace net
- } // namespace mozilla
|