1*d9f75844SAndroid Build Coastguard Worker /* 2*d9f75844SAndroid Build Coastguard Worker * Copyright 2016 The WebRTC project authors. All Rights Reserved. 3*d9f75844SAndroid Build Coastguard Worker * 4*d9f75844SAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license 5*d9f75844SAndroid Build Coastguard Worker * that can be found in the LICENSE file in the root of the source 6*d9f75844SAndroid Build Coastguard Worker * tree. An additional intellectual property rights grant can be found 7*d9f75844SAndroid Build Coastguard Worker * in the file PATENTS. All contributing project authors may 8*d9f75844SAndroid Build Coastguard Worker * be found in the AUTHORS file in the root of the source tree. 9*d9f75844SAndroid Build Coastguard Worker */ 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard Worker #ifndef API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_ 12*d9f75844SAndroid Build Coastguard Worker #define API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_ 13*d9f75844SAndroid Build Coastguard Worker 14*d9f75844SAndroid Build Coastguard Worker #include <memory> 15*d9f75844SAndroid Build Coastguard Worker #include <string> 16*d9f75844SAndroid Build Coastguard Worker #include <type_traits> 17*d9f75844SAndroid Build Coastguard Worker #include <utility> 18*d9f75844SAndroid Build Coastguard Worker #include <vector> 19*d9f75844SAndroid Build Coastguard Worker 20*d9f75844SAndroid Build Coastguard Worker #include "api/peer_connection_interface.h" 21*d9f75844SAndroid Build Coastguard Worker #include "api/scoped_refptr.h" 22*d9f75844SAndroid Build Coastguard Worker #include "api/sctp_transport_interface.h" 23*d9f75844SAndroid Build Coastguard Worker #include "rtc_base/ref_counted_object.h" 24*d9f75844SAndroid Build Coastguard Worker #include "test/gmock.h" 25*d9f75844SAndroid Build Coastguard Worker 26*d9f75844SAndroid Build Coastguard Worker namespace webrtc { 27*d9f75844SAndroid Build Coastguard Worker 28*d9f75844SAndroid Build Coastguard Worker class MockPeerConnectionInterface : public webrtc::PeerConnectionInterface { 29*d9f75844SAndroid Build Coastguard Worker public: Create()30*d9f75844SAndroid Build Coastguard Worker static rtc::scoped_refptr<MockPeerConnectionInterface> Create() { 31*d9f75844SAndroid Build Coastguard Worker return rtc::make_ref_counted<MockPeerConnectionInterface>(); 32*d9f75844SAndroid Build Coastguard Worker } 33*d9f75844SAndroid Build Coastguard Worker 34*d9f75844SAndroid Build Coastguard Worker // PeerConnectionInterface 35*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(rtc::scoped_refptr<StreamCollectionInterface>, 36*d9f75844SAndroid Build Coastguard Worker local_streams, 37*d9f75844SAndroid Build Coastguard Worker (), 38*d9f75844SAndroid Build Coastguard Worker (override)); 39*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(rtc::scoped_refptr<StreamCollectionInterface>, 40*d9f75844SAndroid Build Coastguard Worker remote_streams, 41*d9f75844SAndroid Build Coastguard Worker (), 42*d9f75844SAndroid Build Coastguard Worker (override)); 43*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(bool, AddStream, (MediaStreamInterface*), (override)); 44*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, RemoveStream, (MediaStreamInterface*), (override)); 45*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpSenderInterface>>, 46*d9f75844SAndroid Build Coastguard Worker AddTrack, 47*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<MediaStreamTrackInterface>, 48*d9f75844SAndroid Build Coastguard Worker const std::vector<std::string>&), 49*d9f75844SAndroid Build Coastguard Worker (override)); 50*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpSenderInterface>>, 51*d9f75844SAndroid Build Coastguard Worker AddTrack, 52*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<MediaStreamTrackInterface>, 53*d9f75844SAndroid Build Coastguard Worker const std::vector<std::string>&, 54*d9f75844SAndroid Build Coastguard Worker const std::vector<RtpEncodingParameters>&), 55*d9f75844SAndroid Build Coastguard Worker (override)); 56*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCError, 57*d9f75844SAndroid Build Coastguard Worker RemoveTrackOrError, 58*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<RtpSenderInterface>), 59*d9f75844SAndroid Build Coastguard Worker (override)); 60*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>, 61*d9f75844SAndroid Build Coastguard Worker AddTransceiver, 62*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<MediaStreamTrackInterface>), 63*d9f75844SAndroid Build Coastguard Worker (override)); 64*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>, 65*d9f75844SAndroid Build Coastguard Worker AddTransceiver, 66*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<MediaStreamTrackInterface>, 67*d9f75844SAndroid Build Coastguard Worker const RtpTransceiverInit&), 68*d9f75844SAndroid Build Coastguard Worker (override)); 69*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>, 70*d9f75844SAndroid Build Coastguard Worker AddTransceiver, 71*d9f75844SAndroid Build Coastguard Worker (cricket::MediaType), 72*d9f75844SAndroid Build Coastguard Worker (override)); 73*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<RtpTransceiverInterface>>, 74*d9f75844SAndroid Build Coastguard Worker AddTransceiver, 75*d9f75844SAndroid Build Coastguard Worker (cricket::MediaType, const RtpTransceiverInit&), 76*d9f75844SAndroid Build Coastguard Worker (override)); 77*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(rtc::scoped_refptr<RtpSenderInterface>, 78*d9f75844SAndroid Build Coastguard Worker CreateSender, 79*d9f75844SAndroid Build Coastguard Worker (const std::string&, const std::string&), 80*d9f75844SAndroid Build Coastguard Worker (override)); 81*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(std::vector<rtc::scoped_refptr<RtpSenderInterface>>, 82*d9f75844SAndroid Build Coastguard Worker GetSenders, 83*d9f75844SAndroid Build Coastguard Worker (), 84*d9f75844SAndroid Build Coastguard Worker (const, override)); 85*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(std::vector<rtc::scoped_refptr<RtpReceiverInterface>>, 86*d9f75844SAndroid Build Coastguard Worker GetReceivers, 87*d9f75844SAndroid Build Coastguard Worker (), 88*d9f75844SAndroid Build Coastguard Worker (const, override)); 89*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(std::vector<rtc::scoped_refptr<RtpTransceiverInterface>>, 90*d9f75844SAndroid Build Coastguard Worker GetTransceivers, 91*d9f75844SAndroid Build Coastguard Worker (), 92*d9f75844SAndroid Build Coastguard Worker (const, override)); 93*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(bool, 94*d9f75844SAndroid Build Coastguard Worker GetStats, 95*d9f75844SAndroid Build Coastguard Worker (StatsObserver*, MediaStreamTrackInterface*, StatsOutputLevel), 96*d9f75844SAndroid Build Coastguard Worker (override)); 97*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, GetStats, (RTCStatsCollectorCallback*), (override)); 98*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 99*d9f75844SAndroid Build Coastguard Worker GetStats, 100*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<RtpSenderInterface>, 101*d9f75844SAndroid Build Coastguard Worker rtc::scoped_refptr<RTCStatsCollectorCallback>), 102*d9f75844SAndroid Build Coastguard Worker (override)); 103*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 104*d9f75844SAndroid Build Coastguard Worker GetStats, 105*d9f75844SAndroid Build Coastguard Worker (rtc::scoped_refptr<RtpReceiverInterface>, 106*d9f75844SAndroid Build Coastguard Worker rtc::scoped_refptr<RTCStatsCollectorCallback>), 107*d9f75844SAndroid Build Coastguard Worker (override)); 108*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, ClearStatsCache, (), (override)); 109*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(rtc::scoped_refptr<SctpTransportInterface>, 110*d9f75844SAndroid Build Coastguard Worker GetSctpTransport, 111*d9f75844SAndroid Build Coastguard Worker (), 112*d9f75844SAndroid Build Coastguard Worker (const, override)); 113*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCErrorOr<rtc::scoped_refptr<DataChannelInterface>>, 114*d9f75844SAndroid Build Coastguard Worker CreateDataChannelOrError, 115*d9f75844SAndroid Build Coastguard Worker (const std::string&, const DataChannelInit*), 116*d9f75844SAndroid Build Coastguard Worker (override)); 117*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(const SessionDescriptionInterface*, 118*d9f75844SAndroid Build Coastguard Worker local_description, 119*d9f75844SAndroid Build Coastguard Worker (), 120*d9f75844SAndroid Build Coastguard Worker (const, override)); 121*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(const SessionDescriptionInterface*, 122*d9f75844SAndroid Build Coastguard Worker remote_description, 123*d9f75844SAndroid Build Coastguard Worker (), 124*d9f75844SAndroid Build Coastguard Worker (const, override)); 125*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(const SessionDescriptionInterface*, 126*d9f75844SAndroid Build Coastguard Worker current_local_description, 127*d9f75844SAndroid Build Coastguard Worker (), 128*d9f75844SAndroid Build Coastguard Worker (const, override)); 129*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(const SessionDescriptionInterface*, 130*d9f75844SAndroid Build Coastguard Worker current_remote_description, 131*d9f75844SAndroid Build Coastguard Worker (), 132*d9f75844SAndroid Build Coastguard Worker (const, override)); 133*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(const SessionDescriptionInterface*, 134*d9f75844SAndroid Build Coastguard Worker pending_local_description, 135*d9f75844SAndroid Build Coastguard Worker (), 136*d9f75844SAndroid Build Coastguard Worker (const, override)); 137*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(const SessionDescriptionInterface*, 138*d9f75844SAndroid Build Coastguard Worker pending_remote_description, 139*d9f75844SAndroid Build Coastguard Worker (), 140*d9f75844SAndroid Build Coastguard Worker (const, override)); 141*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, RestartIce, (), (override)); 142*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 143*d9f75844SAndroid Build Coastguard Worker CreateOffer, 144*d9f75844SAndroid Build Coastguard Worker (CreateSessionDescriptionObserver*, const RTCOfferAnswerOptions&), 145*d9f75844SAndroid Build Coastguard Worker (override)); 146*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 147*d9f75844SAndroid Build Coastguard Worker CreateAnswer, 148*d9f75844SAndroid Build Coastguard Worker (CreateSessionDescriptionObserver*, const RTCOfferAnswerOptions&), 149*d9f75844SAndroid Build Coastguard Worker (override)); 150*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 151*d9f75844SAndroid Build Coastguard Worker SetLocalDescription, 152*d9f75844SAndroid Build Coastguard Worker (SetSessionDescriptionObserver*, SessionDescriptionInterface*), 153*d9f75844SAndroid Build Coastguard Worker (override)); 154*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 155*d9f75844SAndroid Build Coastguard Worker SetRemoteDescription, 156*d9f75844SAndroid Build Coastguard Worker (SetSessionDescriptionObserver*, SessionDescriptionInterface*), 157*d9f75844SAndroid Build Coastguard Worker (override)); 158*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, 159*d9f75844SAndroid Build Coastguard Worker SetRemoteDescription, 160*d9f75844SAndroid Build Coastguard Worker (std::unique_ptr<SessionDescriptionInterface>, 161*d9f75844SAndroid Build Coastguard Worker rtc::scoped_refptr<SetRemoteDescriptionObserverInterface>), 162*d9f75844SAndroid Build Coastguard Worker (override)); 163*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(PeerConnectionInterface::RTCConfiguration, 164*d9f75844SAndroid Build Coastguard Worker GetConfiguration, 165*d9f75844SAndroid Build Coastguard Worker (), 166*d9f75844SAndroid Build Coastguard Worker (override)); 167*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCError, 168*d9f75844SAndroid Build Coastguard Worker SetConfiguration, 169*d9f75844SAndroid Build Coastguard Worker (const PeerConnectionInterface::RTCConfiguration&), 170*d9f75844SAndroid Build Coastguard Worker (override)); 171*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(bool, 172*d9f75844SAndroid Build Coastguard Worker AddIceCandidate, 173*d9f75844SAndroid Build Coastguard Worker (const IceCandidateInterface*), 174*d9f75844SAndroid Build Coastguard Worker (override)); 175*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(bool, 176*d9f75844SAndroid Build Coastguard Worker RemoveIceCandidates, 177*d9f75844SAndroid Build Coastguard Worker (const std::vector<cricket::Candidate>&), 178*d9f75844SAndroid Build Coastguard Worker (override)); 179*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(RTCError, SetBitrate, (const BitrateSettings&), (override)); 180*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, SetAudioPlayout, (bool), (override)); 181*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, SetAudioRecording, (bool), (override)); 182*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(rtc::scoped_refptr<DtlsTransportInterface>, 183*d9f75844SAndroid Build Coastguard Worker LookupDtlsTransportByMid, 184*d9f75844SAndroid Build Coastguard Worker (const std::string&), 185*d9f75844SAndroid Build Coastguard Worker (override)); 186*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(SignalingState, signaling_state, (), (override)); 187*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(IceConnectionState, ice_connection_state, (), (override)); 188*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(IceConnectionState, 189*d9f75844SAndroid Build Coastguard Worker standardized_ice_connection_state, 190*d9f75844SAndroid Build Coastguard Worker (), 191*d9f75844SAndroid Build Coastguard Worker (override)); 192*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(PeerConnectionState, peer_connection_state, (), (override)); 193*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(IceGatheringState, ice_gathering_state, (), (override)); 194*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(absl::optional<bool>, can_trickle_ice_candidates, (), (override)); 195*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(bool, 196*d9f75844SAndroid Build Coastguard Worker StartRtcEventLog, 197*d9f75844SAndroid Build Coastguard Worker (std::unique_ptr<RtcEventLogOutput>, int64_t), 198*d9f75844SAndroid Build Coastguard Worker (override)); 199*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(bool, 200*d9f75844SAndroid Build Coastguard Worker StartRtcEventLog, 201*d9f75844SAndroid Build Coastguard Worker (std::unique_ptr<RtcEventLogOutput>), 202*d9f75844SAndroid Build Coastguard Worker (override)); 203*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, StopRtcEventLog, (), (override)); 204*d9f75844SAndroid Build Coastguard Worker MOCK_METHOD(void, Close, (), (override)); 205*d9f75844SAndroid Build Coastguard Worker }; 206*d9f75844SAndroid Build Coastguard Worker 207*d9f75844SAndroid Build Coastguard Worker static_assert( 208*d9f75844SAndroid Build Coastguard Worker !std::is_abstract_v<rtc::RefCountedObject<MockPeerConnectionInterface>>, 209*d9f75844SAndroid Build Coastguard Worker ""); 210*d9f75844SAndroid Build Coastguard Worker 211*d9f75844SAndroid Build Coastguard Worker } // namespace webrtc 212*d9f75844SAndroid Build Coastguard Worker 213*d9f75844SAndroid Build Coastguard Worker #endif // API_TEST_MOCK_PEERCONNECTIONINTERFACE_H_ 214