webrtc_m130/p2p/base/mock_ice_controller.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

96 lines
3.2 KiB
C
Raw Normal View History

/*
* Copyright 2018 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef P2P_BASE_MOCK_ICE_CONTROLLER_H_
#define P2P_BASE_MOCK_ICE_CONTROLLER_H_
#include <memory>
#include <vector>
#include "p2p/base/ice_controller_factory_interface.h"
#include "p2p/base/ice_controller_interface.h"
#include "test/gmock.h"
namespace cricket {
class MockIceController : public cricket::IceControllerInterface {
public:
explicit MockIceController(
const cricket::IceControllerFactoryArgs& /* args */) {}
~MockIceController() override = default;
MOCK_METHOD(void, SetIceConfig, (const cricket::IceConfig&), (override));
MOCK_METHOD(void,
SetSelectedConnection,
(const cricket::Connection*),
(override));
MOCK_METHOD(void, AddConnection, (const cricket::Connection*), (override));
MOCK_METHOD(void,
OnConnectionDestroyed,
(const cricket::Connection*),
(override));
MOCK_METHOD(rtc::ArrayView<const cricket::Connection* const>,
GetConnections,
(),
(const, override));
Revert "Correctly const-qualify return value of IceControllerInterface::connections()." This reverts commit ad631f0d353011b8d4282577310abb48bf60ff67. Reason for revert: error: virtual function 'connections' has a different return type ('ArrayView<const cricket::Connection *>') than the function it overrides (which has return type 'ArrayView<const Connection *const>') Original change's description: > Correctly const-qualify return value of IceControllerInterface::connections(). > > This is intended to be a read-only view across a container of const > Connection*, but due to the missing const, elements of the container > could actually be re-assigned through the ArrayView. > > This was discovered when trying to roll Googletest, since Googletest was > fixed to const-qualify converting actions: > https://github.com/google/googletest/commit/cbca6bc3957b28b8062f20b65f9349d94a4bf0b3 > > Bug: chromium:1409870 > Change-Id: Iadd3abe6807111987e422b8510a23f2a4f7026ed > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329481 > Auto-Submit: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Daniel Cheng <dcheng@chromium.org> > Cr-Commit-Position: refs/heads/main@{#41300} Bug: chromium:1409870 Change-Id: Id0026eb7727a3d1408045d0040b3b080cca07832 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/329762 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Manashi Sarkar <manashi@google.com> Cr-Commit-Position: refs/heads/main@{#41307}
2023-12-04 12:10:15 +00:00
MOCK_METHOD(rtc::ArrayView<const cricket::Connection*>,
connections,
(),
(const, override));
MOCK_METHOD(bool, HasPingableConnection, (), (const, override));
MOCK_METHOD(cricket::IceControllerInterface::PingResult,
SelectConnectionToPing,
(int64_t),
(override));
MOCK_METHOD(bool,
GetUseCandidateAttr,
(const cricket::Connection*,
cricket::NominationMode,
cricket::IceMode),
(const, override));
MOCK_METHOD(const cricket::Connection*,
FindNextPingableConnection,
(),
(override));
MOCK_METHOD(void,
MarkConnectionPinged,
(const cricket::Connection*),
(override));
MOCK_METHOD(cricket::IceControllerInterface::SwitchResult,
ShouldSwitchConnection,
(cricket::IceSwitchReason, const cricket::Connection*),
(override));
MOCK_METHOD(cricket::IceControllerInterface::SwitchResult,
SortAndSwitchConnection,
(cricket::IceSwitchReason),
(override));
MOCK_METHOD(std::vector<const cricket::Connection*>,
PruneConnections,
(),
(override));
};
class MockIceControllerFactory : public cricket::IceControllerFactoryInterface {
public:
~MockIceControllerFactory() override = default;
std::unique_ptr<cricket::IceControllerInterface> Create(
const cricket::IceControllerFactoryArgs& args) override {
RecordIceControllerCreated();
return std::make_unique<MockIceController>(args);
}
MOCK_METHOD(void, RecordIceControllerCreated, ());
};
} // namespace cricket
#endif // P2P_BASE_MOCK_ICE_CONTROLLER_H_