Android-cuttlefish cvd tool
guest_config.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16#pragma once
17
18#include <optional>
19#include <string>
20#include <vector>
21
27#include "cuttlefish/host/commands/assemble_cvd/proto/guest_config.pb.h"
32
33namespace cuttlefish {
34
39 bool hctr2_supported = false;
41 bool gfxstream_supported = false;
44 bool vhost_user_vsock = false;
47 bool mouse_supported = false;
48 bool gamepad_supported = false;
49 std::string ti50_emulator;
50 std::optional<std::string> custom_keyboard_config;
51 std::optional<std::string> domkey_mapping_config;
53 std::optional<::cuttlefish::config::Audio> audio_settings;
54 std::optional<bool> enforce_mac80211_hwsim;
56 bool lights_server_enabled = true; // true for backwards compatibility
57 std::vector<GpuMode> gpu_mode_candidates;
61};
62
65
67 const BootImageFlag&, const KernelPathFlag& kernel_path,
68 const SystemImageDirFlag& system_image_dir);
69} // namespace cuttlefish
Definition: boot_image.h:30
Definition: kernel_path.h:26
Definition: struct.h:60
Definition: system_image_dir.h:26
Definition: alloc_driver.h:20
DeviceType
Definition: device_type.h:23
PrettyStruct Pretty(AndroidBuild &build, PrettyAdlPlaceholder)
Definition: android_build.cc:72
Result< std::vector< GuestConfig > > ReadGuestConfig(const BootImageFlag &boot_image, const KernelPathFlag &kernel_path, const SystemImageDirFlag &system_image_dirs)
Definition: guest_config.cc:340
Arch
Definition: host_info.h:23
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30
Definition: guest_config.h:35
int output_audio_streams_count
Definition: guest_config.h:52
bool mouse_supported
Definition: guest_config.h:47
bool has_vulkan_swiftshader_apex
Definition: guest_config.h:60
bool gfxstream_gl_program_binary_link_status_supported
Definition: guest_config.h:42
std::vector< GpuMode > gpu_mode_candidates
Definition: guest_config.h:57
bool has_vulkan_gfxstream_apex
Definition: guest_config.h:59
Arch target_arch
Definition: guest_config.h:36
bool has_vulkan_lavapipe_apex
Definition: guest_config.h:58
std::optional< std::string > custom_keyboard_config
Definition: guest_config.h:50
bool gamepad_supported
Definition: guest_config.h:48
bool bootconfig_supported
Definition: guest_config.h:38
std::string android_version_number
Definition: guest_config.h:40
std::optional< bool > enforce_mac80211_hwsim
Definition: guest_config.h:54
std::string ti50_emulator
Definition: guest_config.h:49
bool lights_server_enabled
Definition: guest_config.h:56
bool gfxstream_supported
Definition: guest_config.h:41
std::optional<::cuttlefish::config::Audio > audio_settings
Definition: guest_config.h:53
bool supports_bgra_framebuffers
Definition: guest_config.h:45
bool vhost_user_vsock
Definition: guest_config.h:44
std::optional< std::string > domkey_mapping_config
Definition: guest_config.h:51
int blank_data_image_mb
Definition: guest_config.h:55
bool guest_lavapipe_supported
Definition: guest_config.h:43
DeviceType device_type
Definition: guest_config.h:37
bool hctr2_supported
Definition: guest_config.h:39
bool prefer_drm_virgl_when_supported
Definition: guest_config.h:46
Definition: pretty.h:20