summaryrefslogtreecommitdiff
path: root/host/libs/config/cuttlefish_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'host/libs/config/cuttlefish_config.h')
-rw-r--r--host/libs/config/cuttlefish_config.h378
1 files changed, 0 insertions, 378 deletions
diff --git a/host/libs/config/cuttlefish_config.h b/host/libs/config/cuttlefish_config.h
deleted file mode 100644
index 31d8510e..00000000
--- a/host/libs/config/cuttlefish_config.h
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#pragma once
-
-#include <memory>
-#include <string>
-#include <set>
-
-namespace Json {
-class Value;
-}
-
-namespace vsoc {
-
-constexpr char kDefaultUuidPrefix[] = "699acfc4-c8c4-11e7-882b-5065f31dc1";
-constexpr char kCuttlefishConfigEnvVarName[] = "CUTTLEFISH_CONFIG_FILE";
-constexpr char kVsocUserPrefix[] = "vsoc-";
-
-enum class AdbMode {
- Tunnel,
- VsockTunnel,
- VsockHalfTunnel,
- NativeVsock,
- Usb,
- Unknown,
-};
-
-// Holds the configuration of the cuttlefish instances.
-class CuttlefishConfig {
- public:
- static CuttlefishConfig* Get();
-
- CuttlefishConfig();
- ~CuttlefishConfig();
-
- // Saves the configuration object in a file, it can then be read in other
- // processes by passing the --config_file option.
- bool SaveToFile(const std::string& file) const;
-
- // Returns the path to a file with the given name in the instance directory..
- std::string PerInstancePath(const char* file_name) const;
-
- std::string instance_name() const;
-
- void disable_usb_adb() {
- // This seems to be the way usb is being disbled in the launcher
- set_usb_v1_socket_name("");
- }
-
- std::string instance_dir() const;
- void set_instance_dir(const std::string& instance_dir);
-
- std::string vm_manager() const;
- void set_vm_manager(const std::string& name);
-
- std::string gpu_mode() const;
- void set_gpu_mode(const std::string& name);
-
- std::string wayland_socket() const;
- void set_wayland_socket(const std::string& path);
-
- std::string x_display() const;
- void set_x_display(const std::string& address);
-
- std::string hardware_name() const;
- void set_hardware_name(const std::string& name);
-
- std::string serial_number() const;
- void set_serial_number(const std::string& serial_number);
-
- int cpus() const;
- void set_cpus(int cpus);
-
- int memory_mb() const;
- void set_memory_mb(int memory_mb);
-
- int dpi() const;
- void set_dpi(int dpi);
-
- int x_res() const;
- void set_x_res(int x_res);
-
- int y_res() const;
- void set_y_res(int y_res);
-
- int num_screen_buffers() const;
- void set_num_screen_buffers(int num_screen_buffers);
-
- int refresh_rate_hz() const;
- void set_refresh_rate_hz(int refresh_rate_hz);
-
- // Returns kernel image extracted from the boot image or the user-provided one
- // if given by command line to the launcher. This function should not be used
- // to get the kernel image the vmm should boot, GetKernelImageToUse() should
- // be used instead.
- std::string kernel_image_path() const;
- void set_kernel_image_path(const std::string& kernel_image_path);
-
- bool decompress_kernel() const;
- void set_decompress_kernel(bool decompress_kernel);
-
- // Returns the path to the kernel image that should be given to the vm manager
- // to boot, takes into account whether the original image was decompressed or
- // not.
- std::string GetKernelImageToUse() const {
- return decompress_kernel() ? decompressed_kernel_image_path()
- : kernel_image_path();
- }
-
- std::string decompressed_kernel_image_path() const;
- void set_decompressed_kernel_image_path(const std::string& path);
-
- bool use_unpacked_kernel() const;
- void set_use_unpacked_kernel(bool use_unpacked_kernel);
-
- std::set<std::string> kernel_cmdline() const;
- void set_kernel_cmdline(const std::set<std::string>& kernel_cmdline);
- void add_kernel_cmdline(const std::string& arg);
- void add_kernel_cmdline(const std::set<std::string>& kernel_cmdline);
- std::string kernel_cmdline_as_string() const;
-
- std::string gdb_flag() const;
- void set_gdb_flag(const std::string& gdb);
-
- std::string ramdisk_image_path() const;
- void set_ramdisk_image_path(const std::string& ramdisk_image_path);
-
- std::vector<std::string> virtual_disk_paths() const;
- void set_virtual_disk_paths(const std::vector<std::string>& disk_paths);
-
- std::string dtb_path() const;
- void set_dtb_path(const std::string& dtb_path);
-
- std::string gsi_fstab_path() const;
- void set_gsi_fstab_path(const std::string& path);
-
- std::string mempath() const;
- void set_mempath(const std::string& mempath);
-
- std::string ivshmem_qemu_socket_path() const;
- void set_ivshmem_qemu_socket_path(
- const std::string& ivshmem_qemu_socket_path);
-
- std::string ivshmem_client_socket_path() const;
- void set_ivshmem_client_socket_path(
- const std::string& ivshmem_client_socket_path);
-
- int ivshmem_vector_count() const;
- void set_ivshmem_vector_count(int ivshmem_vector_count);
-
- // The name of the socket that will be used to forward access to USB gadget.
- // This is for V1 of the USB bus.
- std::string usb_v1_socket_name() const;
- void set_usb_v1_socket_name(const std::string& usb_v1_socket_name);
-
- int vhci_port() const;
- void set_vhci_port(int vhci_port);
-
- std::string usb_ip_socket_name() const;
- void set_usb_ip_socket_name(const std::string& usb_ip_socket_name);
-
- std::string kernel_log_pipe_name() const;
- void set_kernel_log_pipe_name(const std::string& kernel_log_pipe_name);
-
- std::string console_pipe_name() const;
- void set_console_pipe_name(const std::string& console_pipe_name);
-
- bool deprecated_boot_completed() const;
- void set_deprecated_boot_completed(bool deprecated_boot_completed);
-
- std::string console_path() const;
- void set_console_path(const std::string& console_path);
-
- std::string logcat_path() const;
- void set_logcat_path(const std::string& logcat_path);
-
- std::string config_server_binary() const;
- void set_config_server_binary(const std::string& binary);
-
- std::string launcher_log_path() const;
- void set_launcher_log_path(const std::string& launcher_log_path);
-
- std::string launcher_monitor_socket_path() const;
- void set_launcher_monitor_socket_path(
- const std::string& launhcer_monitor_path);
-
- std::string mobile_bridge_name() const;
- void set_mobile_bridge_name(const std::string& mobile_bridge_name);
-
- std::string mobile_tap_name() const;
- void set_mobile_tap_name(const std::string& mobile_tap_name);
-
- std::string wifi_tap_name() const;
- void set_wifi_tap_name(const std::string& wifi_tap_name);
-
- std::string wifi_guest_mac_addr() const;
- void set_wifi_guest_mac_addr(const std::string& wifi_guest_mac_addr);
-
- std::string wifi_host_mac_addr() const;
- void set_wifi_host_mac_addr(const std::string& wifi_host_mac_addr);
-
- std::string entropy_source() const;
- void set_entropy_source(const std::string& entropy_source);
-
- void set_vsock_guest_cid(int vsock_guest_cid);
- int vsock_guest_cid() const;
-
- std::string uuid() const;
- void set_uuid(const std::string& uuid);
-
- void set_cuttlefish_env_path(const std::string& path);
- std::string cuttlefish_env_path() const;
-
- void set_adb_mode(const std::set<std::string>& modes);
- std::set<AdbMode> adb_mode() const;
-
- void set_adb_ip_and_port(const std::string& ip_port);
- std::string adb_ip_and_port() const;
-
- std::string adb_device_name() const;
-
- void set_device_title(const std::string& title);
- std::string device_title() const;
-
- void set_setupwizard_mode(const std::string& title);
- std::string setupwizard_mode() const;
-
- void set_qemu_binary(const std::string& qemu_binary);
- std::string qemu_binary() const;
-
- void set_crosvm_binary(const std::string& crosvm_binary);
- std::string crosvm_binary() const;
-
- void set_console_forwarder_binary(const std::string& crosvm_binary);
- std::string console_forwarder_binary() const;
-
- void set_ivserver_binary(const std::string& ivserver_binary);
- std::string ivserver_binary() const;
-
- void set_kernel_log_monitor_binary(
- const std::string& kernel_log_monitor_binary);
- std::string kernel_log_monitor_binary() const;
-
- void set_enable_vnc_server(bool enable_vnc_server);
- bool enable_vnc_server() const;
-
- void set_vnc_server_port(int vnc_server_port);
- int vnc_server_port() const;
-
- void set_vnc_server_binary(const std::string& vnc_server_binary);
- std::string vnc_server_binary() const;
-
- void set_enable_stream_audio(bool enable_stream_audio);
- bool enable_stream_audio() const;
-
- void set_stream_audio_port(int stream_audio_port);
- int stream_audio_port() const;
-
- void set_stream_audio_binary(const std::string& stream_audio_binary);
- std::string stream_audio_binary() const;
-
- void set_restart_subprocesses(bool restart_subprocesses);
- bool restart_subprocesses() const;
-
- void set_run_adb_connector(bool run_adb_connector);
- bool run_adb_connector() const;
-
- void set_adb_connector_binary(const std::string& adb_connector_binary);
- std::string adb_connector_binary() const;
-
- void set_virtual_usb_manager_binary(const std::string& binary);
- std::string virtual_usb_manager_binary() const;
-
- void set_socket_forward_proxy_binary(const std::string& binary);
- std::string socket_forward_proxy_binary() const;
-
- void set_socket_vsock_proxy_binary(const std::string& binary);
- std::string socket_vsock_proxy_binary() const;
-
- void set_run_as_daemon(bool run_as_daemon);
- bool run_as_daemon() const;
-
- void set_run_e2e_test(bool run_e2e_test);
- bool run_e2e_test() const;
-
- void set_e2e_test_binary(const std::string& e2e_test_binary);
- std::string e2e_test_binary() const;
-
- void set_data_policy(const std::string& data_policy);
- std::string data_policy() const;
-
- void set_blank_data_image_mb(int blank_data_image_mb);
- int blank_data_image_mb() const;
-
- void set_blank_data_image_fmt(const std::string& blank_data_image_fmt);
- std::string blank_data_image_fmt() const;
-
- void set_logcat_serial_port(const std::string& port);
- std::string logcat_serial_port() const;
-
- void set_config_server_port(int port);
- int config_server_port() const;
-
- void set_frames_vsock_port(int port);
- int frames_vsock_port() const;
-
- void set_enable_tombstone_receiver(bool enable_tombstone_receiver);
- bool enable_tombstone_receiver() const;
-
- void set_tombstone_receiver_binary(const std::string& binary);
- std::string tombstone_receiver_binary() const;
-
- void set_tombstone_receiver_port(int port);
- int tombstone_receiver_port() const;
-
- bool enable_ivserver() const;
-
- std::string touch_socket_path() const;
- std::string keyboard_socket_path() const;
-
- private:
- std::unique_ptr<Json::Value> dictionary_;
-
- void SetPath(const std::string& key, const std::string& path);
- bool LoadFromFile(const char* file);
- static CuttlefishConfig* BuildConfigImpl();
-
- CuttlefishConfig(const CuttlefishConfig&) = delete;
- CuttlefishConfig& operator=(const CuttlefishConfig&) = delete;
-};
-
-// Returns the instance number as obtained from the CUTTLEFISH_INSTANCE
-// environment variable or the username.
-int GetInstance();
-// Returns a path where the launhcer puts a link to the config file which makes
-// it easily discoverable regardless of what vm manager is in use
-std::string GetGlobalConfigFileLink();
-
-// Returns the path to the ivserver's client socket.
-std::string GetDomain();
-
-// These functions modify a given base value to make it different accross
-// different instances by appending the instance id in case of strings or adding
-// it in case of integers.
-std::string GetPerInstanceDefault(const char* prefix);
-int GetPerInstanceDefault(int base);
-
-std::string GetDefaultPerInstanceDir();
-std::string GetDefaultMempath();
-int GetDefaultPerInstanceVsockCid();
-
-std::string DefaultHostArtifactsPath(const std::string& file);
-std::string DefaultGuestImagePath(const std::string& file);
-std::string DefaultEnvironmentPath(const char* environment_key,
- const char* default_value,
- const char* path);
-
-// Whether the host supports qemu
-bool HostSupportsQemuCli();
-bool HostSupportsVsock();
-
-// GPU modes
-extern const char* const kGpuModeGuestSwiftshader;
-extern const char* const kGpuModeDrmVirgl;
-} // namespace vsoc