1/*
2 *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_CALL_MOCK_MOCK_CONGESTION_CONTROLLER_H_
12#define WEBRTC_CALL_MOCK_MOCK_CONGESTION_CONTROLLER_H_
13
14#include "testing/gmock/include/gmock/gmock.h"
15#include "webrtc/call/congestion_controller.h"
16
17namespace webrtc {
18namespace test {
19
20class MockCongestionController : public CongestionController {
21 public:
22  MockCongestionController(ProcessThread* process_thread,
23                           CallStats* call_stats,
24                           BitrateObserver* bitrate_observer)
25      : CongestionController(process_thread, call_stats, bitrate_observer) {}
26  MOCK_METHOD1(AddEncoder, void(ViEEncoder* encoder));
27  MOCK_METHOD1(RemoveEncoder, void(ViEEncoder* encoder));
28  MOCK_METHOD3(SetBweBitrates,
29               void(int min_bitrate_bps,
30                    int start_bitrate_bps,
31                    int max_bitrate_bps));
32  MOCK_METHOD3(SetChannelRembStatus,
33               void(bool sender, bool receiver, RtpRtcp* rtp_module));
34  MOCK_METHOD1(SignalNetworkState, void(NetworkState state));
35  MOCK_CONST_METHOD0(GetBitrateController, BitrateController*());
36  MOCK_CONST_METHOD1(GetRemoteBitrateEstimator,
37                     RemoteBitrateEstimator*(bool send_side_bwe));
38  MOCK_CONST_METHOD0(GetPacerQueuingDelayMs, int64_t());
39  MOCK_CONST_METHOD0(pacer, PacedSender*());
40  MOCK_CONST_METHOD0(packet_router, PacketRouter*());
41  MOCK_METHOD0(GetTransportFeedbackObserver, TransportFeedbackObserver*());
42  MOCK_METHOD3(UpdatePacerBitrate,
43               void(int bitrate_kbps,
44                    int max_bitrate_kbps,
45                    int min_bitrate_kbps));
46  MOCK_METHOD1(OnSentPacket, void(const rtc::SentPacket& sent_packet));
47
48  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(MockCongestionController);
49};
50}  // namespace test
51}  // namespace webrtc
52#endif  // WEBRTC_CALL_MOCK_MOCK_CONGESTION_CONTROLLER_H_
53