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__