1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
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/. */
6 #ifndef mozilla_net_SocketProcessBridgeParent_h
7 #define mozilla_net_SocketProcessBridgeParent_h
9 #include "mozilla/net/PSocketProcessBridgeParent.h"
14 // The IPC actor implements PSocketProcessBridgeParent in socket process.
15 // This is allocated and kept alive by SocketProcessChild. When |ActorDestroy|
16 // is called, |SocketProcessChild::DestroySocketProcessBridgeParent| will be
17 // called to destroy this actor.
18 class SocketProcessBridgeParent final
: public PSocketProcessBridgeParent
{
20 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(SocketProcessBridgeParent
, final
)
22 explicit SocketProcessBridgeParent(ProcessId aId
);
24 mozilla::ipc::IPCResult
RecvInitBackgroundDataBridge(
25 Endpoint
<PBackgroundDataBridgeParent
>&& aEndpoint
, uint64_t aChannelID
);
28 mozilla::ipc::IPCResult
RecvInitMediaTransport(
29 Endpoint
<PMediaTransportParent
>&& aEndpoint
);
32 void ActorDestroy(ActorDestroyReason aReason
) override
;
35 ~SocketProcessBridgeParent();
37 nsCOMPtr
<nsISerialEventTarget
> mMediaTransportTaskQueue
;
42 } // namespace mozilla
44 #endif // mozilla_net_SocketProcessBridgeParent_h