blob: 1b6896f2b435fcd6ba66e4fcde365bf693f9b598 [file] [log] [blame]
Bjorn A Mellemc4f86542019-11-21 18:37:181/*
2 * Copyright 2019 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#ifndef API_TEST_CREATE_TIME_CONTROLLER_H_
11#define API_TEST_CREATE_TIME_CONTROLLER_H_
12
13#include <memory>
14
Sebastian Jansson7aa2edf2020-01-23 09:00:3315#include "api/call/call_factory_interface.h"
Bjorn A Mellemc4f86542019-11-21 18:37:1816#include "api/test/time_controller.h"
17
18namespace webrtc {
19
Sebastian Jansson09a9f1b2020-02-03 08:30:0720// Creates a time coltroller that wraps |alarm|.
Bjorn A Mellemc4f86542019-11-21 18:37:1821std::unique_ptr<TimeController> CreateTimeController(
22 ControlledAlarmClock* alarm);
23
Sebastian Jansson09a9f1b2020-02-03 08:30:0724// Creates a time controller that runs in simulated time.
25std::unique_ptr<TimeController> CreateSimulatedTimeController();
26
Sebastian Jansson7aa2edf2020-01-23 09:00:3327// This is creates a call factory that creates Call instances that are backed by
28// a time controller.
29std::unique_ptr<CallFactoryInterface> CreateTimeControllerBasedCallFactory(
30 TimeController* time_controller);
31
Bjorn A Mellemc4f86542019-11-21 18:37:1832} // namespace webrtc
33
34#endif // API_TEST_CREATE_TIME_CONTROLLER_H_