blob: 1b6896f2b435fcd6ba66e4fcde365bf693f9b598 [file] [log] [blame]
Bjorn A Mellemc4f86542019-11-21 10:37:18 -08001/*
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 10:00:33 +010015#include "api/call/call_factory_interface.h"
Bjorn A Mellemc4f86542019-11-21 10:37:18 -080016#include "api/test/time_controller.h"
17
18namespace webrtc {
19
Sebastian Jansson09a9f1b2020-02-03 09:30:07 +010020// Creates a time coltroller that wraps |alarm|.
Bjorn A Mellemc4f86542019-11-21 10:37:18 -080021std::unique_ptr<TimeController> CreateTimeController(
22 ControlledAlarmClock* alarm);
23
Sebastian Jansson09a9f1b2020-02-03 09:30:07 +010024// Creates a time controller that runs in simulated time.
25std::unique_ptr<TimeController> CreateSimulatedTimeController();
26
Sebastian Jansson7aa2edf2020-01-23 10:00:33 +010027// 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 10:37:18 -080032} // namespace webrtc
33
34#endif // API_TEST_CREATE_TIME_CONTROLLER_H_