tor-browser

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

MediaTransportParent.h (3190B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 #ifndef _MTRANSPORTHANDLER_PARENT_H__
      6 #define _MTRANSPORTHANDLER_PARENT_H__
      7 
      8 #include <memory>
      9 
     10 #include "mozilla/dom/PMediaTransportParent.h"
     11 
     12 namespace mozilla {
     13 
     14 class MediaTransportParent : public dom::PMediaTransportParent {
     15 public:
     16 #ifdef MOZ_WEBRTC
     17  NS_INLINE_DECL_THREADSAFE_REFCOUNTING(MediaTransportParent, override)
     18 
     19  MediaTransportParent();
     20 
     21  mozilla::ipc::IPCResult RecvGetIceLog(const nsCString& pattern,
     22                                        GetIceLogResolver&& aResolve);
     23  mozilla::ipc::IPCResult RecvClearIceLog();
     24  mozilla::ipc::IPCResult RecvEnterPrivateMode();
     25  mozilla::ipc::IPCResult RecvExitPrivateMode();
     26  mozilla::ipc::IPCResult RecvCreateIceCtx(const string& name);
     27  mozilla::ipc::IPCResult RecvSetIceConfig(
     28      nsTArray<RTCIceServer>&& iceServers,
     29      const RTCIceTransportPolicy& icePolicy);
     30  mozilla::ipc::IPCResult RecvSetProxyConfig(
     31      const net::WebrtcProxyConfig& aProxyConfig);
     32  mozilla::ipc::IPCResult RecvEnsureProvisionalTransport(
     33      const string& transportId, const string& localUfrag,
     34      const string& localPwd, const int& componentCount);
     35  mozilla::ipc::IPCResult RecvSetTargetForDefaultLocalAddressLookup(
     36      const string& targetIp, uint16_t targetPort);
     37  mozilla::ipc::IPCResult RecvStartIceGathering(
     38      const bool& defaultRouteOnly, const bool& obfuscateAddresses,
     39      const net::NrIceStunAddrArray& stunAddrs);
     40  mozilla::ipc::IPCResult RecvActivateTransport(
     41      const string& transportId, const string& localUfrag,
     42      const string& localPwd, const int& componentCount,
     43      const string& remoteUfrag, const string& remotePwd,
     44      nsTArray<uint8_t>&& keyDer, nsTArray<uint8_t>&& certDer,
     45      const int& authType, const bool& dtlsClient,
     46      const DtlsDigestList& digests, const bool& privacyRequested);
     47  mozilla::ipc::IPCResult RecvRemoveTransportsExcept(
     48      const StringVector& transportIds);
     49  mozilla::ipc::IPCResult RecvStartIceChecks(const bool& isControlling,
     50                                             const StringVector& iceOptions);
     51  mozilla::ipc::IPCResult RecvSendPacket(const string& transportId,
     52                                         MediaPacket&& packet);
     53  mozilla::ipc::IPCResult RecvAddIceCandidate(const string& transportId,
     54                                              const string& candidate,
     55                                              const string& ufrag,
     56                                              const string& obfuscatedAddress);
     57  mozilla::ipc::IPCResult RecvUpdateNetworkState(const bool& online);
     58  mozilla::ipc::IPCResult RecvGetIceStats(const string& transportId,
     59                                          const double& now,
     60                                          GetIceStatsResolver&& aResolve);
     61 
     62 private:
     63  virtual ~MediaTransportParent();
     64 
     65  // Hide the sigslot/MediaTransportHandler stuff from IPC.
     66  class Impl;
     67  std::unique_ptr<Impl> mImpl;
     68 #endif  // MOZ_WEBRTC
     69 };
     70 }  // namespace mozilla
     71 #endif  //_MTRANSPORTHANDLER_PARENT_H__