2016-05-15 20:32:09 +03:00
|
|
|
/* 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 PBackground;
|
|
|
|
include protocol PContent;
|
2016-09-21 13:27:26 +03:00
|
|
|
include protocol PContentBridge;
|
2016-05-15 20:32:09 +03:00
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace ipc {
|
|
|
|
|
2017-03-14 14:29:43 +03:00
|
|
|
// This is protocol is the opposite of PParentToChildStream. Please keep these
|
|
|
|
// protocols in sync.
|
2017-03-14 14:28:58 +03:00
|
|
|
protocol PChildToParentStream
|
2016-05-15 20:32:09 +03:00
|
|
|
{
|
2016-09-21 13:27:26 +03:00
|
|
|
manager PBackground or PContent or PContentBridge;
|
2016-05-15 20:32:09 +03:00
|
|
|
|
|
|
|
parent:
|
|
|
|
async Buffer(nsCString aBuffer);
|
|
|
|
async Close(nsresult aRv);
|
|
|
|
|
|
|
|
child:
|
|
|
|
// The parent side has hit an error condition and has requested the child
|
|
|
|
// actor issue a Close() message. The close must be initiated by the child
|
|
|
|
// to avoid racing with an in-flight Buffer() message.
|
|
|
|
async RequestClose(nsresult aRv);
|
|
|
|
|
|
|
|
// Stream is always destroyed from the parent side. This occurs if the
|
|
|
|
// parent encounters an error while writing to its pipe or if the child
|
|
|
|
// signals the stream should close by SendClose().
|
|
|
|
async __delete__();
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace ipc
|
|
|
|
} // namespace mozilla
|