blob: 8a16c3dbe6bcf24326dff09871b75a280e544584 [file] [log] [blame]
Cody Schuffelen5bc697c2019-01-28 21:05:29 -08001#pragma once
2
Cody Schuffelen17b34722019-01-28 22:57:14 -08003#include <functional>
Cody Schuffelenb13869b2019-11-26 18:46:34 -08004#include <set>
5#include <string>
Cody Schuffelen17b34722019-01-28 22:57:14 -08006
Cody Schuffelenb13869b2019-11-26 18:46:34 -08007#include "common/libs/fs/shared_fd.h"
Cody Schuffelen5bc697c2019-01-28 21:05:29 -08008#include "common/libs/utils/subprocess.h"
Cody Schuffelen147b88e2019-09-09 16:00:11 -07009#include "host/commands/run_cvd/process_monitor.h"
Cody Schuffelen5bc697c2019-01-28 21:05:29 -080010#include "host/libs/config/cuttlefish_config.h"
11
Jorge E. Moreira277e1c42019-05-06 17:24:27 -070012std::vector <cvd::SharedFD> LaunchKernelLogMonitor(
13 const vsoc::CuttlefishConfig& config,
14 cvd::ProcessMonitor* process_monitor,
15 unsigned int number_of_event_pipes);
Jorge E. Moreirafd10cae2019-02-19 15:35:42 -080016void LaunchLogcatReceiverIfEnabled(const vsoc::CuttlefishConfig& config,
17 cvd::ProcessMonitor* process_monitor);
Cody Schuffelen660d9e82019-01-29 16:33:33 -080018void LaunchUsbServerIfEnabled(const vsoc::CuttlefishConfig& config,
19 cvd::ProcessMonitor* process_monitor);
Cody Schuffelen660d9e82019-01-29 16:33:33 -080020void LaunchAdbConnectorIfEnabled(cvd::ProcessMonitor* process_monitor,
Jorge E. Moreira9ec15852019-05-02 17:52:58 -070021 const vsoc::CuttlefishConfig& config,
22 cvd::SharedFD adbd_events_pipe);
Cody Schuffelen660d9e82019-01-29 16:33:33 -080023void LaunchSocketVsockProxyIfEnabled(cvd::ProcessMonitor* process_monitor,
24 const vsoc::CuttlefishConfig& config);
Cody Schuffelenb13869b2019-11-26 18:46:34 -080025
26struct VncServerPorts {
27 std::optional<int> frames_server_vsock_port;
28 std::optional<int> touch_server_vsock_port;
29 std::optional<int> keyboard_server_vsock_port;
30};
31VncServerPorts LaunchVNCServerIfEnabled(
32 const vsoc::CuttlefishConfig& config,
33 cvd::ProcessMonitor* process_monitor,
34 std::function<bool(cvd::MonitorEntry*)> callback);
Cody Schuffelend3f27b92019-11-26 19:04:43 -080035
36struct TombstoneReceiverPorts {
37 std::optional<int> server_vsock_port;
38};
39TombstoneReceiverPorts LaunchTombstoneReceiverIfEnabled(
40 const vsoc::CuttlefishConfig& config, cvd::ProcessMonitor* process_monitor);
Cody Schuffelenc9183ba2019-12-05 15:23:46 -080041
42struct ConfigServerPorts {
43 std::optional<int> server_vsock_port;
44};
45ConfigServerPorts LaunchConfigServer(const vsoc::CuttlefishConfig& config,
46 cvd::ProcessMonitor* process_monitor);