Android-cuttlefish cvd tool
cuttlefish_config.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 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 <sys/types.h>
19
20#include <cstdint>
21#include <map>
22#include <memory>
23#include <optional>
24#include <set>
25#include <string>
26#include <string_view>
27#include <vector>
28
31#include "cuttlefish/host/commands/assemble_cvd/proto/guest_config.pb.h"
44
45namespace Json {
46class Value;
47}
48
49namespace cuttlefish {
50
51// Holds the configuration of the cuttlefish instances.
53 public:
54 static const CuttlefishConfig* Get();
55 static std::unique_ptr<const CuttlefishConfig> GetFromFile(
56 const std::string& path);
57 static bool ConfigExists();
58
63
64 // Saves the configuration object in a file, it can then be read in other
65 // processes by passing the --config_file option.
66 bool SaveToFile(const std::string& file) const;
67 bool LoadFromFile(const char* file);
68
69 bool SaveFragment(const ConfigFragment&);
70 bool LoadFragment(ConfigFragment&) const;
71
72 std::string root_dir() const;
73 void set_root_dir(const std::string& root_dir);
74
75 std::string instances_dir() const;
76 std::string InstancesPath(std::string_view) const;
77
78 std::string assembly_dir() const;
79 std::string AssemblyPath(std::string_view) const;
80
81 void set_instances_uds_dir(const std::string&);
82 std::string instances_uds_dir() const;
83 std::string InstancesUdsPath(std::string_view) const;
84
85 void set_environments_dir(const std::string&);
86 std::string environments_dir() const;
87 std::string EnvironmentsPath(std::string_view) const;
88
89 void set_environments_uds_dir(const std::string&);
90 std::string environments_uds_dir() const;
91 std::string EnvironmentsUdsPath(std::string_view) const;
92
93 VmmMode vm_manager() const;
94 void set_vm_manager(VmmMode vmm);
95
96 std::string ap_vm_manager() const;
97 void set_ap_vm_manager(const std::string& name);
98
100 int width;
102 int dpi;
104 std::string overlays;
105 };
106
108 int width;
110
111 static Json::Value Serialize(
113 static TouchpadConfig Deserialize(const Json::Value& config_json);
114 };
115
116 enum class MediaType {
117 kUnknown = 0,
118 kV4l2EmulatedCameraSPlane,
119 kV4l2EmulatedCameraMPlane,
120 kV4l2Proxy,
121 kV4l2StreamProxy,
122 };
123
124 struct MediaConfig {
126 std::string lens_facing;
127
129 std::string input_path;
132 std::string input_fps;
133 };
134 std::optional<V4l2StreamProxyConfig> v4l2_stream_proxy;
135 };
136
137 void set_secure_hals(const std::set<SecureHal>&);
139
140 void set_crosvm_binary(const std::string& crosvm_binary);
141 std::string crosvm_binary() const;
142
143 void set_gem5_debug_flags(const std::string& gem5_debug_flags);
144 std::string gem5_debug_flags() const;
145
147 bool enable_host_uwb() const;
148
150 bool enable_automotive_proxy() const;
151
153 bool enable_host_nfc() const;
154
156 bool enable_host_nfc_connector() const;
157
158 void set_casimir_args(const std::string& casimir_args);
159 std::vector<std::string> casimir_args() const;
161 int casimir_instance_num() const;
162 void set_casimir_nci_port(int port);
163 int casimir_nci_port() const;
164 void set_casimir_rf_port(int port);
165 int casimir_rf_port() const;
166
168 int netsim_instance_num() const;
169 // Netsim has a built-in connector to forward packets to another daemon based
170 // on instance number. This is set in the serial launch case when FLAGS
171 // rootcanal_instance_num is specified. The non-netsim case uses
172 // bluetooth_connector and rootcanal_hci_port for the same purpose. Purposely
173 // restricted to legacy bluetooth serial invocation because new cases should
174 // use cvd.
177 void set_netsim_args(const std::string& netsim_args);
178 std::vector<std::string> netsim_args() const;
179
180 void set_extra_kernel_cmdline(const std::string& extra_cmdline);
181 std::vector<std::string> extra_kernel_cmdline() const;
182
183 // The port for the webrtc signaling server proxy.
184 void set_sig_server_proxy_port(int port);
185 int sig_server_proxy_port() const;
186
187 // The address of the signaling server
188 void set_sig_server_address(const std::string& addr);
189 std::string sig_server_address() const;
190
191 // Whether display composition is enabled for one or more displays
192 bool OverlaysEnabled() const;
193
194 void set_host_tools_version(const std::map<std::string, uint32_t>&);
195 std::map<std::string, uint32_t> host_tools_version() const;
196
198 bool virtio_mac80211_hwsim() const;
199
200 void set_ap_rootfs_image(const std::string& ap_rootfs_image);
201 std::string ap_rootfs_image() const;
202
203 void set_ap_kernel_image(const std::string& ap_kernel_image);
204 std::string ap_kernel_image() const;
205
207 int pica_uci_port() const;
208
209 void set_rootcanal_args(const std::string& rootcanal_args);
210 std::vector<std::string> rootcanal_args() const;
211
213 int rootcanal_hci_port() const;
214
216 int rootcanal_link_port() const;
217
219 int rootcanal_link_ble_port() const;
220
222 int rootcanal_test_port() const;
223
224 // path to the saved snapshot file(s)
225 std::string snapshot_path() const;
226 void set_snapshot_path(const std::string& snapshot_path);
227
228 std::set<std::string> straced_host_executables() const;
229 void set_straced_host_executables(const std::set<std::string>& executables);
230
231 std::string kvm_path() const;
232 void set_kvm_path(const std::string&);
233
234 std::string vhost_vsock_path() const;
235 void set_vhost_vsock_path(const std::string&);
236
237 class InstanceSpecific;
239
240 MutableInstanceSpecific ForInstance(int instance_num);
241 InstanceSpecific ForInstance(int instance_num) const;
242 InstanceSpecific ForInstanceName(const std::string& name) const;
244
245 std::vector<InstanceSpecific> Instances() const;
246 std::vector<std::string> instance_dirs() const;
247
248 void set_instance_names(const std::vector<std::string>& instance_names);
249 std::vector<std::string> instance_names() const;
250
251 // A view into an existing CuttlefishConfig object for a particular instance.
254 std::string id_;
256 friend std::vector<InstanceSpecific> CuttlefishConfig::Instances() const;
257
258 InstanceSpecific(const CuttlefishConfig* config, const std::string& id)
259 : config_(config), id_(id) {}
260
261 Json::Value* Dictionary();
262 const Json::Value* Dictionary() const;
263
264 public:
265 std::string serial_number() const;
266
267 // Index of this instance within current configured group of VMs
268 int index() const;
269
270 // If any of the following port numbers is 0, the relevant service is not
271 // running on the guest.
272
273 // Port number for qemu to run a vnc server on the host
274 int qemu_vnc_server_port() const;
275 // Port number to connect to the tombstone receiver on the host
276 int tombstone_receiver_port() const;
277 // Port number to connect to the audiocontrol server on the guest
278 int audiocontrol_server_port() const;
279 // Port number to connect to the adb server on the host
280 int adb_host_port() const;
281 // Port number to connect to the fastboot server on the host
282 int fastboot_host_port() const;
283 // Device-specific ID to distinguish modem simulators. Must be 4 digits.
284 int modem_simulator_host_id() const;
285 // Port number to connect to the gnss grpc proxy server on the host
286 int gnss_grpc_proxy_server_port() const;
287 std::string adb_ip_and_port() const;
288 // Port number to connect to the camera hal on the guest
289 int camera_server_port() const;
290 // Port number to connect to the lights hal on the guest
291 int lights_server_port() const;
292
293 std::string adb_device_name() const;
294 std::string gnss_file_path() const;
295 std::string fixed_location_file_path() const;
296 std::string mobile_bridge_name() const;
297 std::string mobile_tap_name() const;
298 std::string mobile_mac() const;
299 bool has_wifi_card() const;
300 std::string wifi_bridge_name() const;
301 std::string wifi_tap_name() const;
302 std::string wifi_mac() const;
303 bool use_bridged_wifi_tap() const;
304 std::string ethernet_tap_name() const;
305 std::string ethernet_bridge_name() const;
306 std::string ethernet_mac() const;
307 std::string ethernet_ipv6() const;
308 bool has_bluetooth() const;
309 // Bluetooth is enabled by bt_connector and rootcanal
311 bool enable_host_uwb_connector() const;
312
313 uint32_t session_id() const;
314 bool use_cvdalloc() const;
315 int vsock_guest_cid() const;
316 std::string vsock_guest_group() const;
317 std::string uuid() const;
318 std::string instance_name() const;
319 std::string environment_name() const;
320 std::vector<std::string> virtual_disk_paths() const;
321
322 // Returns the path to a file with the given name in the instance
323 // directory..
324 std::string PerInstancePath(std::string_view file_name) const;
325 std::string PerInstanceInternalPath(std::string_view file_name) const;
326 std::string PerInstanceLogPath(std::string_view file_name) const;
327
328 std::string CrosvmSocketPath() const;
329 std::string OpenwrtCrosvmSocketPath() const;
330 std::string instance_dir() const;
331
332 std::string instance_internal_dir() const;
333
334 // Return the Unix domain socket path with given name. Because the
335 // length limitation of Unix domain socket name, it needs to be in
336 // the another directory than normal Instance path.
337 std::string PerInstanceUdsPath(std::string_view file_name) const;
338 std::string PerInstanceInternalUdsPath(std::string_view file_name) const;
339 std::string PerInstanceGrpcSocketPath(std::string_view socket_name) const;
340
341 std::string instance_uds_dir() const;
342
343 std::string instance_internal_uds_dir() const;
344
345 std::string touch_socket_path(int touch_dev_idx) const;
346
347 std::string touch_events_server_path(int touch_dev_idx) const;
348
349 std::string touch_capture_server_path(int touch_dev_idx) const;
350
351 std::string media_socket_path(int index) const;
352
353 std::string launcher_log_path() const;
354
355 std::string sdcard_path() const;
356 std::string sdcard_overlay_path() const;
357
358 std::string persistent_composite_disk_path() const;
359 std::string persistent_ap_composite_disk_path() const;
360 std::string persistent_ap_composite_overlay_path() const;
361
362 std::string os_composite_disk_path() const;
363
364 std::string ap_composite_disk_path() const;
365
366 std::string ap_uboot_env_image_path() const;
367
368 std::string ap_esp_image_path() const;
369
370 std::string esp_image_path() const;
371
372 std::string audio_server_path() const;
373
374 BootFlow boot_flow() const;
375
376 // modem simulator related
377 std::string modem_simulator_ports() const;
378
379 // The device id the webrtc process should use to register with the
380 // signaling server
381 std::string webrtc_device_id() const;
382
383 // Whether this instance should start a rootcanal instance
384 bool start_rootcanal() const;
385
386 // Whether this instance should start a casimir instance
387 bool start_casimir() const;
388
389 // Whether this instance should start a pica instance
390 bool start_pica() const;
391
392 // Whether this instance should start a netsim instance
393 bool start_netsim() const;
394
395 // TODO(b/288987294) Remove this when separating environment is done
396 // Whether this instance should start a wmediumd instance
397 bool start_wmediumd_instance() const;
398
399 const Json::Value& mcu() const;
400
401 APBootFlow ap_boot_flow() const;
402
403 bool crosvm_use_balloon() const;
404 bool crosvm_use_rng() const;
405 bool crosvm_simple_media_device() const;
406 std::string crosvm_v4l2_proxy() const;
407 bool use_pmem() const;
408 bool enable_pkvm() const;
409 std::string crosvm_acpi_table() const;
410 std::string crosvm_device_tree_overlay() const;
411 std::string crosvm_file_backed_mapping() const;
412
413 // Wifi MAC address inside the guest
414 int wifi_mac_prefix() const;
415
416 std::string id() const;
417
418 std::string gem5_binary_dir() const;
419
420 std::string gem5_checkpoint_dir() const;
421
422 // Serial console
423 bool console() const;
424 std::string console_dev() const;
425 bool enable_sandbox() const;
426 bool enable_virtiofs() const;
427
428 // KGDB configuration for kernel debugging
429 bool kgdb() const;
430
431 // TODO (b/163575714) add virtio console support to the bootloader so the
432 // virtio console path for the console device can be taken again. When that
433 // happens, this function can be deleted along with all the code paths it
434 // forces.
435 bool use_bootloader() const;
436
437 DeviceType device_type() const;
438
439 Arch target_arch() const;
440
441 int cpus() const;
442
443 std::string vcpu_config_path() const;
444
446
447 int blank_data_image_mb() const;
448
449 int gdb_port() const;
450
451 std::vector<DisplayConfig> display_configs() const;
452 std::vector<TouchpadConfig> touchpad_configs() const;
453
454 std::string grpc_socket_path() const;
455 int memory_mb() const;
456 int ddr_mem_mb() const;
457 std::string setupwizard_mode() const;
458 std::string userdata_format() const;
459 bool guest_enforce_security() const;
460 bool use_sdcard() const;
461 bool pause_in_bootloader() const;
462 bool run_as_daemon() const;
463 bool enable_audio() const;
464 bool enable_mouse() const;
465 bool enable_gamepad() const;
466 std::optional<std::string> custom_keyboard_config() const;
467 const Json::Value& domkey_mapping_config() const;
468 bool enable_gnss_grpc_proxy() const;
469 bool enable_bootanimation() const;
470 bool enable_usb() const;
471 std::vector<std::string> extra_bootconfig_args() const;
472 bool record_screen() const;
473 std::string gem5_debug_file() const;
474 bool mte() const;
475 std::string boot_slot() const;
476 bool fail_fast() const;
477 bool vhost_user_block() const;
478 std::string ti50_emulator() const;
479 bool enable_jcard_simulator() const;
480
481 // Kernel and bootloader logging
482 bool enable_kernel_log() const;
483 bool vhost_net() const;
484 bool vhost_user_vsock() const;
485 int openthread_node_id() const;
486
487 // Mobile network info (RIL)
488 std::string ril_dns() const;
489 std::string ril_ipaddr() const;
490 std::string ril_gateway() const;
491 std::string ril_broadcast() const;
492 uint8_t ril_prefixlen() const;
493
494 std::string webrtc_assets_dir() const;
495
496 // The range of TCP ports available for webrtc sessions.
497 std::pair<uint16_t, uint16_t> webrtc_tcp_port_range() const;
498
499 // The range of UDP ports available for webrtc sessions.
500 std::pair<uint16_t, uint16_t> webrtc_udp_port_range() const;
501
502 bool smt() const;
503 std::string crosvm_binary() const;
504 std::string seccomp_policy_dir() const;
505 std::string qemu_binary_dir() const;
506
507 // Configuration flags for a minimal device
508 bool enable_minimal_mode() const;
509 bool enable_modem_simulator() const;
510 bool enable_modem_netsim() const;
512 int modem_simulator_sim_type() const;
513
514 GpuMode gpu_mode() const;
515 std::vector<GpuMode> gpu_mode_candidates() const;
516 std::string gpu_angle_feature_overrides_enabled() const;
517 std::string gpu_angle_feature_overrides_disabled() const;
518 std::string gpu_capture_binary() const;
519 std::string gpu_gfxstream_transport() const;
520 std::string gpu_renderer_features() const;
521 std::string gpu_context_types() const;
524 std::string guest_vulkan_driver() const;
525 bool guest_uses_bgra_framebuffers() const;
526 std::string frames_socket_path() const;
527
528 std::string gpu_vhost_user_mode() const;
529
530 bool enable_gpu_udmabuf() const;
531 bool enable_gpu_vhost_user() const;
532 bool enable_gpu_external_blob() const;
533 bool enable_gpu_system_blob() const;
534
535 bool has_vulkan_gfxstream_apex() const;
536 bool has_vulkan_lavapipe_apex() const;
537 bool has_vulkan_swiftshader_apex() const;
538
539 std::string hwcomposer() const;
540
541 bool restart_subprocesses() const;
542
543 // android artifacts
544 std::string images_dir() const;
545 std::string init_boot_image() const;
546 std::string data_image() const;
547 std::string new_data_image() const;
548 std::string super_image() const;
549 std::string new_super_image() const;
550 std::string vendor_boot_image() const;
551 std::string new_vendor_boot_image() const;
552 std::string vbmeta_image() const;
553 std::string new_vbmeta_image() const;
554 std::string vbmeta_system_image() const;
555 std::string vbmeta_vendor_dlkm_image() const;
556 std::string new_vbmeta_vendor_dlkm_image() const;
557 std::string vbmeta_system_dlkm_image() const;
558 std::string new_vbmeta_system_dlkm_image() const;
559 std::string vvmtruststore_path() const;
560 std::string default_target_zip() const;
561 std::string system_target_zip() const;
562
563 // otheros artifacts
564 std::string otheros_esp_image() const;
565
566 // android efi loader flow
567 std::string android_efi_loader() const;
568
569 // chromeos artifacts for otheros flow
570 std::string chromeos_disk() const;
571 std::string chromeos_kernel_path() const;
572 std::string chromeos_root_image() const;
573
574 // linux artifacts for otheros flow
575 std::string linux_kernel_path() const;
576 std::string linux_initramfs_path() const;
577 std::string linux_root_image() const;
578
579 std::string fuchsia_zedboot_path() const;
580 std::string fuchsia_multiboot_bin_path() const;
581 std::string fuchsia_root_image() const;
582
583 std::string custom_partition_path() const;
584
585 int blank_sdcard_image_mb() const;
586 std::string bootloader() const;
587 std::string initramfs_path() const;
588 std::string kernel_path() const;
589 std::string guest_android_version() const;
590 bool bootconfig_supported() const;
591 std::string filename_encryption_mode() const;
593
594 bool enable_vhal_proxy_server() const;
595 int vhal_proxy_server_port() const;
596
597 int audio_output_streams_count() const;
598 std::optional<::cuttlefish::config::Audio> audio_settings() const;
599
600 bool enable_tap_devices() const;
601
602 std::vector<MediaConfig> media_configs() const;
603 };
604
605 // A view into an existing CuttlefishConfig object for a particular instance.
608 std::string id_;
610
611 MutableInstanceSpecific(CuttlefishConfig* config, const std::string& id);
612
613 Json::Value* Dictionary();
614
615 public:
616 void set_serial_number(const std::string& serial_number);
617 void set_qemu_vnc_server_port(int qemu_vnc_server_port);
618 void set_tombstone_receiver_port(int tombstone_receiver_port);
619 void set_audiocontrol_server_port(int audiocontrol_server_port);
620 void set_lights_server_port(int lights_server_port);
621 void set_adb_host_port(int adb_host_port);
622 void set_modem_simulator_host_id(int modem_simulator_id);
623 void set_adb_ip_and_port(const std::string& ip_port);
624 void set_fastboot_host_port(int fastboot_host_port);
625 void set_camera_server_port(int camera_server_port);
626 void set_mobile_bridge_name(const std::string& mobile_bridge_name);
627 void set_mobile_tap_name(const std::string& mobile_tap_name);
628 void set_mobile_mac(const std::string& mac);
629 void set_has_wifi_card(bool has_wifi_card);
630 void set_wifi_bridge_name(const std::string& wifi_bridge_name);
631 void set_wifi_tap_name(const std::string& wifi_tap_name);
632 void set_wifi_mac(const std::string& mac);
633 void set_use_bridged_wifi_tap(bool use_bridged_wifi_tap);
634 void set_ethernet_tap_name(const std::string& ethernet_tap_name);
635 void set_ethernet_bridge_name(const std::string& set_ethernet_bridge_name);
636 void set_ethernet_mac(const std::string& mac);
637 void set_ethernet_ipv6(const std::string& ip);
638 void set_has_bluetooth(bool has_bluetooth);
639 void set_enable_host_bluetooth_connector(bool enable_host_bluetooth);
641 void set_session_id(uint32_t session_id);
642 void set_use_cvdalloc(bool use_cvdalloc);
643 void set_vsock_guest_cid(int vsock_guest_cid);
644 void set_vsock_guest_group(const std::string& vsock_guest_group);
645 void set_uuid(const std::string& uuid);
646 void set_environment_name(const std::string& env_name);
647 // modem simulator related
648 void set_modem_simulator_ports(const std::string& modem_simulator_ports);
649 void set_virtual_disk_paths(const std::vector<std::string>& disk_paths);
650 void set_webrtc_device_id(const std::string& id);
651 void set_start_rootcanal(bool start);
652 void set_start_casimir(bool start);
653 void set_start_pica(bool start);
654 void set_start_netsim(bool start);
655 // TODO(b/288987294) Remove this when separating environment is done
656 void set_start_wmediumd_instance(bool start);
657 void set_mcu(const Json::Value& cfg);
658 void set_ap_boot_flow(APBootFlow flow);
659 void set_crosvm_use_balloon(bool use_balloon);
660 void set_crosvm_use_rng(bool use_rng);
661 void set_crosvm_simple_media_device(bool simple_media_device);
662 void set_crosvm_v4l2_proxy(std::string v4l2_proxy);
663 void set_use_pmem(bool use_pmem);
664 void set_enable_pkvm(bool enable_pkvm);
665 void set_crosvm_acpi_table(const std::string& acpi_table);
666 void set_crosvm_device_tree_overlay(const std::string& device_tree_overlay);
667 void set_crosvm_file_backed_mapping(const std::string& file_backed_mapping);
668 // Wifi MAC address inside the guest
669 void set_wifi_mac_prefix(int wifi_mac_prefix);
670 // Gnss grpc proxy server port inside the host
671 void set_gnss_grpc_proxy_server_port(int gnss_grpc_proxy_server_port);
672 // Gnss grpc proxy local file path
673 void set_gnss_file_path(const std::string& gnss_file_path);
675 const std::string& fixed_location_file_path);
676 void set_gem5_binary_dir(const std::string& gem5_binary_dir);
677 void set_gem5_checkpoint_dir(const std::string& gem5_checkpoint_dir);
678 // Serial console
679 void set_console(bool console);
680 void set_enable_sandbox(bool enable_sandbox);
681 void set_enable_virtiofs(bool enable_virtiofs);
682 void set_kgdb(bool kgdb);
684 void set_target_arch(Arch target_arch);
685 void set_cpus(int cpus);
686 void set_vcpu_config_path(const std::string& vcpu_config_path);
687 void set_data_policy(DataImagePolicy data_policy);
688 void set_blank_data_image_mb(int blank_data_image_mb);
689 void set_gdb_port(int gdb_port);
690 void set_display_configs(const std::vector<DisplayConfig>& display_configs);
692 const std::vector<TouchpadConfig>& touchpad_configs);
693 void set_memory_mb(int memory_mb);
694 void set_ddr_mem_mb(int ddr_mem_mb);
695 Result<void> set_setupwizard_mode(const std::string& mode);
696 void set_userdata_format(const std::string& userdata_format);
697 void set_guest_enforce_security(bool guest_enforce_security);
698 void set_use_sdcard(bool use_sdcard);
699 void set_pause_in_bootloader(bool pause_in_bootloader);
700 void set_run_as_daemon(bool run_as_daemon);
701 void set_enable_audio(bool enable);
702 void set_enable_mouse(bool enable);
703 void set_enable_gamepad(bool enable);
705 const std::string& custom_keyboard_config_json_path);
707 const std::string& domkey_mapping_config_json_path);
708 void set_enable_usb(bool enable);
709 void set_enable_gnss_grpc_proxy(bool enable_gnss_grpc_proxy);
710 void set_enable_bootanimation(bool enable_bootanimation);
711 void set_extra_bootconfig_args(const std::string& extra_bootconfig_args);
712 void set_record_screen(bool record_screen);
713 void set_gem5_debug_file(const std::string& gem5_debug_file);
714 void set_mte(bool mte);
715 void set_boot_slot(const std::string& boot_slot);
716 void set_grpc_socket_path(const std::string& socket_path);
717 void set_fail_fast(bool fail_fast);
718 void set_vhost_user_block(bool qemu_vhost_user_block);
719 void set_ti50_emulator(const std::string& ti50_emulator);
720 // jcardsimulator
721 void set_enable_jcard_simulator(bool enable);
722
723 // Kernel and bootloader logging
724 void set_enable_kernel_log(bool enable_kernel_log);
725
726 void set_webrtc_assets_dir(const std::string& webrtc_assets_dir);
727
728 // The range of TCP ports available for webrtc sessions.
729 void set_webrtc_tcp_port_range(std::pair<uint16_t, uint16_t> range);
730
731 // The range of UDP ports available for webrtc sessions.
732 void set_webrtc_udp_port_range(std::pair<uint16_t, uint16_t> range);
733
734 void set_smt(bool smt);
735 void set_crosvm_binary(const std::string& crosvm_binary);
736 void set_seccomp_policy_dir(const std::string& seccomp_policy_dir);
737 void set_qemu_binary_dir(const std::string& qemu_binary_dir);
738
739 void set_vhost_net(bool vhost_net);
740 void set_vhost_user_vsock(bool vhost_user_vsock);
741
742 void set_openthread_node_id(int node_id);
743
744 // Mobile network (RIL)
745 void set_ril_dns(const std::string& ril_dns);
746 void set_ril_ipaddr(const std::string& ril_ipaddr);
747 void set_ril_gateway(const std::string& ril_gateway);
748 void set_ril_broadcast(const std::string& ril_broadcast);
749 void set_ril_prefixlen(uint8_t ril_prefixlen);
750
751 // Configuration flags for a minimal device
752 void set_enable_minimal_mode(bool enable_minimal_mode);
753 void set_enable_modem_simulator(bool enable_modem_simulator);
754 void set_enable_modem_netsim(bool enable);
755 void set_modem_simulator_instance_number(int instance_numbers);
756 void set_modem_simulator_sim_type(int sim_type);
757
758 void set_gpu_mode(GpuMode mode);
759 void set_gpu_mode_candidates(const std::vector<GpuMode>& candidates);
760 void set_gpu_angle_feature_overrides_enabled(const std::string& overrides);
761 void set_gpu_angle_feature_overrides_disabled(const std::string& overrides);
762 void set_gpu_capture_binary(const std::string&);
763 void set_gpu_gfxstream_transport(const std::string& transport);
764 void set_gpu_renderer_features(const std::string& features);
765 void set_gpu_context_types(const std::string& context_types);
768 void set_guest_vulkan_driver(const std::string& driver);
769 void set_guest_uses_bgra_framebuffers(bool uses_bgra);
770 void set_frames_socket_path(const std::string& frame_socket_path);
771
772 void set_enable_gpu_udmabuf(bool enable_gpu_udmabuf);
773 void set_enable_gpu_vhost_user(bool enable_gpu_vhost_user);
774 void set_enable_gpu_external_blob(bool enable_gpu_external_blob);
775 void set_enable_gpu_system_blob(bool enable_gpu_system_blob);
776
777 void set_has_vulkan_gfxstream_apex(bool has_apex);
778 void set_has_vulkan_lavapipe_apex(bool has_apex);
779 void set_has_vulkan_swiftshader_apex(bool has_apex);
780
781 void set_hwcomposer(const std::string&);
782
783 void set_restart_subprocesses(bool restart_subprocesses);
784
785 // system image files
786 void set_images_dir(const std::string& dir);
787 void set_init_boot_image(const std::string& init_boot_image);
788 void set_data_image(const std::string& data_image);
789 void set_new_data_image(const std::string& new_data_image);
790 void set_super_image(const std::string& super_image);
791 void set_new_super_image(const std::string& super_image);
792 void set_vendor_boot_image(const std::string& vendor_boot_image);
793 void set_new_vendor_boot_image(const std::string& new_vendor_boot_image);
794 void set_vbmeta_image(const std::string& vbmeta_image);
795 void set_new_vbmeta_image(const std::string& new_vbmeta_image);
796 void set_vbmeta_system_image(const std::string& vbmeta_system_image);
798 const std::string& vbmeta_vendor_dlkm_image);
800 const std::string& vbmeta_vendor_dlkm_image);
802 const std::string& vbmeta_system_dlkm_image);
804 const std::string& vbmeta_system_dlkm_image);
805 void set_vvmtruststore_path(const std::string& vvmtruststore_path);
806 void set_default_target_zip(const std::string& default_target_zip);
807 void set_system_target_zip(const std::string& system_target_zip);
808 void set_otheros_esp_image(const std::string& otheros_esp_image);
809 void set_android_efi_loader(const std::string& android_efi_loader);
810 void set_chromeos_disk(const std::string& chromeos_disk);
811 void set_chromeos_kernel_path(const std::string& chromeos_kernel_path);
812 void set_chromeos_root_image(const std::string& chromeos_root_image);
813 void set_linux_kernel_path(const std::string& linux_kernel_path);
814 void set_linux_initramfs_path(const std::string& linux_initramfs_path);
815 void set_linux_root_image(const std::string& linux_root_image);
816 void set_fuchsia_zedboot_path(const std::string& fuchsia_zedboot_path);
818 const std::string& fuchsia_multiboot_bin_path);
819 void set_fuchsia_root_image(const std::string& fuchsia_root_image);
820 void set_custom_partition_path(const std::string& custom_partition_path);
821 void set_blank_sdcard_image_mb(int blank_sdcard_image_mb);
822 void set_bootloader(const std::string& bootloader);
823 void set_initramfs_path(const std::string& initramfs_path);
824 void set_kernel_path(const std::string& kernel_path);
825 void set_guest_android_version(const std::string& guest_android_version);
826 void set_bootconfig_supported(bool bootconfig_supported);
828 const std::string& filename_encryption_mode);
830
831 void set_enable_vhal_proxy_server(bool enable_vhal_proxy_server);
832 void set_vhal_proxy_server_port(int port);
833
834 void set_audio_output_streams_count(int count);
835 void set_audio_settings(const ::cuttlefish::config::Audio& audio_settings);
836
837 void set_enable_tap_devices(bool);
838
839 void set_media_configs(const std::vector<MediaConfig>& configs);
840
841 private:
842 void SetPath(const std::string& key, const std::string& path);
843 };
844
847
848 MutableEnvironmentSpecific ForEnvironment(const std::string& envName);
849 EnvironmentSpecific ForEnvironment(const std::string& envName) const;
850
853
854 std::vector<std::string> environment_dirs() const;
855
858 const std::string&) const;
860
862 std::string envName_;
863
865 const std::string& envName)
866 : config_(config), envName_(envName) {}
867
868 Json::Value* Dictionary();
869 const Json::Value* Dictionary() const;
870
871 public:
872 std::string environment_name() const;
873
874 std::string environment_uds_dir() const;
875 std::string PerEnvironmentUdsPath(const std::string& file_name) const;
876
877 std::string environment_dir() const;
878 std::string PerEnvironmentPath(const std::string& file_name) const;
879
880 std::string PerEnvironmentLogPath(const std::string& file_name) const;
881
883 const std::string& file_name) const;
884
885 std::string control_socket_path() const;
886 std::string launcher_log_path() const;
887
888 std::string casimir_nci_socket_path() const;
889 std::string casimir_rf_socket_path() const;
890
891 // wmediumd related configs
892 bool enable_wifi() const;
893 bool start_wmediumd() const;
894 std::string vhost_user_mac80211_hwsim() const;
895 std::string wmediumd_api_server_socket() const;
896 std::string wmediumd_config() const;
897 int wmediumd_mac_prefix() const;
898 int group_uuid() const;
899 };
900
903 const std::string&);
905
907 std::string envName_;
908
910 const std::string& envName)
911 : config_(config), envName_(envName) {}
912
913 Json::Value* Dictionary();
914
915 public:
916 // wmediumd related configs
917 void set_enable_wifi(bool enable_wifi);
918 void set_start_wmediumd(bool start);
919 void set_vhost_user_mac80211_hwsim(const std::string& path);
920 void set_wmediumd_api_server_socket(const std::string& path);
921 void set_wmediumd_config(const std::string& config_path);
922 void set_wmediumd_mac_prefix(int mac_prefix);
923
924 void set_group_uuid(int group_uuid);
925 };
926
927 private:
928 std::unique_ptr<Json::Value> dictionary_;
929
930 static CuttlefishConfig* BuildConfigImpl(const std::string& path);
931
934};
935
936// Whether the instance is restored from a snapshot. Stays true until the device
937// reboots.
938// When the device is booting, the config init function checks if
939// "FLAGS_snapshot_path" is not empty, and if it isn't empty, a file called
940// "restore" will be created to keep track of the restore.
941// This is necessary because we don't want to
942// modify the config when the device boots, however we also want to only restore
943// once. Tracking via "restore" is necessary as a bug existed when checking if
944// "snapshot_path" existed during boot, where a restart or a powerwash of the
945// device would actually perform a restore instead of their respective actions.
946bool IsRestoring(const CuttlefishConfig&);
947
951
952bool EnableNetsimNfc(const CuttlefishConfig& config);
953
954} // namespace cuttlefish
Definition: config_fragment.h:24
Definition: cuttlefish_config.h:856
EnvironmentSpecific(const CuttlefishConfig *config, const std::string &envName)
Definition: cuttlefish_config.h:864
std::string environment_dir() const
Definition: cuttlefish_config_environment.cpp:53
std::string environment_uds_dir() const
Definition: cuttlefish_config_environment.cpp:44
bool enable_wifi() const
Definition: cuttlefish_config_environment.cpp:105
std::string envName_
Definition: cuttlefish_config.h:862
int wmediumd_mac_prefix() const
Definition: cuttlefish_config_environment.cpp:152
const CuttlefishConfig * config_
Definition: cuttlefish_config.h:861
std::string wmediumd_config() const
Definition: cuttlefish_config_environment.cpp:143
std::string PerEnvironmentGrpcSocketPath(const std::string &file_name) const
Definition: cuttlefish_config_environment.cpp:72
std::string wmediumd_api_server_socket() const
Definition: cuttlefish_config_environment.cpp:133
std::string control_socket_path() const
Definition: cuttlefish_config_environment.cpp:82
std::string casimir_nci_socket_path() const
Definition: cuttlefish_config_environment.cpp:90
std::string PerEnvironmentLogPath(const std::string &file_name) const
Definition: cuttlefish_config_environment.cpp:62
bool start_wmediumd() const
Definition: cuttlefish_config_environment.cpp:114
std::string vhost_user_mac80211_hwsim() const
Definition: cuttlefish_config_environment.cpp:123
std::string PerEnvironmentPath(const std::string &file_name) const
Definition: cuttlefish_config_environment.cpp:57
Json::Value * Dictionary()
Definition: cuttlefish_config_environment.cpp:28
std::string casimir_rf_socket_path() const
Definition: cuttlefish_config_environment.cpp:95
std::string PerEnvironmentUdsPath(const std::string &file_name) const
Definition: cuttlefish_config_environment.cpp:48
std::string launcher_log_path() const
Definition: cuttlefish_config_environment.cpp:86
std::string environment_name() const
Definition: cuttlefish_config_environment.cpp:40
int group_uuid() const
Definition: cuttlefish_config_environment.cpp:161
Definition: cuttlefish_config.h:252
bool crosvm_simple_media_device() const
Definition: cuttlefish_config_instance.cpp:1882
std::vector< TouchpadConfig > touchpad_configs() const
Definition: cuttlefish_config_instance.cpp:1316
std::string chromeos_disk() const
Definition: cuttlefish_config_instance.cpp:251
std::string PerInstancePath(std::string_view file_name) const
Definition: cuttlefish_config_instance.cpp:2098
std::string instance_dir() const
Definition: cuttlefish_config_instance.cpp:82
uint8_t ril_prefixlen() const
Definition: cuttlefish_config_instance.cpp:1253
bool start_rootcanal() const
Definition: cuttlefish_config_instance.cpp:1803
std::string seccomp_policy_dir() const
Definition: cuttlefish_config_instance.cpp:1173
bool enable_mouse() const
Definition: cuttlefish_config_instance.cpp:917
std::string serial_number() const
Definition: cuttlefish_config_instance.cpp:391
int index() const
Definition: cuttlefish_config_instance.cpp:399
int adb_host_port() const
Definition: cuttlefish_config_instance.cpp:1702
bool restart_subprocesses() const
Definition: cuttlefish_config_instance.cpp:824
bool crosvm_use_rng() const
Definition: cuttlefish_config_instance.cpp:1873
int wifi_mac_prefix() const
Definition: cuttlefish_config_instance.cpp:1985
std::string persistent_ap_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1434
bool enable_vhal_proxy_server() const
Definition: cuttlefish_config_instance.cpp:1998
int audio_output_streams_count() const
Definition: cuttlefish_config_instance.cpp:2016
std::string new_vbmeta_system_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:226
std::string ril_broadcast() const
Definition: cuttlefish_config_instance.cpp:1244
std::string sdcard_overlay_path() const
Definition: cuttlefish_config_instance.cpp:1424
std::string guest_android_version() const
Definition: cuttlefish_config_instance.cpp:430
bool start_wmediumd_instance() const
Definition: cuttlefish_config_instance.cpp:1837
bool record_screen() const
Definition: cuttlefish_config_instance.cpp:1014
int openthread_node_id() const
Definition: cuttlefish_config_instance.cpp:1199
std::string initramfs_path() const
Definition: cuttlefish_config_instance.cpp:348
std::string webrtc_assets_dir() const
Definition: cuttlefish_config_instance.cpp:1094
std::string custom_partition_path() const
Definition: cuttlefish_config_instance.cpp:328
std::string kernel_path() const
Definition: cuttlefish_config_instance.cpp:356
std::string touch_capture_server_path(int touch_dev_idx) const
Definition: cuttlefish_config_instance.cpp:1963
std::string vsock_guest_group() const
Definition: cuttlefish_config_instance.cpp:1666
std::string gnss_file_path() const
Definition: cuttlefish_config_instance.cpp:481
std::string vbmeta_image() const
Definition: cuttlefish_config_instance.cpp:173
int vsock_guest_cid() const
Definition: cuttlefish_config_instance.cpp:1657
std::string OpenwrtCrosvmSocketPath() const
Definition: cuttlefish_config_instance.cpp:1696
bool enable_jcard_simulator() const
Definition: cuttlefish_config_instance.cpp:1085
std::string persistent_ap_composite_overlay_path() const
Definition: cuttlefish_config_instance.cpp:1439
std::string id() const
Definition: cuttlefish_config_instance.cpp:2152
int ddr_mem_mb() const
Definition: cuttlefish_config_instance.cpp:577
bool enable_bootanimation() const
Definition: cuttlefish_config_instance.cpp:973
std::string touch_socket_path(int touch_dev_idx) const
Definition: cuttlefish_config_instance.cpp:1951
bool mte() const
Definition: cuttlefish_config_instance.cpp:1031
std::string userdata_format() const
Definition: cuttlefish_config_instance.cpp:597
std::string esp_image_path() const
Definition: cuttlefish_config_instance.cpp:1457
std::vector< std::string > virtual_disk_paths() const
Definition: cuttlefish_config_instance.cpp:412
std::string ril_dns() const
Definition: cuttlefish_config_instance.cpp:1217
std::string crosvm_v4l2_proxy() const
Definition: cuttlefish_config_instance.cpp:1891
bool vhost_net() const
Definition: cuttlefish_config_instance.cpp:1190
std::string init_boot_image() const
Definition: cuttlefish_config_instance.cpp:117
bool has_wifi_card() const
Definition: cuttlefish_config_instance.cpp:1538
bool use_sdcard() const
Definition: cuttlefish_config_instance.cpp:621
const Json::Value & mcu() const
Definition: cuttlefish_config_instance.cpp:1846
std::string default_target_zip() const
Definition: cuttlefish_config_instance.cpp:374
ExternalNetworkMode external_network_mode() const
Definition: cuttlefish_config_instance.cpp:460
int gdb_port() const
Definition: cuttlefish_config_instance.cpp:564
bool start_pica() const
Definition: cuttlefish_config_instance.cpp:1819
bool run_as_daemon() const
Definition: cuttlefish_config_instance.cpp:635
bool enable_pkvm() const
Definition: cuttlefish_config_instance.cpp:1909
std::string ap_uboot_env_image_path() const
Definition: cuttlefish_config_instance.cpp:1452
std::string android_efi_loader() const
Definition: cuttlefish_config_instance.cpp:243
std::string mobile_tap_name() const
Definition: cuttlefish_config_instance.cpp:1511
std::string ethernet_mac() const
Definition: cuttlefish_config_instance.cpp:1592
std::string linux_initramfs_path() const
Definition: cuttlefish_config_instance.cpp:283
std::string ethernet_tap_name() const
Definition: cuttlefish_config_instance.cpp:1574
bool console() const
Definition: cuttlefish_config_instance.cpp:1373
bool enable_tap_devices() const
Definition: cuttlefish_config_instance.cpp:1947
std::string media_socket_path(int index) const
Definition: cuttlefish_config_instance.cpp:1969
std::string adb_ip_and_port() const
Definition: cuttlefish_config_instance.cpp:1728
std::string super_image() const
Definition: cuttlefish_config_instance.cpp:141
std::string gpu_capture_binary() const
Definition: cuttlefish_config_instance.cpp:746
std::string gem5_binary_dir() const
Definition: cuttlefish_config_instance.cpp:500
int memory_mb() const
Definition: cuttlefish_config_instance.cpp:569
int blank_data_image_mb() const
Definition: cuttlefish_config_instance.cpp:556
std::string boot_slot() const
Definition: cuttlefish_config_instance.cpp:1049
std::string wifi_tap_name() const
Definition: cuttlefish_config_instance.cpp:1529
bool enable_host_bluetooth_connector() const
Definition: cuttlefish_config_instance.cpp:1620
std::string chromeos_root_image() const
Definition: cuttlefish_config_instance.cpp:267
std::string environment_name() const
Definition: cuttlefish_config_instance.cpp:1684
bool enable_kernel_log() const
Definition: cuttlefish_config_instance.cpp:1040
std::string ethernet_bridge_name() const
Definition: cuttlefish_config_instance.cpp:1583
std::string crosvm_binary() const
Definition: cuttlefish_config_instance.cpp:1149
std::string data_image() const
Definition: cuttlefish_config_instance.cpp:125
bool kgdb() const
Definition: cuttlefish_config_instance.cpp:521
bool bootconfig_supported() const
Definition: cuttlefish_config_instance.cpp:439
std::string gpu_renderer_features() const
Definition: cuttlefish_config_instance.cpp:765
DataImagePolicy data_policy() const
Definition: cuttlefish_config_instance.cpp:547
int fastboot_host_port() const
Definition: cuttlefish_config_instance.cpp:1710
std::string chromeos_kernel_path() const
Definition: cuttlefish_config_instance.cpp:259
bool vhost_user_block() const
Definition: cuttlefish_config_instance.cpp:1066
std::string gem5_checkpoint_dir() const
Definition: cuttlefish_config_instance.cpp:509
std::string gpu_angle_feature_overrides_enabled() const
Definition: cuttlefish_config_instance.cpp:724
std::string gpu_context_types() const
Definition: cuttlefish_config_instance.cpp:774
std::string new_data_image() const
Definition: cuttlefish_config_instance.cpp:133
bool smt() const
Definition: cuttlefish_config_instance.cpp:1144
bool has_vulkan_lavapipe_apex() const
Definition: cuttlefish_config_instance.cpp:891
bool has_vulkan_gfxstream_apex() const
Definition: cuttlefish_config_instance.cpp:882
bool vhost_user_vsock() const
Definition: cuttlefish_config_instance.cpp:1208
bool pause_in_bootloader() const
Definition: cuttlefish_config_instance.cpp:630
GuestRendererPreload guest_renderer_preload() const
Definition: cuttlefish_config_instance.cpp:795
std::string filename_encryption_mode() const
Definition: cuttlefish_config_instance.cpp:448
std::string ril_ipaddr() const
Definition: cuttlefish_config_instance.cpp:1226
bool enable_gpu_external_blob() const
Definition: cuttlefish_config_instance.cpp:864
int modem_simulator_sim_type() const
Definition: cuttlefish_config_instance.cpp:677
std::string qemu_binary_dir() const
Definition: cuttlefish_config_instance.cpp:1178
std::string crosvm_file_backed_mapping() const
Definition: cuttlefish_config_instance.cpp:1937
std::string mobile_bridge_name() const
Definition: cuttlefish_config_instance.cpp:1502
std::string instance_name() const
Definition: cuttlefish_config_instance.cpp:2148
std::string os_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1444
std::string mobile_mac() const
Definition: cuttlefish_config_instance.cpp:1520
std::string setupwizard_mode() const
Definition: cuttlefish_config_instance.cpp:585
std::string wifi_mac() const
Definition: cuttlefish_config_instance.cpp:1556
int cpus() const
Definition: cuttlefish_config_instance.cpp:529
std::string fuchsia_root_image() const
Definition: cuttlefish_config_instance.cpp:320
std::string new_super_image() const
Definition: cuttlefish_config_instance.cpp:149
bool enable_minimal_mode() const
Definition: cuttlefish_config_instance.cpp:644
std::string vvmtruststore_path() const
Definition: cuttlefish_config_instance.cpp:368
bool has_bluetooth() const
Definition: cuttlefish_config_instance.cpp:1610
std::vector< MediaConfig > media_configs() const
Definition: cuttlefish_config_instance.cpp:2047
bool use_pmem() const
Definition: cuttlefish_config_instance.cpp:1900
Arch target_arch() const
Definition: cuttlefish_config_instance.cpp:1340
std::string fuchsia_zedboot_path() const
Definition: cuttlefish_config_instance.cpp:303
std::string system_target_zip() const
Definition: cuttlefish_config_instance.cpp:382
GuestHwuiRenderer guest_hwui_renderer() const
Definition: cuttlefish_config_instance.cpp:783
int modem_simulator_instance_number() const
Definition: cuttlefish_config_instance.cpp:667
std::string grpc_socket_path() const
Definition: cuttlefish_config_instance.cpp:1131
std::string fixed_location_file_path() const
Definition: cuttlefish_config_instance.cpp:490
int modem_simulator_host_id() const
Definition: cuttlefish_config_instance.cpp:1719
std::string ap_esp_image_path() const
Definition: cuttlefish_config_instance.cpp:1461
std::string otheros_esp_image() const
Definition: cuttlefish_config_instance.cpp:235
std::string webrtc_device_id() const
Definition: cuttlefish_config_instance.cpp:1794
APBootFlow ap_boot_flow() const
Definition: cuttlefish_config_instance.cpp:1855
std::string crosvm_device_tree_overlay() const
Definition: cuttlefish_config_instance.cpp:1927
std::string guest_vulkan_driver() const
Definition: cuttlefish_config_instance.cpp:805
std::string vbmeta_vendor_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:197
std::string console_dev() const
Definition: cuttlefish_config_instance.cpp:1376
bool enable_gnss_grpc_proxy() const
Definition: cuttlefish_config_instance.cpp:968
bool fail_fast() const
Definition: cuttlefish_config_instance.cpp:1057
std::string linux_root_image() const
Definition: cuttlefish_config_instance.cpp:291
std::vector< GpuMode > gpu_mode_candidates() const
Definition: cuttlefish_config_instance.cpp:695
std::string vcpu_config_path() const
Definition: cuttlefish_config_instance.cpp:538
std::optional<::cuttlefish::config::Audio > audio_settings() const
Definition: cuttlefish_config_instance.cpp:2028
std::string modem_simulator_ports() const
Definition: cuttlefish_config_instance.cpp:1399
int vhal_proxy_server_port() const
Definition: cuttlefish_config_instance.cpp:2007
std::optional< std::string > custom_keyboard_config() const
Definition: cuttlefish_config_instance.cpp:936
bool enable_modem_simulator() const
Definition: cuttlefish_config_instance.cpp:653
std::string wifi_bridge_name() const
Definition: cuttlefish_config_instance.cpp:1547
std::string vendor_boot_image() const
Definition: cuttlefish_config_instance.cpp:157
std::string instance_internal_dir() const
Definition: cuttlefish_config_instance.cpp:86
std::string ap_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1448
int camera_server_port() const
Definition: cuttlefish_config_instance.cpp:1781
std::string linux_kernel_path() const
Definition: cuttlefish_config_instance.cpp:275
std::string crosvm_acpi_table() const
Definition: cuttlefish_config_instance.cpp:1918
bool enable_modem_netsim() const
Definition: cuttlefish_config_instance.cpp:1408
std::string gpu_gfxstream_transport() const
Definition: cuttlefish_config_instance.cpp:755
std::string gpu_angle_feature_overrides_disabled() const
Definition: cuttlefish_config_instance.cpp:736
bool enable_audio() const
Definition: cuttlefish_config_instance.cpp:909
std::string audio_server_path() const
Definition: cuttlefish_config_instance.cpp:1467
std::string adb_device_name() const
Definition: cuttlefish_config_instance.cpp:1736
bool guest_uses_bgra_framebuffers() const
Definition: cuttlefish_config_instance.cpp:815
std::string touch_events_server_path(int touch_dev_idx) const
Definition: cuttlefish_config_instance.cpp:1957
bool enable_gamepad() const
Definition: cuttlefish_config_instance.cpp:926
bool enable_sandbox() const
Definition: cuttlefish_config_instance.cpp:1358
GpuMode gpu_mode() const
Definition: cuttlefish_config_instance.cpp:682
std::string vbmeta_system_image() const
Definition: cuttlefish_config_instance.cpp:189
BootFlow boot_flow() const
Definition: cuttlefish_config_instance.cpp:1471
bool enable_gpu_udmabuf() const
Definition: cuttlefish_config_instance.cpp:846
bool start_netsim() const
Definition: cuttlefish_config_instance.cpp:1827
const CuttlefishConfig * config_
Definition: cuttlefish_config.h:253
std::string instance_uds_dir() const
Definition: cuttlefish_config_instance.cpp:90
std::string uuid() const
Definition: cuttlefish_config_instance.cpp:1675
const Json::Value & domkey_mapping_config() const
Definition: cuttlefish_config_instance.cpp:958
std::string ethernet_ipv6() const
Definition: cuttlefish_config_instance.cpp:1601
std::string CrosvmSocketPath() const
Definition: cuttlefish_config_instance.cpp:1692
std::string gem5_debug_file() const
Definition: cuttlefish_config_instance.cpp:1019
int lights_server_port() const
Definition: cuttlefish_config_instance.cpp:1772
bool has_vulkan_swiftshader_apex() const
Definition: cuttlefish_config_instance.cpp:901
int gnss_grpc_proxy_server_port() const
Definition: cuttlefish_config_instance.cpp:472
std::string PerInstanceInternalPath(std::string_view file_name) const
Definition: cuttlefish_config_instance.cpp:2103
std::string vbmeta_system_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:216
std::string ti50_emulator() const
Definition: cuttlefish_config_instance.cpp:1075
bool use_bridged_wifi_tap() const
Definition: cuttlefish_config_instance.cpp:1565
DeviceType device_type() const
Definition: cuttlefish_config_instance.cpp:1349
bool enable_gpu_vhost_user() const
Definition: cuttlefish_config_instance.cpp:855
std::string instance_internal_uds_dir() const
Definition: cuttlefish_config_instance.cpp:94
std::vector< std::string > extra_bootconfig_args() const
Definition: cuttlefish_config_instance.cpp:991
std::string id_
Definition: cuttlefish_config.h:254
std::pair< uint16_t, uint16_t > webrtc_tcp_port_range() const
Definition: cuttlefish_config_instance.cpp:1107
std::pair< uint16_t, uint16_t > webrtc_udp_port_range() const
Definition: cuttlefish_config_instance.cpp:1123
bool enable_usb() const
Definition: cuttlefish_config_instance.cpp:985
std::string images_dir() const
Definition: cuttlefish_config_instance.cpp:109
std::string new_vendor_boot_image() const
Definition: cuttlefish_config_instance.cpp:165
std::string PerInstanceUdsPath(std::string_view file_name) const
Definition: cuttlefish_config_instance.cpp:2113
int tombstone_receiver_port() const
Definition: cuttlefish_config_instance.cpp:1754
bool enable_host_uwb_connector() const
Definition: cuttlefish_config_instance.cpp:1630
std::string launcher_log_path() const
Definition: cuttlefish_config_instance.cpp:1416
std::string frames_socket_path() const
Definition: cuttlefish_config_instance.cpp:1980
std::vector< DisplayConfig > display_configs() const
Definition: cuttlefish_config_instance.cpp:1264
std::string bootloader() const
Definition: cuttlefish_config_instance.cpp:340
int blank_sdcard_image_mb() const
Definition: cuttlefish_config_instance.cpp:332
bool crosvm_use_balloon() const
Definition: cuttlefish_config_instance.cpp:1864
int audiocontrol_server_port() const
Definition: cuttlefish_config_instance.cpp:1763
std::string PerInstanceLogPath(std::string_view file_name) const
Definition: cuttlefish_config_instance.cpp:2138
std::string new_vbmeta_image() const
Definition: cuttlefish_config_instance.cpp:181
std::string ril_gateway() const
Definition: cuttlefish_config_instance.cpp:1235
InstanceSpecific(const CuttlefishConfig *config, const std::string &id)
Definition: cuttlefish_config.h:258
std::string hwcomposer() const
Definition: cuttlefish_config_instance.cpp:833
std::string sdcard_path() const
Definition: cuttlefish_config_instance.cpp:1420
bool enable_gpu_system_blob() const
Definition: cuttlefish_config_instance.cpp:873
std::string new_vbmeta_vendor_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:207
bool use_bootloader() const
Definition: cuttlefish_config_instance.cpp:103
bool guest_enforce_security() const
Definition: cuttlefish_config_instance.cpp:612
std::string fuchsia_multiboot_bin_path() const
Definition: cuttlefish_config_instance.cpp:311
std::string PerInstanceGrpcSocketPath(std::string_view socket_name) const
Definition: cuttlefish_config_instance.cpp:2128
bool use_cvdalloc() const
Definition: cuttlefish_config_instance.cpp:1639
int qemu_vnc_server_port() const
Definition: cuttlefish_config_instance.cpp:1745
std::string persistent_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1428
bool start_casimir() const
Definition: cuttlefish_config_instance.cpp:1811
uint32_t session_id() const
Definition: cuttlefish_config_instance.cpp:1648
std::string PerInstanceInternalUdsPath(std::string_view file_name) const
Definition: cuttlefish_config_instance.cpp:2118
bool enable_virtiofs() const
Definition: cuttlefish_config_instance.cpp:1366
void set_group_uuid(int group_uuid)
Definition: cuttlefish_config_environment.cpp:157
void set_start_wmediumd(bool start)
Definition: cuttlefish_config_environment.cpp:110
std::string envName_
Definition: cuttlefish_config.h:907
MutableEnvironmentSpecific(CuttlefishConfig *config, const std::string &envName)
Definition: cuttlefish_config.h:909
void set_enable_wifi(bool enable_wifi)
Definition: cuttlefish_config_environment.cpp:101
void set_wmediumd_config(const std::string &config_path)
Definition: cuttlefish_config_environment.cpp:139
void set_wmediumd_api_server_socket(const std::string &path)
Definition: cuttlefish_config_environment.cpp:130
void set_vhost_user_mac80211_hwsim(const std::string &path)
Definition: cuttlefish_config_environment.cpp:120
void set_wmediumd_mac_prefix(int mac_prefix)
Definition: cuttlefish_config_environment.cpp:148
CuttlefishConfig * config_
Definition: cuttlefish_config.h:906
Json::Value * Dictionary()
Definition: cuttlefish_config_environment.cpp:36
void set_mte(bool mte)
Definition: cuttlefish_config_instance.cpp:1028
void set_enable_sandbox(bool enable_sandbox)
Definition: cuttlefish_config_instance.cpp:1354
std::string id_
Definition: cuttlefish_config.h:608
void set_external_network_mode(ExternalNetworkMode network_mode)
Definition: cuttlefish_config_instance.cpp:465
void set_serial_number(const std::string &serial_number)
Definition: cuttlefish_config_instance.cpp:394
void set_data_policy(DataImagePolicy data_policy)
Definition: cuttlefish_config_instance.cpp:543
void set_linux_root_image(const std::string &linux_root_image)
Definition: cuttlefish_config_instance.cpp:294
void set_enable_gpu_external_blob(bool enable_gpu_external_blob)
Definition: cuttlefish_config_instance.cpp:860
void set_vhost_user_block(bool qemu_vhost_user_block)
Definition: cuttlefish_config_instance.cpp:1062
void set_gpu_context_types(const std::string &context_types)
Definition: cuttlefish_config_instance.cpp:777
void set_gpu_mode(GpuMode mode)
Definition: cuttlefish_config_instance.cpp:690
void set_modem_simulator_ports(const std::string &modem_simulator_ports)
Definition: cuttlefish_config_instance.cpp:1402
void set_system_target_zip(const std::string &system_target_zip)
Definition: cuttlefish_config_instance.cpp:385
void set_ethernet_tap_name(const std::string &ethernet_tap_name)
Definition: cuttlefish_config_instance.cpp:1577
void set_new_super_image(const std::string &super_image)
Definition: cuttlefish_config_instance.cpp:152
void set_fuchsia_root_image(const std::string &fuchsia_root_image)
Definition: cuttlefish_config_instance.cpp:316
void set_start_wmediumd_instance(bool start)
Definition: cuttlefish_config_instance.cpp:1833
void set_ethernet_ipv6(const std::string &ip)
Definition: cuttlefish_config_instance.cpp:1604
void set_chromeos_kernel_path(const std::string &chromeos_kernel_path)
Definition: cuttlefish_config_instance.cpp:262
void set_guest_uses_bgra_framebuffers(bool uses_bgra)
Definition: cuttlefish_config_instance.cpp:819
void set_smt(bool smt)
Definition: cuttlefish_config_instance.cpp:1141
void set_memory_mb(int memory_mb)
Definition: cuttlefish_config_instance.cpp:572
void set_vendor_boot_image(const std::string &vendor_boot_image)
Definition: cuttlefish_config_instance.cpp:160
void set_vsock_guest_cid(int vsock_guest_cid)
Definition: cuttlefish_config_instance.cpp:1660
void set_has_vulkan_gfxstream_apex(bool has_apex)
Definition: cuttlefish_config_instance.cpp:878
void set_new_vbmeta_vendor_dlkm_image(const std::string &vbmeta_vendor_dlkm_image)
Definition: cuttlefish_config_instance.cpp:212
void set_virtual_disk_paths(const std::vector< std::string > &disk_paths)
Definition: cuttlefish_config_instance.cpp:420
void set_has_wifi_card(bool has_wifi_card)
Definition: cuttlefish_config_instance.cpp:1541
void set_vhal_proxy_server_port(int port)
Definition: cuttlefish_config_instance.cpp:2003
void set_tombstone_receiver_port(int tombstone_receiver_port)
Definition: cuttlefish_config_instance.cpp:1757
void set_gdb_port(int gdb_port)
Definition: cuttlefish_config_instance.cpp:561
void set_bootconfig_supported(bool bootconfig_supported)
Definition: cuttlefish_config_instance.cpp:442
void set_use_cvdalloc(bool use_cvdalloc)
Definition: cuttlefish_config_instance.cpp:1642
void set_bootloader(const std::string &bootloader)
Definition: cuttlefish_config_instance.cpp:343
void set_new_vendor_boot_image(const std::string &new_vendor_boot_image)
Definition: cuttlefish_config_instance.cpp:168
void set_vbmeta_system_dlkm_image(const std::string &vbmeta_system_dlkm_image)
Definition: cuttlefish_config_instance.cpp:220
void set_init_boot_image(const std::string &init_boot_image)
Definition: cuttlefish_config_instance.cpp:120
void set_restart_subprocesses(bool restart_subprocesses)
Definition: cuttlefish_config_instance.cpp:827
void set_custom_partition_path(const std::string &custom_partition_path)
Definition: cuttlefish_config_instance.cpp:324
void set_crosvm_v4l2_proxy(std::string v4l2_proxy)
Definition: cuttlefish_config_instance.cpp:1887
void set_fuchsia_zedboot_path(const std::string &fuchsia_zedboot_path)
Definition: cuttlefish_config_instance.cpp:299
void set_ap_boot_flow(APBootFlow flow)
Definition: cuttlefish_config_instance.cpp:1851
void set_gpu_mode_candidates(const std::vector< GpuMode > &candidates)
Definition: cuttlefish_config_instance.cpp:712
void set_start_netsim(bool start)
Definition: cuttlefish_config_instance.cpp:1824
void set_enable_host_uwb_connector(bool enable_host_uwb)
Definition: cuttlefish_config_instance.cpp:1633
void set_webrtc_device_id(const std::string &id)
Definition: cuttlefish_config_instance.cpp:1790
void set_fuchsia_multiboot_bin_path(const std::string &fuchsia_multiboot_bin_path)
Definition: cuttlefish_config_instance.cpp:307
void set_gem5_debug_file(const std::string &gem5_debug_file)
Definition: cuttlefish_config_instance.cpp:1022
void set_blank_sdcard_image_mb(int blank_sdcard_image_mb)
Definition: cuttlefish_config_instance.cpp:335
void set_vcpu_config_path(const std::string &vcpu_config_path)
Definition: cuttlefish_config_instance.cpp:534
void set_seccomp_policy_dir(const std::string &seccomp_policy_dir)
Definition: cuttlefish_config_instance.cpp:1165
void set_gpu_renderer_features(const std::string &features)
Definition: cuttlefish_config_instance.cpp:768
void set_display_configs(const std::vector< DisplayConfig > &display_configs)
Definition: cuttlefish_config_instance.cpp:1278
void set_data_image(const std::string &data_image)
Definition: cuttlefish_config_instance.cpp:128
void set_touchpad_configs(const std::vector< TouchpadConfig > &touchpad_configs)
Definition: cuttlefish_config_instance.cpp:1324
void set_session_id(uint32_t session_id)
Definition: cuttlefish_config_instance.cpp:1651
void set_audio_output_streams_count(int count)
Definition: cuttlefish_config_instance.cpp:2012
void set_frames_socket_path(const std::string &frame_socket_path)
Definition: cuttlefish_config_instance.cpp:1975
void set_wifi_mac_prefix(int wifi_mac_prefix)
Definition: cuttlefish_config_instance.cpp:1988
void set_gpu_angle_feature_overrides_enabled(const std::string &overrides)
Definition: cuttlefish_config_instance.cpp:729
void set_gpu_angle_feature_overrides_disabled(const std::string &overrides)
Definition: cuttlefish_config_instance.cpp:741
void set_enable_vhal_proxy_server(bool enable_vhal_proxy_server)
Definition: cuttlefish_config_instance.cpp:1994
void set_enable_usb(bool enable)
Definition: cuttlefish_config_instance.cpp:982
void set_modem_simulator_instance_number(int instance_numbers)
Definition: cuttlefish_config_instance.cpp:664
void set_adb_ip_and_port(const std::string &ip_port)
Definition: cuttlefish_config_instance.cpp:1731
void set_fastboot_host_port(int fastboot_host_port)
Definition: cuttlefish_config_instance.cpp:1713
void set_boot_slot(const std::string &boot_slot)
Definition: cuttlefish_config_instance.cpp:1045
void set_enable_mouse(bool enable)
Definition: cuttlefish_config_instance.cpp:914
void set_start_pica(bool start)
Definition: cuttlefish_config_instance.cpp:1816
void set_pause_in_bootloader(bool pause_in_bootloader)
Definition: cuttlefish_config_instance.cpp:626
void set_domkey_mapping_config(const std::string &domkey_mapping_config_json_path)
Definition: cuttlefish_config_instance.cpp:945
void set_gem5_checkpoint_dir(const std::string &gem5_checkpoint_dir)
Definition: cuttlefish_config_instance.cpp:512
MutableInstanceSpecific(CuttlefishConfig *config, const std::string &id)
Definition: cuttlefish_config_instance.cpp:66
void set_gnss_file_path(const std::string &gnss_file_path)
Definition: cuttlefish_config_instance.cpp:484
void set_fixed_location_file_path(const std::string &fixed_location_file_path)
Definition: cuttlefish_config_instance.cpp:494
void set_enable_gamepad(bool enable)
Definition: cuttlefish_config_instance.cpp:922
void set_gem5_binary_dir(const std::string &gem5_binary_dir)
Definition: cuttlefish_config_instance.cpp:503
Result< void > set_setupwizard_mode(const std::string &mode)
Definition: cuttlefish_config_instance.cpp:588
void set_camera_server_port(int camera_server_port)
Definition: cuttlefish_config_instance.cpp:1784
void set_kgdb(bool kgdb)
Definition: cuttlefish_config_instance.cpp:518
void set_vhost_user_vsock(bool vhost_user_vsock)
Definition: cuttlefish_config_instance.cpp:1204
void set_default_target_zip(const std::string &default_target_zip)
Definition: cuttlefish_config_instance.cpp:377
void set_ethernet_mac(const std::string &mac)
Definition: cuttlefish_config_instance.cpp:1595
void set_enable_modem_netsim(bool enable)
Definition: cuttlefish_config_instance.cpp:1411
void set_enable_tap_devices(bool)
Definition: cuttlefish_config_instance.cpp:1943
void set_vbmeta_system_image(const std::string &vbmeta_system_image)
Definition: cuttlefish_config_instance.cpp:192
void set_gnss_grpc_proxy_server_port(int gnss_grpc_proxy_server_port)
Definition: cuttlefish_config_instance.cpp:475
void set_crosvm_acpi_table(const std::string &acpi_table)
Definition: cuttlefish_config_instance.cpp:1914
void set_webrtc_assets_dir(const std::string &webrtc_assets_dir)
Definition: cuttlefish_config_instance.cpp:1090
void set_cpus(int cpus)
Definition: cuttlefish_config_instance.cpp:526
void SetPath(const std::string &key, const std::string &path)
Definition: cuttlefish_config_instance.cpp:1157
void set_qemu_vnc_server_port(int qemu_vnc_server_port)
Definition: cuttlefish_config_instance.cpp:1748
void set_enable_bootanimation(bool enable_bootanimation)
Definition: cuttlefish_config_instance.cpp:976
void set_console(bool console)
Definition: cuttlefish_config_instance.cpp:1370
void set_crosvm_use_rng(bool use_rng)
Definition: cuttlefish_config_instance.cpp:1869
void set_enable_modem_simulator(bool enable_modem_simulator)
Definition: cuttlefish_config_instance.cpp:656
void set_new_data_image(const std::string &new_data_image)
Definition: cuttlefish_config_instance.cpp:136
void set_wifi_mac(const std::string &mac)
Definition: cuttlefish_config_instance.cpp:1559
void set_guest_hwui_renderer(GuestHwuiRenderer renderer)
Definition: cuttlefish_config_instance.cpp:788
void set_ti50_emulator(const std::string &ti50_emulator)
Definition: cuttlefish_config_instance.cpp:1071
void set_ethernet_bridge_name(const std::string &set_ethernet_bridge_name)
Definition: cuttlefish_config_instance.cpp:1586
void set_mcu(const Json::Value &cfg)
Definition: cuttlefish_config_instance.cpp:1842
void set_extra_bootconfig_args(const std::string &extra_bootconfig_args)
Definition: cuttlefish_config_instance.cpp:1004
void set_chromeos_disk(const std::string &chromeos_disk)
Definition: cuttlefish_config_instance.cpp:254
void set_mobile_tap_name(const std::string &mobile_tap_name)
Definition: cuttlefish_config_instance.cpp:1514
void set_kernel_path(const std::string &kernel_path)
Definition: cuttlefish_config_instance.cpp:359
void set_openthread_node_id(int node_id)
Definition: cuttlefish_config_instance.cpp:1195
void set_mobile_mac(const std::string &mac)
Definition: cuttlefish_config_instance.cpp:1523
void set_modem_simulator_host_id(int modem_simulator_id)
Definition: cuttlefish_config_instance.cpp:1722
void set_target_arch(Arch target_arch)
Definition: cuttlefish_config_instance.cpp:1336
void set_ril_ipaddr(const std::string &ril_ipaddr)
Definition: cuttlefish_config_instance.cpp:1222
void set_images_dir(const std::string &dir)
Definition: cuttlefish_config_instance.cpp:112
void set_enable_audio(bool enable)
Definition: cuttlefish_config_instance.cpp:906
void set_fail_fast(bool fail_fast)
Definition: cuttlefish_config_instance.cpp:1054
void set_enable_gpu_vhost_user(bool enable_gpu_vhost_user)
Definition: cuttlefish_config_instance.cpp:851
void set_mobile_bridge_name(const std::string &mobile_bridge_name)
Definition: cuttlefish_config_instance.cpp:1505
void set_ril_gateway(const std::string &ril_gateway)
Definition: cuttlefish_config_instance.cpp:1231
void set_new_vbmeta_system_dlkm_image(const std::string &vbmeta_system_dlkm_image)
Definition: cuttlefish_config_instance.cpp:231
void set_enable_minimal_mode(bool enable_minimal_mode)
Definition: cuttlefish_config_instance.cpp:647
void set_custom_keyboard_config(const std::string &custom_keyboard_config_json_path)
Definition: cuttlefish_config_instance.cpp:931
void set_wifi_bridge_name(const std::string &wifi_bridge_name)
Definition: cuttlefish_config_instance.cpp:1550
void set_webrtc_tcp_port_range(std::pair< uint16_t, uint16_t > range)
Definition: cuttlefish_config_instance.cpp:1099
void set_vhost_net(bool vhost_net)
Definition: cuttlefish_config_instance.cpp:1187
void set_ril_prefixlen(uint8_t ril_prefixlen)
Definition: cuttlefish_config_instance.cpp:1249
void set_crosvm_binary(const std::string &crosvm_binary)
Definition: cuttlefish_config_instance.cpp:1152
void set_ril_dns(const std::string &ril_dns)
Definition: cuttlefish_config_instance.cpp:1213
void set_has_vulkan_swiftshader_apex(bool has_apex)
Definition: cuttlefish_config_instance.cpp:897
void set_crosvm_device_tree_overlay(const std::string &device_tree_overlay)
Definition: cuttlefish_config_instance.cpp:1923
Json::Value * Dictionary()
Definition: cuttlefish_config_instance.cpp:74
void set_wifi_tap_name(const std::string &wifi_tap_name)
Definition: cuttlefish_config_instance.cpp:1532
void set_qemu_binary_dir(const std::string &qemu_binary_dir)
Definition: cuttlefish_config_instance.cpp:1181
void set_enable_host_bluetooth_connector(bool enable_host_bluetooth)
Definition: cuttlefish_config_instance.cpp:1625
void set_super_image(const std::string &super_image)
Definition: cuttlefish_config_instance.cpp:144
void set_modem_simulator_sim_type(int sim_type)
Definition: cuttlefish_config_instance.cpp:673
void set_enable_gpu_udmabuf(bool enable_gpu_udmabuf)
Definition: cuttlefish_config_instance.cpp:842
void set_has_vulkan_lavapipe_apex(bool has_apex)
Definition: cuttlefish_config_instance.cpp:887
void set_audio_settings(const ::cuttlefish::config::Audio &audio_settings)
Definition: cuttlefish_config_instance.cpp:2021
void set_guest_enforce_security(bool guest_enforce_security)
Definition: cuttlefish_config_instance.cpp:608
void set_enable_jcard_simulator(bool enable)
Definition: cuttlefish_config_instance.cpp:1081
void set_guest_android_version(const std::string &guest_android_version)
Definition: cuttlefish_config_instance.cpp:433
void set_enable_gpu_system_blob(bool enable_gpu_system_blob)
Definition: cuttlefish_config_instance.cpp:869
void set_linux_kernel_path(const std::string &linux_kernel_path)
Definition: cuttlefish_config_instance.cpp:278
void set_crosvm_use_balloon(bool use_balloon)
Definition: cuttlefish_config_instance.cpp:1860
void set_start_rootcanal(bool start)
Definition: cuttlefish_config_instance.cpp:1799
void set_use_pmem(bool use_pmem)
Definition: cuttlefish_config_instance.cpp:1896
void set_initramfs_path(const std::string &initramfs_path)
Definition: cuttlefish_config_instance.cpp:351
void set_gpu_gfxstream_transport(const std::string &transport)
Definition: cuttlefish_config_instance.cpp:759
void set_new_vbmeta_image(const std::string &new_vbmeta_image)
Definition: cuttlefish_config_instance.cpp:184
void set_vbmeta_image(const std::string &vbmeta_image)
Definition: cuttlefish_config_instance.cpp:176
void set_lights_server_port(int lights_server_port)
Definition: cuttlefish_config_instance.cpp:1775
void set_vbmeta_vendor_dlkm_image(const std::string &vbmeta_vendor_dlkm_image)
Definition: cuttlefish_config_instance.cpp:201
void set_ddr_mem_mb(int ddr_mem_mb)
Definition: cuttlefish_config_instance.cpp:580
void set_audiocontrol_server_port(int audiocontrol_server_port)
Definition: cuttlefish_config_instance.cpp:1766
void set_crosvm_file_backed_mapping(const std::string &file_backed_mapping)
Definition: cuttlefish_config_instance.cpp:1933
void set_linux_initramfs_path(const std::string &linux_initramfs_path)
Definition: cuttlefish_config_instance.cpp:286
void set_otheros_esp_image(const std::string &otheros_esp_image)
Definition: cuttlefish_config_instance.cpp:238
void set_record_screen(bool record_screen)
Definition: cuttlefish_config_instance.cpp:1010
void set_crosvm_simple_media_device(bool simple_media_device)
Definition: cuttlefish_config_instance.cpp:1878
void set_vsock_guest_group(const std::string &vsock_guest_group)
Definition: cuttlefish_config_instance.cpp:1669
void set_run_as_daemon(bool run_as_daemon)
Definition: cuttlefish_config_instance.cpp:638
void set_media_configs(const std::vector< MediaConfig > &configs)
Definition: cuttlefish_config_instance.cpp:2077
void set_enable_virtiofs(bool enable_virtiofs)
Definition: cuttlefish_config_instance.cpp:1362
void set_guest_renderer_preload(GuestRendererPreload preload)
Definition: cuttlefish_config_instance.cpp:799
void set_environment_name(const std::string &env_name)
Definition: cuttlefish_config_instance.cpp:1687
void set_guest_vulkan_driver(const std::string &driver)
Definition: cuttlefish_config_instance.cpp:808
void set_enable_pkvm(bool enable_pkvm)
Definition: cuttlefish_config_instance.cpp:1905
void set_vvmtruststore_path(const std::string &vvmtruststore_path)
Definition: cuttlefish_config_instance.cpp:364
void set_hwcomposer(const std::string &)
Definition: cuttlefish_config_instance.cpp:836
void set_uuid(const std::string &uuid)
Definition: cuttlefish_config_instance.cpp:1678
CuttlefishConfig * config_
Definition: cuttlefish_config.h:607
void set_userdata_format(const std::string &userdata_format)
Definition: cuttlefish_config_instance.cpp:600
void set_device_type(DeviceType type)
Definition: cuttlefish_config_instance.cpp:1345
void set_adb_host_port(int adb_host_port)
Definition: cuttlefish_config_instance.cpp:1705
void set_use_sdcard(bool use_sdcard)
Definition: cuttlefish_config_instance.cpp:617
void set_blank_data_image_mb(int blank_data_image_mb)
Definition: cuttlefish_config_instance.cpp:552
void set_gpu_capture_binary(const std::string &)
Definition: cuttlefish_config_instance.cpp:749
void set_chromeos_root_image(const std::string &chromeos_root_image)
Definition: cuttlefish_config_instance.cpp:270
void set_has_bluetooth(bool has_bluetooth)
Definition: cuttlefish_config_instance.cpp:1613
void set_start_casimir(bool start)
Definition: cuttlefish_config_instance.cpp:1808
void set_enable_kernel_log(bool enable_kernel_log)
Definition: cuttlefish_config_instance.cpp:1036
void set_use_bridged_wifi_tap(bool use_bridged_wifi_tap)
Definition: cuttlefish_config_instance.cpp:1568
void set_android_efi_loader(const std::string &android_efi_loader)
Definition: cuttlefish_config_instance.cpp:246
void set_filename_encryption_mode(const std::string &filename_encryption_mode)
Definition: cuttlefish_config_instance.cpp:452
void set_enable_gnss_grpc_proxy(bool enable_gnss_grpc_proxy)
Definition: cuttlefish_config_instance.cpp:964
void set_ril_broadcast(const std::string &ril_broadcast)
Definition: cuttlefish_config_instance.cpp:1240
void set_grpc_socket_path(const std::string &socket_path)
Definition: cuttlefish_config_instance.cpp:1135
void set_webrtc_udp_port_range(std::pair< uint16_t, uint16_t > range)
Definition: cuttlefish_config_instance.cpp:1115
Definition: cuttlefish_config.h:52
MutableInstanceSpecific ForInstance(int instance_num)
Definition: cuttlefish_config.cpp:560
int casimir_nci_port() const
Definition: cuttlefish_config.cpp:262
void set_netsim_args(const std::string &netsim_args)
Definition: cuttlefish_config.cpp:293
static const CuttlefishConfig * Get()
Definition: cuttlefish_config.cpp:461
bool OverlaysEnabled() const
Definition: cuttlefish_config.cpp:157
void set_crosvm_binary(const std::string &crosvm_binary)
Definition: cuttlefish_config.cpp:128
std::vector< InstanceSpecific > Instances() const
Definition: cuttlefish_config.cpp:580
std::string ap_kernel_image() const
Definition: cuttlefish_config.cpp:343
void set_virtio_mac80211_hwsim(bool virtio_mac80211_hwsim)
Definition: cuttlefish_config.cpp:327
void set_enable_automotive_proxy(bool enable_automotive_proxy)
Definition: cuttlefish_config.cpp:208
InstanceSpecific ForInstanceName(const std::string &name) const
Definition: cuttlefish_config.cpp:570
void set_enable_host_nfc(bool enable_host_nfc)
Definition: cuttlefish_config.cpp:217
std::string crosvm_binary() const
Definition: cuttlefish_config.cpp:125
bool SaveFragment(const ConfigFragment &)
Definition: cuttlefish_config.cpp:73
int rootcanal_hci_port() const
Definition: cuttlefish_config.cpp:367
static bool ConfigExists()
Definition: cuttlefish_config.cpp:469
bool enable_host_uwb() const
Definition: cuttlefish_config.cpp:195
MutableEnvironmentSpecific ForEnvironment(const std::string &envName)
Definition: cuttlefish_config.cpp:624
bool enable_host_nfc_connector() const
Definition: cuttlefish_config.cpp:228
void set_straced_host_executables(const std::set< std::string > &executables)
Definition: cuttlefish_config.cpp:424
std::string instances_uds_dir() const
Definition: cuttlefish_config.cpp:529
void set_ap_rootfs_image(const std::string &ap_rootfs_image)
Definition: cuttlefish_config.cpp:338
std::vector< std::string > instance_names() const
Definition: cuttlefish_config.cpp:608
VmmMode vm_manager() const
Definition: cuttlefish_config.cpp:92
void set_rootcanal_args(const std::string &rootcanal_args)
Definition: cuttlefish_config.cpp:351
void set_casimir_instance_num(int casimir_instance_num)
Definition: cuttlefish_config.cpp:233
int sig_server_proxy_port() const
Definition: cuttlefish_config.cpp:145
void set_sig_server_address(const std::string &addr)
Definition: cuttlefish_config.cpp:150
void set_sig_server_proxy_port(int port)
Definition: cuttlefish_config.cpp:142
void set_environments_dir(const std::string &)
std::string AssemblyPath(std::string_view) const
Definition: cuttlefish_config.cpp:521
int netsim_instance_num() const
Definition: cuttlefish_config.cpp:275
std::vector< std::string > extra_kernel_cmdline() const
Definition: cuttlefish_config.cpp:318
static CuttlefishConfig * BuildConfigImpl(const std::string &path)
Definition: cuttlefish_config.cpp:440
void set_extra_kernel_cmdline(const std::string &extra_cmdline)
Definition: cuttlefish_config.cpp:310
Result< std::set< SecureHal > > secure_hals() const
Definition: cuttlefish_config.cpp:109
void set_casimir_rf_port(int port)
Definition: cuttlefish_config.cpp:267
MutableEnvironmentSpecific ForDefaultEnvironment()
Definition: cuttlefish_config.cpp:635
int netsim_connector_instance_num() const
Definition: cuttlefish_config.cpp:284
std::string environments_uds_dir() const
Definition: cuttlefish_config.cpp:551
std::string instances_dir() const
Definition: cuttlefish_config.cpp:509
void set_pica_uci_port(int pica_uci_port)
Definition: cuttlefish_config.cpp:203
int rootcanal_link_port() const
Definition: cuttlefish_config.cpp:375
std::string sig_server_address() const
Definition: cuttlefish_config.cpp:153
std::string EnvironmentsPath(std::string_view) const
Definition: cuttlefish_config.cpp:542
CuttlefishConfig & operator=(const CuttlefishConfig &)=delete
std::string assembly_dir() const
Definition: cuttlefish_config.cpp:517
CuttlefishConfig(CuttlefishConfig &&)
std::string root_dir() const
Definition: cuttlefish_config.cpp:84
static std::unique_ptr< const CuttlefishConfig > GetFromFile(const std::string &path)
Definition: cuttlefish_config.cpp:454
std::vector< std::string > environment_dirs() const
Definition: cuttlefish_config.cpp:645
std::set< std::string > straced_host_executables() const
Definition: cuttlefish_config.cpp:432
void set_host_tools_version(const std::map< std::string, uint32_t > &)
Definition: cuttlefish_config.cpp:171
void set_rootcanal_hci_port(int rootcanal_hci_port)
Definition: cuttlefish_config.cpp:370
std::string ap_rootfs_image() const
Definition: cuttlefish_config.cpp:335
void set_ap_vm_manager(const std::string &name)
Definition: cuttlefish_config.cpp:104
void set_enable_host_nfc_connector(bool enable_host_nfc_connector)
Definition: cuttlefish_config.cpp:225
bool SaveToFile(const std::string &file) const
Definition: cuttlefish_config.cpp:499
bool virtio_mac80211_hwsim() const
Definition: cuttlefish_config.cpp:330
void set_rootcanal_link_port(int rootcanal_link_port)
Definition: cuttlefish_config.cpp:378
std::vector< std::string > casimir_args() const
Definition: cuttlefish_config.cpp:250
void set_kvm_path(const std::string &)
Definition: cuttlefish_config.cpp:411
CuttlefishConfig(const CuttlefishConfig &)=delete
void set_vhost_vsock_path(const std::string &)
Definition: cuttlefish_config.cpp:419
bool enable_automotive_proxy() const
Definition: cuttlefish_config.cpp:212
void set_instances_uds_dir(const std::string &)
Definition: cuttlefish_config.cpp:526
std::string snapshot_path() const
Definition: cuttlefish_config.cpp:400
MediaType
Definition: cuttlefish_config.h:116
int casimir_rf_port() const
Definition: cuttlefish_config.cpp:270
int rootcanal_test_port() const
Definition: cuttlefish_config.cpp:392
InstanceSpecific ForDefaultInstance() const
Definition: cuttlefish_config.cpp:575
int pica_uci_port() const
Definition: cuttlefish_config.cpp:200
std::string InstancesUdsPath(std::string_view) const
Definition: cuttlefish_config.cpp:533
void set_ap_kernel_image(const std::string &ap_kernel_image)
Definition: cuttlefish_config.cpp:346
void set_secure_hals(const std::set< SecureHal > &)
Definition: cuttlefish_config.cpp:116
void set_instance_names(const std::vector< std::string > &instance_names)
Definition: cuttlefish_config.cpp:600
void set_netsim_connector_instance_num(int netsim_instance_num)
Definition: cuttlefish_config.cpp:287
void set_rootcanal_test_port(int rootcanal_test_port)
Definition: cuttlefish_config.cpp:395
void set_rootcanal_link_ble_port(int rootcanal_link_ble_port)
Definition: cuttlefish_config.cpp:386
std::string environments_dir() const
Definition: cuttlefish_config.cpp:538
std::unique_ptr< Json::Value > dictionary_
Definition: cuttlefish_config.h:928
std::string vhost_vsock_path() const
Definition: cuttlefish_config.cpp:416
std::string gem5_debug_flags() const
Definition: cuttlefish_config.cpp:133
std::string InstancesPath(std::string_view) const
Definition: cuttlefish_config.cpp:513
std::string ap_vm_manager() const
Definition: cuttlefish_config.cpp:101
std::string kvm_path() const
Definition: cuttlefish_config.cpp:408
CuttlefishConfig()
Definition: cuttlefish_config.cpp:476
std::vector< std::string > instance_dirs() const
Definition: cuttlefish_config.cpp:590
void set_casimir_args(const std::string &casimir_args)
Definition: cuttlefish_config.cpp:241
bool enable_host_nfc() const
Definition: cuttlefish_config.cpp:220
bool LoadFragment(ConfigFragment &) const
Definition: cuttlefish_config.cpp:61
void set_root_dir(const std::string &root_dir)
Definition: cuttlefish_config.cpp:87
void set_netsim_instance_num(int netsim_instance_num)
Definition: cuttlefish_config.cpp:278
void set_gem5_debug_flags(const std::string &gem5_debug_flags)
Definition: cuttlefish_config.cpp:136
std::vector< std::string > rootcanal_args() const
Definition: cuttlefish_config.cpp:358
int rootcanal_link_ble_port() const
Definition: cuttlefish_config.cpp:383
void set_enable_host_uwb(bool enable_host_uwb)
Definition: cuttlefish_config.cpp:192
std::map< std::string, uint32_t > host_tools_version() const
Definition: cuttlefish_config.cpp:179
std::string EnvironmentsUdsPath(std::string_view) const
Definition: cuttlefish_config.cpp:555
CuttlefishConfig & operator=(CuttlefishConfig &&)
void set_snapshot_path(const std::string &snapshot_path)
Definition: cuttlefish_config.cpp:403
bool LoadFromFile(const char *file)
Definition: cuttlefish_config.cpp:484
void set_casimir_nci_port(int port)
Definition: cuttlefish_config.cpp:259
void set_environments_uds_dir(const std::string &)
Definition: cuttlefish_config.cpp:548
void set_vm_manager(VmmMode vmm)
Definition: cuttlefish_config.cpp:96
std::vector< std::string > netsim_args() const
Definition: cuttlefish_config.cpp:301
int casimir_instance_num() const
Definition: cuttlefish_config.cpp:236
#define key
Definition: dict.c:55
__u8 uuid[16]
Definition: f2fs_fs.h:28
char * name
Definition: libf2fs.c:1403
Definition: cuttlefish_config.h:45
Definition: alloc_driver.h:20
bool IsRestoring(const CuttlefishConfig &config)
Definition: cuttlefish_config.cpp:55
GuestHwuiRenderer
Definition: guest_hwui_renderer.h:26
DataImagePolicy
Definition: data_image_policy.h:24
bool VmManagerIsCrosvm(const VmManagerFlag &vmm)
Definition: vm_manager.cc:69
bool VmManagerIsQemu(const VmManagerFlag &vmm)
Definition: vm_manager.cc:73
DeviceType
Definition: device_type.h:23
VmmMode
Definition: vmm_mode.h:26
ExternalNetworkMode
Definition: external_network_mode.h:25
GuestRendererPreload
Definition: guest_renderer_preload.h:26
Arch
Definition: host_info.h:23
bool EnableNetsimNfc(const CuttlefishConfig &config)
Definition: cuttlefish_config.cpp:656
BootFlow
Definition: boot_flow.h:20
tl::expected< T, StackTraceError > Result
Definition: result_type.h:30
bool VmManagerIsGem5(const VmManagerFlag &vmm)
Definition: vm_manager.cc:77
APBootFlow
Definition: ap_boot_flow.h:20
GpuMode
Definition: gpu_mode.h:26
uint8_t type
Definition: pairing_connection.h:0
Definition: cuttlefish_config.h:99
int dpi
Definition: cuttlefish_config.h:102
std::string overlays
Definition: cuttlefish_config.h:104
int refresh_rate_hz
Definition: cuttlefish_config.h:103
int height
Definition: cuttlefish_config.h:101
int width
Definition: cuttlefish_config.h:100
std::string input_path
Definition: cuttlefish_config.h:129
std::string input_fps
Definition: cuttlefish_config.h:132
Definition: cuttlefish_config.h:124
std::optional< V4l2StreamProxyConfig > v4l2_stream_proxy
Definition: cuttlefish_config.h:134
MediaType type
Definition: cuttlefish_config.h:125
std::string lens_facing
Definition: cuttlefish_config.h:126
Definition: cuttlefish_config.h:107
int width
Definition: cuttlefish_config.h:108
static TouchpadConfig Deserialize(const Json::Value &config_json)
Definition: cuttlefish_config_instance.cpp:1306
int height
Definition: cuttlefish_config.h:109
static Json::Value Serialize(const CuttlefishConfig::TouchpadConfig &config)
Definition: cuttlefish_config_instance.cpp:1297