tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PGIOChannel.ipdl (1409B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
      3 
      4 /* This Source Code Form is subject to the terms of the Mozilla Public
      5  * License, v. 2.0. If a copy of the MPL was not distributed with this
      6  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      7 
      8 include protocol PNecko;
      9 include URIParams;
     10 
     11 //FIXME: bug #792908 (NeckoChannelParams already included by PNecko)
     12 include NeckoChannelParams;
     13 
     14 using PRTime from "prtime.h";
     15 
     16 namespace mozilla {
     17 namespace net {
     18 
     19 [ManualDealloc, ChildImpl=virtual, ParentImpl=virtual]
     20 async protocol PGIOChannel
     21 {
     22   manager PNecko;
     23 
     24 parent:
     25   // Note: channels are opened during construction, so no open method here:
     26   // see PNecko.ipdl
     27 
     28   async __delete__();
     29 
     30   async Cancel(nsresult status);
     31   async Suspend();
     32   async Resume();
     33 
     34 child:
     35   async OnStartRequest(nsresult aChannelStatus,
     36                        int64_t aContentLength,
     37                        nsCString aContentType,
     38                        nsCString aEntityID,
     39                        URIParams aURI);
     40   async OnDataAvailable(nsresult channelStatus,
     41                         nsCString data,
     42                         uint64_t offset,
     43                         uint32_t count);
     44   async OnStopRequest(nsresult channelStatus);
     45   async FailedAsyncOpen(nsresult statusCode);
     46 
     47   async DeleteSelf();
     48 };
     49 
     50 } // namespace net
     51 } // namespace mozilla