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 <vector>
27
41
42namespace Json {
43class Value;
44}
45
46namespace cuttlefish {
47
48// Holds the configuration of the cuttlefish instances.
50 public:
51 static const CuttlefishConfig* Get();
52 static std::unique_ptr<const CuttlefishConfig> GetFromFile(
53 const std::string& path);
54 static bool ConfigExists();
55
60
61 // Saves the configuration object in a file, it can then be read in other
62 // processes by passing the --config_file option.
63 bool SaveToFile(const std::string& file) const;
64 bool LoadFromFile(const char* file);
65
66 bool SaveFragment(const ConfigFragment&);
67 bool LoadFragment(ConfigFragment&) const;
68
69 std::string root_dir() const;
70 void set_root_dir(const std::string& root_dir);
71
72 std::string instances_dir() const;
73 std::string InstancesPath(const std::string&) const;
74
75 std::string assembly_dir() const;
76 std::string AssemblyPath(const std::string&) const;
77
78 void set_instances_uds_dir(const std::string&);
79 std::string instances_uds_dir() const;
80 std::string InstancesUdsPath(const std::string&) const;
81
82 void set_environments_dir(const std::string&);
83 std::string environments_dir() const;
84 std::string EnvironmentsPath(const std::string&) const;
85
86 void set_environments_uds_dir(const std::string&);
87 std::string environments_uds_dir() const;
88 std::string EnvironmentsUdsPath(const std::string&) const;
89
90 VmmMode vm_manager() const;
91 void set_vm_manager(VmmMode vmm);
92
93 std::string ap_vm_manager() const;
94 void set_ap_vm_manager(const std::string& name);
95
97 int width;
98 int height;
99 int dpi;
101 std::string overlays;
102 };
103
105 int width;
107
108 static Json::Value Serialize(
110 static TouchpadConfig Deserialize(const Json::Value& config_json);
111 };
112
113 void set_secure_hals(const std::set<SecureHal>&);
115
116 void set_crosvm_binary(const std::string& crosvm_binary);
117 std::string crosvm_binary() const;
118
119 void set_gem5_debug_flags(const std::string& gem5_debug_flags);
120 std::string gem5_debug_flags() const;
121
123 bool enable_host_uwb() const;
124
126 bool enable_host_uwb_connector() const;
127
129 bool enable_host_bluetooth() const;
130
132 bool enable_automotive_proxy() const;
133
134 // The vsock port used by vhal_proxy_server
135 void set_vhal_proxy_server_port(int port);
136 int vhal_proxy_server_port() const;
137
138 // Bluetooth is enabled by bt_connector and rootcanal
141
143 bool enable_host_nfc() const;
144
146 bool enable_host_nfc_connector() const;
147
148 void set_casimir_args(const std::string& casimir_args);
149 std::vector<std::string> casimir_args() const;
151 int casimir_instance_num() const;
152 void set_casimir_nci_port(int port);
153 int casimir_nci_port() const;
154 void set_casimir_rf_port(int port);
155 int casimir_rf_port() const;
156
157 // Flags for the set of radios that are connected to netsim
159 Bluetooth = 0b00000001,
160 Wifi = 0b00000010,
161 Uwb = 0b00000100,
162 };
163
165 bool netsim_radio_enabled(NetsimRadio flag) const;
167 int netsim_instance_num() const;
168 // Netsim has a built-in connector to forward packets to another daemon based
169 // on instance number. This is set in the serial launch case when FLAGS
170 // rootcanal_instance_num is specified. The non-netsim case uses
171 // bluetooth_connector and rootcanal_hci_port for the same purpose. Purposely
172 // restricted to legacy bluetooth serial invocation because new cases should
173 // use cvd.
176 void set_netsim_args(const std::string& netsim_args);
177 std::vector<std::string> netsim_args() const;
178
179 enum class Answer {
180 kUnknown = 0,
181 kYes,
182 kNo,
183 };
184
185 void set_enable_metrics(std::string enable_metrics);
187
188 void set_metrics_binary(const std::string& metrics_binary);
189 std::string metrics_binary() const;
190
191 void set_extra_kernel_cmdline(const std::string& extra_cmdline);
192 std::vector<std::string> extra_kernel_cmdline() const;
193
194 // The port for the webrtc signaling server proxy.
195 void set_sig_server_proxy_port(int port);
196 int sig_server_proxy_port() const;
197
198 // The address of the signaling server
199 void set_sig_server_address(const std::string& addr);
200 std::string sig_server_address() const;
201
202 // Whether display composition is enabled for one or more displays
203 bool OverlaysEnabled() const;
204
205 void set_host_tools_version(const std::map<std::string, uint32_t>&);
206 std::map<std::string, uint32_t> host_tools_version() const;
207
209 bool virtio_mac80211_hwsim() const;
210
211 void set_ap_rootfs_image(const std::string& ap_rootfs_image);
212 std::string ap_rootfs_image() const;
213
214 void set_ap_kernel_image(const std::string& ap_kernel_image);
215 std::string ap_kernel_image() const;
216
218 int pica_uci_port() const;
219
220 void set_rootcanal_args(const std::string& rootcanal_args);
221 std::vector<std::string> rootcanal_args() const;
222
224 int rootcanal_hci_port() const;
225
227 int rootcanal_link_port() const;
228
230 int rootcanal_link_ble_port() const;
231
233 int rootcanal_test_port() const;
234
235 // The path of an AP image in composite disk
236 std::string ap_image_dev_path() const;
237 void set_ap_image_dev_path(const std::string& dev_path);
238
239 // path to the saved snapshot file(s)
240 std::string snapshot_path() const;
241 void set_snapshot_path(const std::string& snapshot_path);
242
243 std::set<std::string> straced_host_executables() const;
244 void set_straced_host_executables(const std::set<std::string>& executables);
245
246 std::string kvm_path() const;
247 void set_kvm_path(const std::string&);
248
249 std::string vhost_vsock_path() const;
250 void set_vhost_vsock_path(const std::string&);
251
252 bool IsCrosvm() const;
253
254 class InstanceSpecific;
256
257 MutableInstanceSpecific ForInstance(int instance_num);
258 InstanceSpecific ForInstance(int instance_num) const;
259 InstanceSpecific ForInstanceName(const std::string& name) const;
261
262 std::vector<InstanceSpecific> Instances() const;
263 std::vector<std::string> instance_dirs() const;
264
265 void set_instance_names(const std::vector<std::string>& instance_names);
266 std::vector<std::string> instance_names() const;
267
268 // A view into an existing CuttlefishConfig object for a particular instance.
271 std::string id_;
273 friend std::vector<InstanceSpecific> CuttlefishConfig::Instances() const;
274
275 InstanceSpecific(const CuttlefishConfig* config, const std::string& id)
276 : config_(config), id_(id) {}
277
278 Json::Value* Dictionary();
279 const Json::Value* Dictionary() const;
280 public:
281 std::string serial_number() const;
282
283 // Index of this instance within current configured group of VMs
284 int index() const;
285
286 // If any of the following port numbers is 0, the relevant service is not
287 // running on the guest.
288
289 // Port number for qemu to run a vnc server on the host
290 int qemu_vnc_server_port() const;
291 // Port number to connect to the tombstone receiver on the host
292 int tombstone_receiver_port() const;
293 // Port number to connect to the config server on the host
294 int config_server_port() const;
295 // Port number to connect to the audiocontrol server on the guest
296 int audiocontrol_server_port() const;
297 // Port number to connect to the adb server on the host
298 int adb_host_port() const;
299 // Port number to connect to the fastboot server on the host
300 int fastboot_host_port() const;
301 // Device-specific ID to distinguish modem simulators. Must be 4 digits.
302 int modem_simulator_host_id() const;
303 // Port number to connect to the gnss grpc proxy server on the host
304 int gnss_grpc_proxy_server_port() const;
305 std::string adb_ip_and_port() const;
306 // Port number to connect to the camera hal on the guest
307 int camera_server_port() const;
308 // Port number to connect to the lights hal on the guest
309 int lights_server_port() const;
310
311 std::string adb_device_name() const;
312 std::string gnss_file_path() const;
313 std::string fixed_location_file_path() const;
314 std::string mobile_bridge_name() const;
315 std::string mobile_tap_name() const;
316 std::string mobile_mac() const;
317 std::string wifi_bridge_name() const;
318 std::string wifi_tap_name() const;
319 std::string wifi_mac() const;
320 bool use_bridged_wifi_tap() const;
321 std::string ethernet_tap_name() const;
322 std::string ethernet_bridge_name() const;
323 std::string ethernet_mac() const;
324 std::string ethernet_ipv6() const;
325 uint32_t session_id() const;
326 bool use_allocd() const;
327 bool use_cvdalloc() const;
328 int vsock_guest_cid() const;
329 std::string vsock_guest_group() const;
330 std::string uuid() const;
331 std::string instance_name() const;
332 std::string environment_name() const;
333 std::vector<std::string> virtual_disk_paths() const;
334
335 // Returns the path to a file with the given name in the instance
336 // directory..
337 std::string PerInstancePath(const std::string& file_name) const;
338 std::string PerInstanceInternalPath(const std::string& file_name) const;
339 std::string PerInstanceLogPath(const std::string& file_name) const;
340
341 std::string CrosvmSocketPath() const;
342 std::string OpenwrtCrosvmSocketPath() const;
343 std::string instance_dir() const;
344
345 std::string instance_internal_dir() const;
346
347 // Return the Unix domain socket path with given name. Because the
348 // length limitation of Unix domain socket name, it needs to be in
349 // the another directory than normal Instance path.
350 std::string PerInstanceUdsPath(const std::string& file_name) const;
351 std::string PerInstanceInternalUdsPath(const std::string& file_name) const;
352 std::string PerInstanceGrpcSocketPath(const std::string& socket_name) const;
353
354 std::string instance_uds_dir() const;
355
356 std::string instance_internal_uds_dir() const;
357
358 std::string touch_socket_path(int touch_dev_idx) const;
359 std::string mouse_socket_path() const;
360 std::string gamepad_socket_path() const;
361 std::string rotary_socket_path() const;
362 std::string keyboard_socket_path() const;
363 std::string switches_socket_path() const;
364
365 std::string access_kregistry_path() const;
366
367 std::string hwcomposer_pmem_path() const;
368
369 std::string pstore_path() const;
370
371 std::string pflash_path() const;
372
373 std::string console_path() const;
374
375 std::string logcat_path() const;
376
377 std::string kernel_log_pipe_name() const;
378
379 std::string console_pipe_prefix() const;
380 std::string console_in_pipe_name() const;
381 std::string console_out_pipe_name() const;
382
383 std::string gnss_pipe_prefix() const;
384 std::string gnss_in_pipe_name() const;
385 std::string gnss_out_pipe_name() const;
386
387 std::string logcat_pipe_name() const;
388 std::string restore_adbd_pipe_name() const;
389
390 std::string launcher_log_path() const;
391
392 std::string launcher_monitor_socket_path() const;
393
394 std::string sdcard_path() const;
395 std::string sdcard_overlay_path() const;
396
397 std::string persistent_composite_disk_path() const;
398 std::string persistent_composite_overlay_path() const;
399 std::string persistent_ap_composite_disk_path() const;
400 std::string persistent_ap_composite_overlay_path() const;
401
402 std::string os_composite_disk_path() const;
403
404 std::string ap_composite_disk_path() const;
405
406 std::string uboot_env_image_path() const;
407
408 std::string ap_uboot_env_image_path() const;
409
410 std::string ap_esp_image_path() const;
411
412 std::string esp_image_path() const;
413
414 std::string otheros_esp_grub_config() const;
415
416 std::string ap_esp_grub_config() const;
417
418 std::string audio_server_path() const;
419
420 BootFlow boot_flow() const;
421
422 // modem simulator related
423 std::string modem_simulator_ports() const;
424
425 // The device id the webrtc process should use to register with the
426 // signaling server
427 std::string webrtc_device_id() const;
428
429 // Whether this instance should start a rootcanal instance
430 bool start_rootcanal() const;
431
432 // Whether this instance should start a casimir instance
433 bool start_casimir() const;
434
435 // Whether this instance should start a pica instance
436 bool start_pica() const;
437
438 // Whether this instance should start a netsim instance
439 bool start_netsim() const;
440
441 // TODO(b/288987294) Remove this when separating environment is done
442 // Whether this instance should start a wmediumd instance
443 bool start_wmediumd_instance() const;
444
445 const Json::Value& mcu() const;
446
447 APBootFlow ap_boot_flow() const;
448
449 bool crosvm_use_balloon() const;
450 bool crosvm_use_rng() const;
451 bool crosvm_simple_media_device() const;
452 std::string crosvm_v4l2_proxy() const;
453 bool use_pmem() const;
454
455 // Wifi MAC address inside the guest
456 int wifi_mac_prefix() const;
457
458 std::string id() const;
459
460 std::string gem5_binary_dir() const;
461
462 std::string gem5_checkpoint_dir() const;
463
464 // Serial console
465 bool console() const;
466 std::string console_dev() const;
467 bool enable_sandbox() const;
468 bool enable_virtiofs() const;
469
470 // KGDB configuration for kernel debugging
471 bool kgdb() const;
472
473 // TODO (b/163575714) add virtio console support to the bootloader so the
474 // virtio console path for the console device can be taken again. When that
475 // happens, this function can be deleted along with all the code paths it
476 // forces.
477 bool use_bootloader() const;
478
479 DeviceType device_type() const;
480
481 Arch target_arch() const;
482
483 int cpus() const;
484
485 std::string vcpu_config_path() const;
486
487 std::string data_policy() const;
488
489 int blank_data_image_mb() const;
490
491 int gdb_port() const;
492
493 std::vector<DisplayConfig> display_configs() const;
494 std::vector<TouchpadConfig> touchpad_configs() const;
495
496 std::string grpc_socket_path() const;
497 int memory_mb() const;
498 int ddr_mem_mb() const;
499 std::string setupwizard_mode() const;
500 std::string userdata_format() const;
501 bool guest_enforce_security() const;
502 bool use_sdcard() const;
503 bool pause_in_bootloader() const;
504 bool run_as_daemon() const;
505 bool enable_audio() const;
506 bool enable_mouse() const;
507 bool enable_gamepad() const;
508 std::optional<std::string> custom_keyboard_config() const;
509 const Json::Value& domkey_mapping_config() const;
510 bool enable_gnss_grpc_proxy() const;
511 bool enable_bootanimation() const;
512 bool enable_usb() const;
513 std::vector<std::string> extra_bootconfig_args() const;
514 bool record_screen() const;
515 std::string gem5_debug_file() const;
516 bool mte() const;
517 std::string boot_slot() const;
518 bool fail_fast() const;
519 bool vhost_user_block() const;
520 std::string ti50_emulator() const;
521 bool enable_jcard_simulator() const;
522
523 // Kernel and bootloader logging
524 bool enable_kernel_log() const;
525 bool vhost_net() const;
526 bool vhost_user_vsock() const;
527 int openthread_node_id() const;
528
529 // Mobile network info (RIL)
530 std::string ril_dns() const;
531 std::string ril_ipaddr() const;
532 std::string ril_gateway() const;
533 std::string ril_broadcast() const;
534 uint8_t ril_prefixlen() const;
535
536 std::string webrtc_assets_dir() const;
537
538 // The range of TCP ports available for webrtc sessions.
539 std::pair<uint16_t, uint16_t> webrtc_tcp_port_range() const;
540
541 // The range of UDP ports available for webrtc sessions.
542 std::pair<uint16_t, uint16_t> webrtc_udp_port_range() const;
543
544 bool smt() const;
545 std::string crosvm_binary() const;
546 std::string seccomp_policy_dir() const;
547 std::string qemu_binary_dir() const;
548
549 // Configuration flags for a minimal device
550 bool enable_minimal_mode() const;
551 bool enable_modem_simulator() const;
553 int modem_simulator_sim_type() const;
554
555 std::string gpu_mode() const;
556 std::string gpu_angle_feature_overrides_enabled() const;
557 std::string gpu_angle_feature_overrides_disabled() const;
558 std::string gpu_capture_binary() const;
559 std::string gpu_gfxstream_transport() const;
560 std::string gpu_renderer_features() const;
561 std::string gpu_context_types() const;
564 std::string guest_vulkan_driver() const;
565 bool guest_uses_bgra_framebuffers() const;
566 std::string frames_socket_path() const;
567
568 std::string gpu_vhost_user_mode() const;
569
570 bool enable_gpu_udmabuf() const;
571 bool enable_gpu_vhost_user() const;
572 bool enable_gpu_external_blob() const;
573 bool enable_gpu_system_blob() const;
574
575 std::string hwcomposer() const;
576
577 bool restart_subprocesses() const;
578
579 // android artifacts
580 std::string boot_image() const;
581 std::string new_boot_image() const;
582 std::string init_boot_image() const;
583 std::string data_image() const;
584 std::string new_data_image() const;
585 std::string super_image() const;
586 std::string new_super_image() const;
587 std::string vendor_boot_image() const;
588 std::string new_vendor_boot_image() const;
589 std::string vbmeta_image() const;
590 std::string new_vbmeta_image() const;
591 std::string vbmeta_system_image() const;
592 std::string vbmeta_vendor_dlkm_image() const;
593 std::string new_vbmeta_vendor_dlkm_image() const;
594 std::string vbmeta_system_dlkm_image() const;
595 std::string new_vbmeta_system_dlkm_image() const;
596 std::string vvmtruststore_path() const;
597 std::string default_target_zip() const;
598 std::string system_target_zip() const;
599
600 // otheros artifacts
601 std::string otheros_esp_image() const;
602
603 // android efi loader flow
604 std::string android_efi_loader() const;
605
606 // chromeos artifacts for otheros flow
607 std::string chromeos_disk() const;
608 std::string chromeos_kernel_path() const;
609 std::string chromeos_root_image() const;
610
611 // linux artifacts for otheros flow
612 std::string linux_kernel_path() const;
613 std::string linux_initramfs_path() const;
614 std::string linux_root_image() const;
615
616 std::string fuchsia_zedboot_path() const;
617 std::string fuchsia_multiboot_bin_path() const;
618 std::string fuchsia_root_image() const;
619
620 std::string custom_partition_path() const;
621
622 int blank_sdcard_image_mb() const;
623 std::string bootloader() const;
624 std::string initramfs_path() const;
625 std::string kernel_path() const;
626 std::string guest_android_version() const;
627 bool bootconfig_supported() const;
628 std::string filename_encryption_mode() const;
630
631 bool start_vhal_proxy_server() const;
632
633 int audio_output_streams_count() const;
634
635 bool enable_tap_devices() const;
636 };
637
638 // A view into an existing CuttlefishConfig object for a particular instance.
641 std::string id_;
643
644 MutableInstanceSpecific(CuttlefishConfig* config, const std::string& id);
645
646 Json::Value* Dictionary();
647 public:
648 void set_serial_number(const std::string& serial_number);
649 void set_qemu_vnc_server_port(int qemu_vnc_server_port);
650 void set_tombstone_receiver_port(int tombstone_receiver_port);
651 void set_config_server_port(int config_server_port);
652 void set_frames_server_port(int config_server_port);
653 void set_touch_server_port(int config_server_port);
654 void set_keyboard_server_port(int config_server_port);
655 void set_gatekeeper_vsock_port(int gatekeeper_vsock_port);
656 void set_keymaster_vsock_port(int keymaster_vsock_port);
657 void set_audiocontrol_server_port(int audiocontrol_server_port);
658 void set_lights_server_port(int lights_server_port);
659 void set_adb_host_port(int adb_host_port);
660 void set_modem_simulator_host_id(int modem_simulator_id);
661 void set_adb_ip_and_port(const std::string& ip_port);
662 void set_fastboot_host_port(int fastboot_host_port);
663 void set_camera_server_port(int camera_server_port);
664 void set_mobile_bridge_name(const std::string& mobile_bridge_name);
665 void set_mobile_tap_name(const std::string& mobile_tap_name);
666 void set_mobile_mac(const std::string& mac);
667 void set_wifi_bridge_name(const std::string& wifi_bridge_name);
668 void set_wifi_tap_name(const std::string& wifi_tap_name);
669 void set_wifi_mac(const std::string& mac);
670 void set_use_bridged_wifi_tap(bool use_bridged_wifi_tap);
671 void set_ethernet_tap_name(const std::string& ethernet_tap_name);
672 void set_ethernet_bridge_name(const std::string& set_ethernet_bridge_name);
673 void set_ethernet_mac(const std::string& mac);
674 void set_ethernet_ipv6(const std::string& ip);
675 void set_session_id(uint32_t session_id);
676 void set_use_allocd(bool use_allocd);
677 void set_use_cvdalloc(bool use_cvdalloc);
678 void set_vsock_guest_cid(int vsock_guest_cid);
679 void set_vsock_guest_group(const std::string& vsock_guest_group);
680 void set_uuid(const std::string& uuid);
681 void set_environment_name(const std::string& env_name);
682 // modem simulator related
683 void set_modem_simulator_ports(const std::string& modem_simulator_ports);
684 void set_virtual_disk_paths(const std::vector<std::string>& disk_paths);
685 void set_webrtc_device_id(const std::string& id);
686 void set_start_rootcanal(bool start);
687 void set_start_casimir(bool start);
688 void set_start_pica(bool start);
689 void set_start_netsim(bool start);
690 // TODO(b/288987294) Remove this when separating environment is done
691 void set_start_wmediumd_instance(bool start);
692 void set_mcu(const Json::Value &cfg);
693 void set_ap_boot_flow(APBootFlow flow);
694 void set_crosvm_use_balloon(const bool use_balloon);
695 void set_crosvm_use_rng(const bool use_rng);
696 void set_crosvm_simple_media_device(const bool simple_media_device);
697 void set_crosvm_v4l2_proxy(const std::string v4l2_proxy);
698 void set_use_pmem(const bool use_pmem);
699 // Wifi MAC address inside the guest
700 void set_wifi_mac_prefix(const int wifi_mac_prefix);
701 // Gnss grpc proxy server port inside the host
702 void set_gnss_grpc_proxy_server_port(int gnss_grpc_proxy_server_port);
703 // Gnss grpc proxy local file path
704 void set_gnss_file_path(const std::string &gnss_file_path);
706 const std::string& fixed_location_file_path);
707 void set_gem5_binary_dir(const std::string& gem5_binary_dir);
708 void set_gem5_checkpoint_dir(const std::string& gem5_checkpoint_dir);
709 // Serial console
710 void set_console(bool console);
711 void set_enable_sandbox(const bool enable_sandbox);
712 void set_enable_virtiofs(const bool enable_virtiofs);
713 void set_kgdb(bool kgdb);
715 void set_target_arch(Arch target_arch);
716 void set_cpus(int cpus);
717 void set_vcpu_config_path(const std::string& vcpu_config_path);
718 void set_data_policy(const std::string& data_policy);
719 void set_blank_data_image_mb(int blank_data_image_mb);
720 void set_gdb_port(int gdb_port);
721 void set_display_configs(const std::vector<DisplayConfig>& display_configs);
723 const std::vector<TouchpadConfig>& touchpad_configs);
724 void set_memory_mb(int memory_mb);
725 void set_ddr_mem_mb(int ddr_mem_mb);
726 Result<void> set_setupwizard_mode(const std::string& mode);
727 void set_userdata_format(const std::string& userdata_format);
728 void set_guest_enforce_security(bool guest_enforce_security);
729 void set_use_sdcard(bool use_sdcard);
730 void set_pause_in_bootloader(bool pause_in_bootloader);
731 void set_run_as_daemon(bool run_as_daemon);
732 void set_enable_audio(bool enable);
733 void set_enable_mouse(bool enable);
734 void set_enable_gamepad(bool enable);
736 const std::string& custom_keyboard_config_json_path);
738 const std::string& domkey_mapping_config_json_path);
739 void set_enable_usb(bool enable);
740 void set_enable_gnss_grpc_proxy(const bool enable_gnss_grpc_proxy);
741 void set_enable_bootanimation(const bool enable_bootanimation);
742 void set_extra_bootconfig_args(const std::string& extra_bootconfig_args);
743 void set_record_screen(bool record_screen);
744 void set_gem5_debug_file(const std::string& gem5_debug_file);
745 void set_mte(bool mte);
746 void set_boot_slot(const std::string& boot_slot);
747 void set_grpc_socket_path(const std::string& socket_path);
748 void set_fail_fast(bool fail_fast);
749 void set_vhost_user_block(bool qemu_vhost_user_block);
750 void set_ti50_emulator(const std::string& ti50_emulator);
751 // jcardsimulator
752 void set_enable_jcard_simulator(bool enable);
753
754 // Kernel and bootloader logging
755 void set_enable_kernel_log(bool enable_kernel_log);
756
757 void set_webrtc_assets_dir(const std::string& webrtc_assets_dir);
758
759 // The range of TCP ports available for webrtc sessions.
760 void set_webrtc_tcp_port_range(std::pair<uint16_t, uint16_t> range);
761
762 // The range of UDP ports available for webrtc sessions.
763 void set_webrtc_udp_port_range(std::pair<uint16_t, uint16_t> range);
764
765 void set_smt(bool smt);
766 void set_crosvm_binary(const std::string& crosvm_binary);
767 void set_seccomp_policy_dir(const std::string& seccomp_policy_dir);
768 void set_qemu_binary_dir(const std::string& qemu_binary_dir);
769
770 void set_vhost_net(bool vhost_net);
771 void set_vhost_user_vsock(bool vhost_user_vsock);
772
773 void set_openthread_node_id(int node_id);
774
775 // Mobile network (RIL)
776 void set_ril_dns(const std::string& ril_dns);
777 void set_ril_ipaddr(const std::string& ril_ipaddr);
778 void set_ril_gateway(const std::string& ril_gateway);
779 void set_ril_broadcast(const std::string& ril_broadcast);
780 void set_ril_prefixlen(uint8_t ril_prefixlen);
781
782 // Configuration flags for a minimal device
783 void set_enable_minimal_mode(bool enable_minimal_mode);
784 void set_enable_modem_simulator(bool enable_modem_simulator);
785 void set_modem_simulator_instance_number(int instance_numbers);
786 void set_modem_simulator_sim_type(int sim_type);
787
788 void set_gpu_mode(const std::string& name);
789 void set_gpu_angle_feature_overrides_enabled(const std::string& overrides);
790 void set_gpu_angle_feature_overrides_disabled(const std::string& overrides);
791 void set_gpu_capture_binary(const std::string&);
792 void set_gpu_gfxstream_transport(const std::string& transport);
793 void set_gpu_renderer_features(const std::string& features);
794 void set_gpu_context_types(const std::string& context_types);
797 void set_guest_vulkan_driver(const std::string& driver);
798 void set_guest_uses_bgra_framebuffers(bool uses_bgra);
799 void set_frames_socket_path(const std::string& frame_socket_path);
800
801 void set_enable_gpu_udmabuf(const bool enable_gpu_udmabuf);
802 void set_enable_gpu_vhost_user(const bool enable_gpu_vhost_user);
803 void set_enable_gpu_external_blob(const bool enable_gpu_external_blob);
804 void set_enable_gpu_system_blob(const bool enable_gpu_system_blob);
805
806 void set_hwcomposer(const std::string&);
807
808 void set_restart_subprocesses(bool restart_subprocesses);
809
810 // system image files
811 void set_boot_image(const std::string& boot_image);
812 void set_new_boot_image(const std::string& new_boot_image);
813 void set_init_boot_image(const std::string& init_boot_image);
814 void set_data_image(const std::string& data_image);
815 void set_new_data_image(const std::string& new_data_image);
816 void set_super_image(const std::string& super_image);
817 void set_new_super_image(const std::string& super_image);
818 void set_vendor_boot_image(const std::string& vendor_boot_image);
819 void set_new_vendor_boot_image(const std::string& new_vendor_boot_image);
820 void set_vbmeta_image(const std::string& vbmeta_image);
821 void set_new_vbmeta_image(const std::string& new_vbmeta_image);
822 void set_vbmeta_system_image(const std::string& vbmeta_system_image);
824 const std::string& vbmeta_vendor_dlkm_image);
826 const std::string& vbmeta_vendor_dlkm_image);
828 const std::string& vbmeta_system_dlkm_image);
830 const std::string& vbmeta_system_dlkm_image);
831 void set_vvmtruststore_path(const std::string& vvmtruststore_path);
832 void set_default_target_zip(const std::string& default_target_zip);
833 void set_system_target_zip(const std::string& system_target_zip);
834 void set_otheros_esp_image(const std::string& otheros_esp_image);
835 void set_android_efi_loader(const std::string& android_efi_loader);
836 void set_chromeos_disk(const std::string& chromeos_disk);
837 void set_chromeos_kernel_path(const std::string& chromeos_kernel_path);
838 void set_chromeos_root_image(const std::string& chromeos_root_image);
839 void set_linux_kernel_path(const std::string& linux_kernel_path);
840 void set_linux_initramfs_path(const std::string& linux_initramfs_path);
841 void set_linux_root_image(const std::string& linux_root_image);
842 void set_fuchsia_zedboot_path(const std::string& fuchsia_zedboot_path);
843 void set_fuchsia_multiboot_bin_path(const std::string& fuchsia_multiboot_bin_path);
844 void set_fuchsia_root_image(const std::string& fuchsia_root_image);
845 void set_custom_partition_path(const std::string& custom_partition_path);
846 void set_blank_sdcard_image_mb(int blank_sdcard_image_mb);
847 void set_bootloader(const std::string& bootloader);
848 void set_initramfs_path(const std::string& initramfs_path);
849 void set_kernel_path(const std::string& kernel_path);
850 void set_guest_android_version(const std::string& guest_android_version);
851 void set_bootconfig_supported(bool bootconfig_supported);
852 void set_filename_encryption_mode(const std::string& filename_encryption_mode);
854
855 // Whether we should start vhal_proxy_server for the guest-side VHAL to
856 // connect to.
857 void set_start_vhal_proxy_server(bool start_vhal_proxy_server);
858
859 void set_audio_output_streams_count(int count);
860
861 void set_enable_tap_devices(bool);
862
863 private:
864 void SetPath(const std::string& key, const std::string& path);
865 };
866
869
870 MutableEnvironmentSpecific ForEnvironment(const std::string& envName);
871 EnvironmentSpecific ForEnvironment(const std::string& envName) const;
872
875
876 std::vector<std::string> environment_dirs() const;
877
880 const std::string&) const;
882
884 std::string envName_;
885
887 const std::string& envName)
888 : config_(config), envName_(envName) {}
889
890 Json::Value* Dictionary();
891 const Json::Value* Dictionary() const;
892
893 public:
894 std::string environment_name() const;
895
896 std::string environment_uds_dir() const;
897 std::string PerEnvironmentUdsPath(const std::string& file_name) const;
898
899 std::string environment_dir() const;
900 std::string PerEnvironmentPath(const std::string& file_name) const;
901
902 std::string PerEnvironmentLogPath(const std::string& file_name) const;
903
905 const std::string& file_name) const;
906
907 std::string control_socket_path() const;
908 std::string launcher_log_path() const;
909
910 std::string casimir_nci_socket_path() const;
911 std::string casimir_rf_socket_path() const;
912
913 // wmediumd related configs
914 bool enable_wifi() const;
915 bool start_wmediumd() const;
916 std::string vhost_user_mac80211_hwsim() const;
917 std::string wmediumd_api_server_socket() const;
918 std::string wmediumd_config() const;
919 int wmediumd_mac_prefix() const;
920 int group_uuid() const;
921 };
922
925 const std::string&);
927
929 std::string envName_;
930
932 const std::string& envName)
933 : config_(config), envName_(envName) {}
934
935 Json::Value* Dictionary();
936
937 public:
938 // wmediumd related configs
939 void set_enable_wifi(const bool enable_wifi);
940 void set_start_wmediumd(bool start);
941 void set_vhost_user_mac80211_hwsim(const std::string& path);
942 void set_wmediumd_api_server_socket(const std::string& path);
943 void set_wmediumd_config(const std::string& config_path);
944 void set_wmediumd_mac_prefix(int mac_prefix);
945
946 void set_group_uuid(const int group_uuid);
947 };
948
949 private:
950 std::unique_ptr<Json::Value> dictionary_;
951
952 static CuttlefishConfig* BuildConfigImpl(const std::string& path);
953
956};
957
958// Whether the instance is restored from a snapshot. Stays true until the device
959// reboots.
960// When the device is booting, the config init function checks if
961// "FLAGS_snapshot_path" is not empty, and if it isn't empty, a file called
962// "restore" will be created to keep track of the restore.
963// This is necessary because we don't want to
964// modify the config when the device boots, however we also want to only restore
965// once. Tracking via "restore" is necessary as a bug existed when checking if
966// "snapshot_path" existed during boot, where a restart or a powerwash of the
967// device would actually perform a restore instead of their respective actions.
968bool IsRestoring(const CuttlefishConfig&);
969
970} // namespace cuttlefish
971
Definition: expected.h:86
Definition: config_fragment.h:24
Definition: cuttlefish_config.h:878
EnvironmentSpecific(const CuttlefishConfig *config, const std::string &envName)
Definition: cuttlefish_config.h:886
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:884
int wmediumd_mac_prefix() const
Definition: cuttlefish_config_environment.cpp:152
const CuttlefishConfig * config_
Definition: cuttlefish_config.h:883
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:269
bool crosvm_simple_media_device() const
Definition: cuttlefish_config_instance.cpp:1845
std::string rotary_socket_path() const
Definition: cuttlefish_config_instance.cpp:1890
std::vector< TouchpadConfig > touchpad_configs() const
Definition: cuttlefish_config_instance.cpp:1261
std::string chromeos_disk() const
Definition: cuttlefish_config_instance.cpp:253
std::string uboot_env_image_path() const
Definition: cuttlefish_config_instance.cpp:1431
std::string instance_dir() const
Definition: cuttlefish_config_instance.cpp:76
uint8_t ril_prefixlen() const
Definition: cuttlefish_config_instance.cpp:1198
bool start_rootcanal() const
Definition: cuttlefish_config_instance.cpp:1767
std::string seccomp_policy_dir() const
Definition: cuttlefish_config_instance.cpp:1120
bool enable_mouse() const
Definition: cuttlefish_config_instance.cpp:871
std::string serial_number() const
Definition: cuttlefish_config_instance.cpp:392
int index() const
Definition: cuttlefish_config_instance.cpp:400
std::string data_policy() const
Definition: cuttlefish_config_instance.cpp:570
int adb_host_port() const
Definition: cuttlefish_config_instance.cpp:1662
bool restart_subprocesses() const
Definition: cuttlefish_config_instance.cpp:809
bool crosvm_use_rng() const
Definition: cuttlefish_config_instance.cpp:1836
int wifi_mac_prefix() const
Definition: cuttlefish_config_instance.cpp:1913
std::string persistent_ap_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1410
int audio_output_streams_count() const
Definition: cuttlefish_config_instance.cpp:1935
std::string new_vbmeta_system_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:228
std::string ril_broadcast() const
Definition: cuttlefish_config_instance.cpp:1189
std::string sdcard_overlay_path() const
Definition: cuttlefish_config_instance.cpp:1396
std::string guest_android_version() const
Definition: cuttlefish_config_instance.cpp:430
bool start_wmediumd_instance() const
Definition: cuttlefish_config_instance.cpp:1802
bool record_screen() const
Definition: cuttlefish_config_instance.cpp:967
int openthread_node_id() const
Definition: cuttlefish_config_instance.cpp:1145
std::string initramfs_path() const
Definition: cuttlefish_config_instance.cpp:349
std::string webrtc_assets_dir() const
Definition: cuttlefish_config_instance.cpp:1043
std::string custom_partition_path() const
Definition: cuttlefish_config_instance.cpp:329
std::string kernel_path() const
Definition: cuttlefish_config_instance.cpp:357
std::string new_boot_image() const
Definition: cuttlefish_config_instance.cpp:111
std::string vsock_guest_group() const
Definition: cuttlefish_config_instance.cpp:1627
std::string gnss_file_path() const
Definition: cuttlefish_config_instance.cpp:508
std::string vbmeta_image() const
Definition: cuttlefish_config_instance.cpp:175
int vsock_guest_cid() const
Definition: cuttlefish_config_instance.cpp:1618
std::string OpenwrtCrosvmSocketPath() const
Definition: cuttlefish_config_instance.cpp:1656
bool enable_jcard_simulator() const
Definition: cuttlefish_config_instance.cpp:1035
std::string persistent_ap_composite_overlay_path() const
Definition: cuttlefish_config_instance.cpp:1416
int config_server_port() const
Definition: cuttlefish_config_instance.cpp:1729
std::string id() const
Definition: cuttlefish_config_instance.cpp:1993
int ddr_mem_mb() const
Definition: cuttlefish_config_instance.cpp:600
bool enable_bootanimation() const
Definition: cuttlefish_config_instance.cpp:926
std::string touch_socket_path(int touch_dev_idx) const
Definition: cuttlefish_config_instance.cpp:1876
bool mte() const
Definition: cuttlefish_config_instance.cpp:983
std::string userdata_format() const
Definition: cuttlefish_config_instance.cpp:620
std::string kernel_log_pipe_name() const
Definition: cuttlefish_config_instance.cpp:469
std::string gpu_mode() const
Definition: cuttlefish_config_instance.cpp:700
std::string esp_image_path() const
Definition: cuttlefish_config_instance.cpp:1439
std::vector< std::string > virtual_disk_paths() const
Definition: cuttlefish_config_instance.cpp:412
std::string console_pipe_prefix() const
Definition: cuttlefish_config_instance.cpp:473
std::string console_path() const
Definition: cuttlefish_config_instance.cpp:1366
std::string ril_dns() const
Definition: cuttlefish_config_instance.cpp:1162
std::string crosvm_v4l2_proxy() const
Definition: cuttlefish_config_instance.cpp:1854
std::string persistent_composite_overlay_path() const
Definition: cuttlefish_config_instance.cpp:1406
bool vhost_net() const
Definition: cuttlefish_config_instance.cpp:1137
std::string init_boot_image() const
Definition: cuttlefish_config_instance.cpp:119
bool use_sdcard() const
Definition: cuttlefish_config_instance.cpp:641
const Json::Value & mcu() const
Definition: cuttlefish_config_instance.cpp:1810
std::string default_target_zip() const
Definition: cuttlefish_config_instance.cpp:375
ExternalNetworkMode external_network_mode() const
Definition: cuttlefish_config_instance.cpp:459
int gdb_port() const
Definition: cuttlefish_config_instance.cpp:587
bool start_pica() const
Definition: cuttlefish_config_instance.cpp:1784
bool run_as_daemon() const
Definition: cuttlefish_config_instance.cpp:654
std::string PerInstanceInternalPath(const std::string &file_name) const
Definition: cuttlefish_config_instance.cpp:1944
std::string ap_uboot_env_image_path() const
Definition: cuttlefish_config_instance.cpp:1435
std::string android_efi_loader() const
Definition: cuttlefish_config_instance.cpp:245
std::string mobile_tap_name() const
Definition: cuttlefish_config_instance.cpp:1501
std::string ethernet_mac() const
Definition: cuttlefish_config_instance.cpp:1573
std::string linux_initramfs_path() const
Definition: cuttlefish_config_instance.cpp:285
std::string hwcomposer_pmem_path() const
Definition: cuttlefish_config_instance.cpp:1354
std::string ethernet_tap_name() const
Definition: cuttlefish_config_instance.cpp:1555
bool console() const
Definition: cuttlefish_config_instance.cpp:1317
bool enable_tap_devices() const
Definition: cuttlefish_config_instance.cpp:1872
std::string adb_ip_and_port() const
Definition: cuttlefish_config_instance.cpp:1687
std::string super_image() const
Definition: cuttlefish_config_instance.cpp:143
std::string gpu_capture_binary() const
Definition: cuttlefish_config_instance.cpp:732
std::string gem5_binary_dir() const
Definition: cuttlefish_config_instance.cpp:527
int memory_mb() const
Definition: cuttlefish_config_instance.cpp:592
int blank_data_image_mb() const
Definition: cuttlefish_config_instance.cpp:579
std::string boot_slot() const
Definition: cuttlefish_config_instance.cpp:999
std::string wifi_tap_name() const
Definition: cuttlefish_config_instance.cpp:1519
std::string chromeos_root_image() const
Definition: cuttlefish_config_instance.cpp:269
std::string environment_name() const
Definition: cuttlefish_config_instance.cpp:1644
bool enable_kernel_log() const
Definition: cuttlefish_config_instance.cpp:991
std::string ethernet_bridge_name() const
Definition: cuttlefish_config_instance.cpp:1564
std::string crosvm_binary() const
Definition: cuttlefish_config_instance.cpp:1096
std::string data_image() const
Definition: cuttlefish_config_instance.cpp:127
bool kgdb() const
Definition: cuttlefish_config_instance.cpp:548
bool bootconfig_supported() const
Definition: cuttlefish_config_instance.cpp:439
std::string gpu_renderer_features() const
Definition: cuttlefish_config_instance.cpp:750
int fastboot_host_port() const
Definition: cuttlefish_config_instance.cpp:1670
std::string gnss_in_pipe_name() const
Definition: cuttlefish_config_instance.cpp:489
std::string console_in_pipe_name() const
Definition: cuttlefish_config_instance.cpp:477
std::string chromeos_kernel_path() const
Definition: cuttlefish_config_instance.cpp:261
bool vhost_user_block() const
Definition: cuttlefish_config_instance.cpp:1016
std::string gem5_checkpoint_dir() const
Definition: cuttlefish_config_instance.cpp:536
std::string gpu_angle_feature_overrides_enabled() const
Definition: cuttlefish_config_instance.cpp:710
std::string gpu_context_types() const
Definition: cuttlefish_config_instance.cpp:759
std::string new_data_image() const
Definition: cuttlefish_config_instance.cpp:135
bool smt() const
Definition: cuttlefish_config_instance.cpp:1091
bool start_vhal_proxy_server() const
Definition: cuttlefish_config_instance.cpp:1926
bool vhost_user_vsock() const
Definition: cuttlefish_config_instance.cpp:1154
bool pause_in_bootloader() const
Definition: cuttlefish_config_instance.cpp:649
GuestRendererPreload guest_renderer_preload() const
Definition: cuttlefish_config_instance.cpp:780
std::string filename_encryption_mode() const
Definition: cuttlefish_config_instance.cpp:448
std::string ril_ipaddr() const
Definition: cuttlefish_config_instance.cpp:1171
bool enable_gpu_external_blob() const
Definition: cuttlefish_config_instance.cpp:846
int modem_simulator_sim_type() const
Definition: cuttlefish_config_instance.cpp:695
std::string qemu_binary_dir() const
Definition: cuttlefish_config_instance.cpp:1125
std::string gamepad_socket_path() const
Definition: cuttlefish_config_instance.cpp:1886
std::string mobile_bridge_name() const
Definition: cuttlefish_config_instance.cpp:1492
std::string instance_name() const
Definition: cuttlefish_config_instance.cpp:1989
std::string os_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1421
std::string mobile_mac() const
Definition: cuttlefish_config_instance.cpp:1510
std::string setupwizard_mode() const
Definition: cuttlefish_config_instance.cpp:608
std::string wifi_mac() const
Definition: cuttlefish_config_instance.cpp:1537
int cpus() const
Definition: cuttlefish_config_instance.cpp:554
std::string fuchsia_root_image() const
Definition: cuttlefish_config_instance.cpp:321
std::string new_super_image() const
Definition: cuttlefish_config_instance.cpp:151
bool enable_minimal_mode() const
Definition: cuttlefish_config_instance.cpp:662
std::string vvmtruststore_path() const
Definition: cuttlefish_config_instance.cpp:369
std::string logcat_path() const
Definition: cuttlefish_config_instance.cpp:1370
std::string boot_image() const
Definition: cuttlefish_config_instance.cpp:103
bool use_pmem() const
Definition: cuttlefish_config_instance.cpp:1863
Arch target_arch() const
Definition: cuttlefish_config_instance.cpp:1285
std::string fuchsia_zedboot_path() const
Definition: cuttlefish_config_instance.cpp:305
std::string PerInstanceGrpcSocketPath(const std::string &socket_name) const
Definition: cuttlefish_config_instance.cpp:1969
std::string PerInstanceLogPath(const std::string &file_name) const
Definition: cuttlefish_config_instance.cpp:1979
std::string system_target_zip() const
Definition: cuttlefish_config_instance.cpp:383
GuestHwuiRenderer guest_hwui_renderer() const
Definition: cuttlefish_config_instance.cpp:768
int modem_simulator_instance_number() const
Definition: cuttlefish_config_instance.cpp:685
std::string grpc_socket_path() const
Definition: cuttlefish_config_instance.cpp:1078
std::string fixed_location_file_path() const
Definition: cuttlefish_config_instance.cpp:517
int modem_simulator_host_id() const
Definition: cuttlefish_config_instance.cpp:1678
std::string launcher_monitor_socket_path() const
Definition: cuttlefish_config_instance.cpp:1374
std::string ap_esp_image_path() const
Definition: cuttlefish_config_instance.cpp:1443
std::string otheros_esp_image() const
Definition: cuttlefish_config_instance.cpp:237
std::string webrtc_device_id() const
Definition: cuttlefish_config_instance.cpp:1758
APBootFlow ap_boot_flow() const
Definition: cuttlefish_config_instance.cpp:1818
std::string guest_vulkan_driver() const
Definition: cuttlefish_config_instance.cpp:790
std::string vbmeta_vendor_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:199
std::string console_dev() const
Definition: cuttlefish_config_instance.cpp:1320
bool enable_gnss_grpc_proxy() const
Definition: cuttlefish_config_instance.cpp:921
std::string PerInstanceUdsPath(const std::string &file_name) const
Definition: cuttlefish_config_instance.cpp:1954
std::string console_out_pipe_name() const
Definition: cuttlefish_config_instance.cpp:481
std::string access_kregistry_path() const
Definition: cuttlefish_config_instance.cpp:1350
bool fail_fast() const
Definition: cuttlefish_config_instance.cpp:1007
std::string linux_root_image() const
Definition: cuttlefish_config_instance.cpp:293
std::string vcpu_config_path() const
Definition: cuttlefish_config_instance.cpp:561
std::string modem_simulator_ports() const
Definition: cuttlefish_config_instance.cpp:1380
std::string gnss_pipe_prefix() const
Definition: cuttlefish_config_instance.cpp:485
std::optional< std::string > custom_keyboard_config() const
Definition: cuttlefish_config_instance.cpp:890
bool enable_modem_simulator() const
Definition: cuttlefish_config_instance.cpp:671
std::string gnss_out_pipe_name() const
Definition: cuttlefish_config_instance.cpp:493
bool use_allocd() const
Definition: cuttlefish_config_instance.cpp:1591
std::string wifi_bridge_name() const
Definition: cuttlefish_config_instance.cpp:1528
std::string vendor_boot_image() const
Definition: cuttlefish_config_instance.cpp:159
std::string keyboard_socket_path() const
Definition: cuttlefish_config_instance.cpp:1894
std::string instance_internal_dir() const
Definition: cuttlefish_config_instance.cpp:80
std::string mouse_socket_path() const
Definition: cuttlefish_config_instance.cpp:1882
std::string ap_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1426
int camera_server_port() const
Definition: cuttlefish_config_instance.cpp:1745
std::string linux_kernel_path() const
Definition: cuttlefish_config_instance.cpp:277
std::string ap_esp_grub_config() const
Definition: cuttlefish_config_instance.cpp:1451
std::string gpu_gfxstream_transport() const
Definition: cuttlefish_config_instance.cpp:740
std::string gpu_angle_feature_overrides_disabled() const
Definition: cuttlefish_config_instance.cpp:722
std::string pstore_path() const
Definition: cuttlefish_config_instance.cpp:1358
bool enable_audio() const
Definition: cuttlefish_config_instance.cpp:863
std::string audio_server_path() const
Definition: cuttlefish_config_instance.cpp:1457
std::string pflash_path() const
Definition: cuttlefish_config_instance.cpp:1362
std::string adb_device_name() const
Definition: cuttlefish_config_instance.cpp:1695
bool guest_uses_bgra_framebuffers() const
Definition: cuttlefish_config_instance.cpp:800
bool enable_gamepad() const
Definition: cuttlefish_config_instance.cpp:880
bool enable_sandbox() const
Definition: cuttlefish_config_instance.cpp:1302
std::string vbmeta_system_image() const
Definition: cuttlefish_config_instance.cpp:191
BootFlow boot_flow() const
Definition: cuttlefish_config_instance.cpp:1461
std::string otheros_esp_grub_config() const
Definition: cuttlefish_config_instance.cpp:1447
bool enable_gpu_udmabuf() const
Definition: cuttlefish_config_instance.cpp:828
std::string logcat_pipe_name() const
Definition: cuttlefish_config_instance.cpp:1342
bool start_netsim() const
Definition: cuttlefish_config_instance.cpp:1792
const CuttlefishConfig * config_
Definition: cuttlefish_config.h:270
std::string instance_uds_dir() const
Definition: cuttlefish_config_instance.cpp:84
std::string uuid() const
Definition: cuttlefish_config_instance.cpp:1636
std::string restore_adbd_pipe_name() const
Definition: cuttlefish_config_instance.cpp:1346
const Json::Value & domkey_mapping_config() const
Definition: cuttlefish_config_instance.cpp:912
std::string ethernet_ipv6() const
Definition: cuttlefish_config_instance.cpp:1582
std::string CrosvmSocketPath() const
Definition: cuttlefish_config_instance.cpp:1652
std::string gem5_debug_file() const
Definition: cuttlefish_config_instance.cpp:972
int lights_server_port() const
Definition: cuttlefish_config_instance.cpp:1737
int gnss_grpc_proxy_server_port() const
Definition: cuttlefish_config_instance.cpp:499
std::string vbmeta_system_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:218
std::string ti50_emulator() const
Definition: cuttlefish_config_instance.cpp:1025
bool use_bridged_wifi_tap() const
Definition: cuttlefish_config_instance.cpp:1546
DeviceType device_type() const
Definition: cuttlefish_config_instance.cpp:1294
bool enable_gpu_vhost_user() const
Definition: cuttlefish_config_instance.cpp:837
std::string instance_internal_uds_dir() const
Definition: cuttlefish_config_instance.cpp:88
std::vector< std::string > extra_bootconfig_args() const
Definition: cuttlefish_config_instance.cpp:944
std::string id_
Definition: cuttlefish_config.h:271
std::string PerInstancePath(const std::string &file_name) const
Definition: cuttlefish_config_instance.cpp:1939
std::pair< uint16_t, uint16_t > webrtc_tcp_port_range() const
Definition: cuttlefish_config_instance.cpp:1055
std::pair< uint16_t, uint16_t > webrtc_udp_port_range() const
Definition: cuttlefish_config_instance.cpp:1070
bool enable_usb() const
Definition: cuttlefish_config_instance.cpp:938
std::string new_vendor_boot_image() const
Definition: cuttlefish_config_instance.cpp:167
std::string PerInstanceInternalUdsPath(const std::string &file_name) const
Definition: cuttlefish_config_instance.cpp:1959
int tombstone_receiver_port() const
Definition: cuttlefish_config_instance.cpp:1713
std::string launcher_log_path() const
Definition: cuttlefish_config_instance.cpp:1388
std::string frames_socket_path() const
Definition: cuttlefish_config_instance.cpp:1908
std::vector< DisplayConfig > display_configs() const
Definition: cuttlefish_config_instance.cpp:1209
std::string bootloader() const
Definition: cuttlefish_config_instance.cpp:341
int blank_sdcard_image_mb() const
Definition: cuttlefish_config_instance.cpp:333
bool crosvm_use_balloon() const
Definition: cuttlefish_config_instance.cpp:1827
int audiocontrol_server_port() const
Definition: cuttlefish_config_instance.cpp:1721
std::string new_vbmeta_image() const
Definition: cuttlefish_config_instance.cpp:183
std::string ril_gateway() const
Definition: cuttlefish_config_instance.cpp:1180
InstanceSpecific(const CuttlefishConfig *config, const std::string &id)
Definition: cuttlefish_config.h:275
std::string hwcomposer() const
Definition: cuttlefish_config_instance.cpp:817
std::string sdcard_path() const
Definition: cuttlefish_config_instance.cpp:1392
bool enable_gpu_system_blob() const
Definition: cuttlefish_config_instance.cpp:855
std::string new_vbmeta_vendor_dlkm_image() const
Definition: cuttlefish_config_instance.cpp:209
bool use_bootloader() const
Definition: cuttlefish_config_instance.cpp:97
bool guest_enforce_security() const
Definition: cuttlefish_config_instance.cpp:633
std::string fuchsia_multiboot_bin_path() const
Definition: cuttlefish_config_instance.cpp:313
bool use_cvdalloc() const
Definition: cuttlefish_config_instance.cpp:1600
int qemu_vnc_server_port() const
Definition: cuttlefish_config_instance.cpp:1704
std::string persistent_composite_disk_path() const
Definition: cuttlefish_config_instance.cpp:1400
std::string switches_socket_path() const
Definition: cuttlefish_config_instance.cpp:1898
bool start_casimir() const
Definition: cuttlefish_config_instance.cpp:1775
uint32_t session_id() const
Definition: cuttlefish_config_instance.cpp:1609
bool enable_virtiofs() const
Definition: cuttlefish_config_instance.cpp:1310
void set_enable_wifi(const bool enable_wifi)
Definition: cuttlefish_config_environment.cpp:101
void set_start_wmediumd(bool start)
Definition: cuttlefish_config_environment.cpp:110
std::string envName_
Definition: cuttlefish_config.h:929
MutableEnvironmentSpecific(CuttlefishConfig *config, const std::string &envName)
Definition: cuttlefish_config.h:931
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:928
Json::Value * Dictionary()
Definition: cuttlefish_config_environment.cpp:36
void set_group_uuid(const int group_uuid)
Definition: cuttlefish_config_environment.cpp:157
void set_enable_gpu_udmabuf(const bool enable_gpu_udmabuf)
Definition: cuttlefish_config_instance.cpp:825
void set_mte(bool mte)
Definition: cuttlefish_config_instance.cpp:980
std::string id_
Definition: cuttlefish_config.h:641
void set_external_network_mode(ExternalNetworkMode network_mode)
Definition: cuttlefish_config_instance.cpp:464
void set_serial_number(const std::string &serial_number)
Definition: cuttlefish_config_instance.cpp:395
void set_linux_root_image(const std::string &linux_root_image)
Definition: cuttlefish_config_instance.cpp:296
void set_vhost_user_block(bool qemu_vhost_user_block)
Definition: cuttlefish_config_instance.cpp:1012
void set_gpu_context_types(const std::string &context_types)
Definition: cuttlefish_config_instance.cpp:762
void set_modem_simulator_ports(const std::string &modem_simulator_ports)
Definition: cuttlefish_config_instance.cpp:1383
void set_system_target_zip(const std::string &system_target_zip)
Definition: cuttlefish_config_instance.cpp:386
void set_ethernet_tap_name(const std::string &ethernet_tap_name)
Definition: cuttlefish_config_instance.cpp:1558
void set_new_super_image(const std::string &super_image)
Definition: cuttlefish_config_instance.cpp:154
void set_fuchsia_root_image(const std::string &fuchsia_root_image)
Definition: cuttlefish_config_instance.cpp:317
void set_start_wmediumd_instance(bool start)
Definition: cuttlefish_config_instance.cpp:1798
void set_ethernet_ipv6(const std::string &ip)
Definition: cuttlefish_config_instance.cpp:1585
void set_chromeos_kernel_path(const std::string &chromeos_kernel_path)
Definition: cuttlefish_config_instance.cpp:264
void set_guest_uses_bgra_framebuffers(bool uses_bgra)
Definition: cuttlefish_config_instance.cpp:804
void set_smt(bool smt)
Definition: cuttlefish_config_instance.cpp:1088
void set_memory_mb(int memory_mb)
Definition: cuttlefish_config_instance.cpp:595
void set_enable_gpu_external_blob(const bool enable_gpu_external_blob)
Definition: cuttlefish_config_instance.cpp:842
void set_vendor_boot_image(const std::string &vendor_boot_image)
Definition: cuttlefish_config_instance.cpp:162
void set_vsock_guest_cid(int vsock_guest_cid)
Definition: cuttlefish_config_instance.cpp:1621
void set_config_server_port(int config_server_port)
Definition: cuttlefish_config_instance.cpp:1732
void set_new_vbmeta_vendor_dlkm_image(const std::string &vbmeta_vendor_dlkm_image)
Definition: cuttlefish_config_instance.cpp:214
void set_virtual_disk_paths(const std::vector< std::string > &disk_paths)
Definition: cuttlefish_config_instance.cpp:420
void set_enable_bootanimation(const bool enable_bootanimation)
Definition: cuttlefish_config_instance.cpp:929
void set_tombstone_receiver_port(int tombstone_receiver_port)
Definition: cuttlefish_config_instance.cpp:1716
void set_gdb_port(int gdb_port)
Definition: cuttlefish_config_instance.cpp:584
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:1603
void set_bootloader(const std::string &bootloader)
Definition: cuttlefish_config_instance.cpp:344
void set_new_vendor_boot_image(const std::string &new_vendor_boot_image)
Definition: cuttlefish_config_instance.cpp:170
void set_vbmeta_system_dlkm_image(const std::string &vbmeta_system_dlkm_image)
Definition: cuttlefish_config_instance.cpp:222
void set_init_boot_image(const std::string &init_boot_image)
Definition: cuttlefish_config_instance.cpp:122
void set_restart_subprocesses(bool restart_subprocesses)
Definition: cuttlefish_config_instance.cpp:812
void set_custom_partition_path(const std::string &custom_partition_path)
Definition: cuttlefish_config_instance.cpp:325
void set_fuchsia_zedboot_path(const std::string &fuchsia_zedboot_path)
Definition: cuttlefish_config_instance.cpp:301
void set_ap_boot_flow(APBootFlow flow)
Definition: cuttlefish_config_instance.cpp:1815
void set_start_netsim(bool start)
Definition: cuttlefish_config_instance.cpp:1789
void set_boot_image(const std::string &boot_image)
Definition: cuttlefish_config_instance.cpp:106
void set_webrtc_device_id(const std::string &id)
Definition: cuttlefish_config_instance.cpp:1754
void set_fuchsia_multiboot_bin_path(const std::string &fuchsia_multiboot_bin_path)
Definition: cuttlefish_config_instance.cpp:309
void set_gem5_debug_file(const std::string &gem5_debug_file)
Definition: cuttlefish_config_instance.cpp:975
void set_blank_sdcard_image_mb(int blank_sdcard_image_mb)
Definition: cuttlefish_config_instance.cpp:336
void set_vcpu_config_path(const std::string &vcpu_config_path)
Definition: cuttlefish_config_instance.cpp:557
void set_seccomp_policy_dir(const std::string &seccomp_policy_dir)
Definition: cuttlefish_config_instance.cpp:1112
void set_gpu_renderer_features(const std::string &features)
Definition: cuttlefish_config_instance.cpp:753
void set_display_configs(const std::vector< DisplayConfig > &display_configs)
Definition: cuttlefish_config_instance.cpp:1223
void set_data_image(const std::string &data_image)
Definition: cuttlefish_config_instance.cpp:130
void set_touchpad_configs(const std::vector< TouchpadConfig > &touchpad_configs)
Definition: cuttlefish_config_instance.cpp:1269
void set_session_id(uint32_t session_id)
Definition: cuttlefish_config_instance.cpp:1612
void set_audio_output_streams_count(int count)
Definition: cuttlefish_config_instance.cpp:1931
void set_frames_socket_path(const std::string &frame_socket_path)
Definition: cuttlefish_config_instance.cpp:1903
void set_gpu_angle_feature_overrides_enabled(const std::string &overrides)
Definition: cuttlefish_config_instance.cpp:715
void set_gpu_angle_feature_overrides_disabled(const std::string &overrides)
Definition: cuttlefish_config_instance.cpp:727
void set_enable_gnss_grpc_proxy(const bool enable_gnss_grpc_proxy)
Definition: cuttlefish_config_instance.cpp:918
void set_gpu_mode(const std::string &name)
Definition: cuttlefish_config_instance.cpp:703
void set_enable_usb(bool enable)
Definition: cuttlefish_config_instance.cpp:935
void set_modem_simulator_instance_number(int instance_numbers)
Definition: cuttlefish_config_instance.cpp:682
void set_adb_ip_and_port(const std::string &ip_port)
Definition: cuttlefish_config_instance.cpp:1690
void set_fastboot_host_port(int fastboot_host_port)
Definition: cuttlefish_config_instance.cpp:1673
void set_boot_slot(const std::string &boot_slot)
Definition: cuttlefish_config_instance.cpp:996
void set_enable_mouse(bool enable)
Definition: cuttlefish_config_instance.cpp:868
void set_keymaster_vsock_port(int keymaster_vsock_port)
void set_start_pica(bool start)
Definition: cuttlefish_config_instance.cpp:1780
void set_pause_in_bootloader(bool pause_in_bootloader)
Definition: cuttlefish_config_instance.cpp:646
void set_domkey_mapping_config(const std::string &domkey_mapping_config_json_path)
Definition: cuttlefish_config_instance.cpp:899
void set_gem5_checkpoint_dir(const std::string &gem5_checkpoint_dir)
Definition: cuttlefish_config_instance.cpp:539
MutableInstanceSpecific(CuttlefishConfig *config, const std::string &id)
Definition: cuttlefish_config_instance.cpp:60
void set_gnss_file_path(const std::string &gnss_file_path)
Definition: cuttlefish_config_instance.cpp:511
void set_fixed_location_file_path(const std::string &fixed_location_file_path)
Definition: cuttlefish_config_instance.cpp:521
void set_enable_gamepad(bool enable)
Definition: cuttlefish_config_instance.cpp:876
void set_gem5_binary_dir(const std::string &gem5_binary_dir)
Definition: cuttlefish_config_instance.cpp:530
Result< void > set_setupwizard_mode(const std::string &mode)
Definition: cuttlefish_config_instance.cpp:611
void set_camera_server_port(int camera_server_port)
Definition: cuttlefish_config_instance.cpp:1748
void set_kgdb(bool kgdb)
Definition: cuttlefish_config_instance.cpp:545
void set_vhost_user_vsock(bool vhost_user_vsock)
Definition: cuttlefish_config_instance.cpp:1150
void set_gatekeeper_vsock_port(int gatekeeper_vsock_port)
void set_default_target_zip(const std::string &default_target_zip)
Definition: cuttlefish_config_instance.cpp:378
void set_ethernet_mac(const std::string &mac)
Definition: cuttlefish_config_instance.cpp:1576
void set_enable_tap_devices(bool)
Definition: cuttlefish_config_instance.cpp:1868
void set_vbmeta_system_image(const std::string &vbmeta_system_image)
Definition: cuttlefish_config_instance.cpp:194
void set_data_policy(const std::string &data_policy)
Definition: cuttlefish_config_instance.cpp:566
void set_gnss_grpc_proxy_server_port(int gnss_grpc_proxy_server_port)
Definition: cuttlefish_config_instance.cpp:502
void set_webrtc_assets_dir(const std::string &webrtc_assets_dir)
Definition: cuttlefish_config_instance.cpp:1040
void set_cpus(int cpus)
Definition: cuttlefish_config_instance.cpp:553
void SetPath(const std::string &key, const std::string &path)
Definition: cuttlefish_config_instance.cpp:1104
void set_qemu_vnc_server_port(int qemu_vnc_server_port)
Definition: cuttlefish_config_instance.cpp:1707
void set_console(bool console)
Definition: cuttlefish_config_instance.cpp:1314
void set_enable_modem_simulator(bool enable_modem_simulator)
Definition: cuttlefish_config_instance.cpp:674
void set_new_data_image(const std::string &new_data_image)
Definition: cuttlefish_config_instance.cpp:138
void set_wifi_mac(const std::string &mac)
Definition: cuttlefish_config_instance.cpp:1540
void set_guest_hwui_renderer(GuestHwuiRenderer renderer)
Definition: cuttlefish_config_instance.cpp:773
void set_ti50_emulator(const std::string &ti50_emulator)
Definition: cuttlefish_config_instance.cpp:1021
void set_ethernet_bridge_name(const std::string &set_ethernet_bridge_name)
Definition: cuttlefish_config_instance.cpp:1567
void set_mcu(const Json::Value &cfg)
Definition: cuttlefish_config_instance.cpp:1807
void set_extra_bootconfig_args(const std::string &extra_bootconfig_args)
Definition: cuttlefish_config_instance.cpp:957
void set_chromeos_disk(const std::string &chromeos_disk)
Definition: cuttlefish_config_instance.cpp:256
void set_mobile_tap_name(const std::string &mobile_tap_name)
Definition: cuttlefish_config_instance.cpp:1504
void set_kernel_path(const std::string &kernel_path)
Definition: cuttlefish_config_instance.cpp:360
void set_crosvm_simple_media_device(const bool simple_media_device)
Definition: cuttlefish_config_instance.cpp:1841
void set_openthread_node_id(int node_id)
Definition: cuttlefish_config_instance.cpp:1142
void set_mobile_mac(const std::string &mac)
Definition: cuttlefish_config_instance.cpp:1513
void set_modem_simulator_host_id(int modem_simulator_id)
Definition: cuttlefish_config_instance.cpp:1681
void set_target_arch(Arch target_arch)
Definition: cuttlefish_config_instance.cpp:1281
void set_ril_ipaddr(const std::string &ril_ipaddr)
Definition: cuttlefish_config_instance.cpp:1167
void set_enable_audio(bool enable)
Definition: cuttlefish_config_instance.cpp:860
void set_fail_fast(bool fail_fast)
Definition: cuttlefish_config_instance.cpp:1004
void set_crosvm_use_balloon(const bool use_balloon)
Definition: cuttlefish_config_instance.cpp:1823
void set_mobile_bridge_name(const std::string &mobile_bridge_name)
Definition: cuttlefish_config_instance.cpp:1495
void set_ril_gateway(const std::string &ril_gateway)
Definition: cuttlefish_config_instance.cpp:1176
void set_new_vbmeta_system_dlkm_image(const std::string &vbmeta_system_dlkm_image)
Definition: cuttlefish_config_instance.cpp:233
void set_enable_minimal_mode(bool enable_minimal_mode)
Definition: cuttlefish_config_instance.cpp:665
void set_keyboard_server_port(int config_server_port)
void set_custom_keyboard_config(const std::string &custom_keyboard_config_json_path)
Definition: cuttlefish_config_instance.cpp:885
void set_wifi_bridge_name(const std::string &wifi_bridge_name)
Definition: cuttlefish_config_instance.cpp:1531
void set_webrtc_tcp_port_range(std::pair< uint16_t, uint16_t > range)
Definition: cuttlefish_config_instance.cpp:1048
void set_vhost_net(bool vhost_net)
Definition: cuttlefish_config_instance.cpp:1134
void set_ril_prefixlen(uint8_t ril_prefixlen)
Definition: cuttlefish_config_instance.cpp:1194
void set_crosvm_binary(const std::string &crosvm_binary)
Definition: cuttlefish_config_instance.cpp:1099
void set_crosvm_use_rng(const bool use_rng)
Definition: cuttlefish_config_instance.cpp:1832
void set_start_vhal_proxy_server(bool start_vhal_proxy_server)
Definition: cuttlefish_config_instance.cpp:1922
void set_ril_dns(const std::string &ril_dns)
Definition: cuttlefish_config_instance.cpp:1159
Json::Value * Dictionary()
Definition: cuttlefish_config_instance.cpp:68
void set_wifi_tap_name(const std::string &wifi_tap_name)
Definition: cuttlefish_config_instance.cpp:1522
void set_qemu_binary_dir(const std::string &qemu_binary_dir)
Definition: cuttlefish_config_instance.cpp:1128
void set_super_image(const std::string &super_image)
Definition: cuttlefish_config_instance.cpp:146
void set_modem_simulator_sim_type(int sim_type)
Definition: cuttlefish_config_instance.cpp:691
void set_new_boot_image(const std::string &new_boot_image)
Definition: cuttlefish_config_instance.cpp:114
void set_enable_gpu_vhost_user(const bool enable_gpu_vhost_user)
Definition: cuttlefish_config_instance.cpp:833
void set_enable_gpu_system_blob(const bool enable_gpu_system_blob)
Definition: cuttlefish_config_instance.cpp:851
void set_guest_enforce_security(bool guest_enforce_security)
Definition: cuttlefish_config_instance.cpp:630
void set_enable_jcard_simulator(bool enable)
Definition: cuttlefish_config_instance.cpp:1031
void set_guest_android_version(const std::string &guest_android_version)
Definition: cuttlefish_config_instance.cpp:433
void set_linux_kernel_path(const std::string &linux_kernel_path)
Definition: cuttlefish_config_instance.cpp:280
void set_start_rootcanal(bool start)
Definition: cuttlefish_config_instance.cpp:1763
void set_initramfs_path(const std::string &initramfs_path)
Definition: cuttlefish_config_instance.cpp:352
void set_gpu_gfxstream_transport(const std::string &transport)
Definition: cuttlefish_config_instance.cpp:744
void set_wifi_mac_prefix(const int wifi_mac_prefix)
Definition: cuttlefish_config_instance.cpp:1916
void set_new_vbmeta_image(const std::string &new_vbmeta_image)
Definition: cuttlefish_config_instance.cpp:186
void set_vbmeta_image(const std::string &vbmeta_image)
Definition: cuttlefish_config_instance.cpp:178
void set_lights_server_port(int lights_server_port)
Definition: cuttlefish_config_instance.cpp:1740
void set_vbmeta_vendor_dlkm_image(const std::string &vbmeta_vendor_dlkm_image)
Definition: cuttlefish_config_instance.cpp:203
void set_ddr_mem_mb(int ddr_mem_mb)
Definition: cuttlefish_config_instance.cpp:603
void set_audiocontrol_server_port(int audiocontrol_server_port)
Definition: cuttlefish_config_instance.cpp:1724
void set_linux_initramfs_path(const std::string &linux_initramfs_path)
Definition: cuttlefish_config_instance.cpp:288
void set_otheros_esp_image(const std::string &otheros_esp_image)
Definition: cuttlefish_config_instance.cpp:240
void set_record_screen(bool record_screen)
Definition: cuttlefish_config_instance.cpp:963
void set_vsock_guest_group(const std::string &vsock_guest_group)
Definition: cuttlefish_config_instance.cpp:1630
void set_run_as_daemon(bool run_as_daemon)
Definition: cuttlefish_config_instance.cpp:657
void set_guest_renderer_preload(GuestRendererPreload preload)
Definition: cuttlefish_config_instance.cpp:784
void set_environment_name(const std::string &env_name)
Definition: cuttlefish_config_instance.cpp:1647
void set_guest_vulkan_driver(const std::string &driver)
Definition: cuttlefish_config_instance.cpp:793
void set_vvmtruststore_path(const std::string &vvmtruststore_path)
Definition: cuttlefish_config_instance.cpp:365
void set_use_allocd(bool use_allocd)
Definition: cuttlefish_config_instance.cpp:1594
void set_hwcomposer(const std::string &)
Definition: cuttlefish_config_instance.cpp:820
void set_uuid(const std::string &uuid)
Definition: cuttlefish_config_instance.cpp:1639
CuttlefishConfig * config_
Definition: cuttlefish_config.h:640
void set_userdata_format(const std::string &userdata_format)
Definition: cuttlefish_config_instance.cpp:623
void set_device_type(DeviceType type)
Definition: cuttlefish_config_instance.cpp:1290
void set_use_pmem(const bool use_pmem)
Definition: cuttlefish_config_instance.cpp:1859
void set_adb_host_port(int adb_host_port)
Definition: cuttlefish_config_instance.cpp:1665
void set_use_sdcard(bool use_sdcard)
Definition: cuttlefish_config_instance.cpp:638
void set_enable_virtiofs(const bool enable_virtiofs)
Definition: cuttlefish_config_instance.cpp:1306
void set_blank_data_image_mb(int blank_data_image_mb)
Definition: cuttlefish_config_instance.cpp:575
void set_crosvm_v4l2_proxy(const std::string v4l2_proxy)
Definition: cuttlefish_config_instance.cpp:1850
void set_enable_sandbox(const bool enable_sandbox)
Definition: cuttlefish_config_instance.cpp:1299
void set_gpu_capture_binary(const std::string &)
Definition: cuttlefish_config_instance.cpp:735
void set_chromeos_root_image(const std::string &chromeos_root_image)
Definition: cuttlefish_config_instance.cpp:272
void set_start_casimir(bool start)
Definition: cuttlefish_config_instance.cpp:1772
void set_enable_kernel_log(bool enable_kernel_log)
Definition: cuttlefish_config_instance.cpp:988
void set_use_bridged_wifi_tap(bool use_bridged_wifi_tap)
Definition: cuttlefish_config_instance.cpp:1549
void set_android_efi_loader(const std::string &android_efi_loader)
Definition: cuttlefish_config_instance.cpp:248
void set_filename_encryption_mode(const std::string &filename_encryption_mode)
Definition: cuttlefish_config_instance.cpp:451
void set_ril_broadcast(const std::string &ril_broadcast)
Definition: cuttlefish_config_instance.cpp:1185
void set_grpc_socket_path(const std::string &socket_path)
Definition: cuttlefish_config_instance.cpp:1082
void set_webrtc_udp_port_range(std::pair< uint16_t, uint16_t > range)
Definition: cuttlefish_config_instance.cpp:1063
Definition: cuttlefish_config.h:49
MutableInstanceSpecific ForInstance(int instance_num)
Definition: cuttlefish_config.cpp:653
void netsim_radio_enable(NetsimRadio flag)
Definition: cuttlefish_config.cpp:308
int casimir_nci_port() const
Definition: cuttlefish_config.cpp:294
void set_netsim_args(const std::string &netsim_args)
Definition: cuttlefish_config.cpp:340
static const CuttlefishConfig * Get()
Definition: cuttlefish_config.cpp:552
std::string metrics_binary() const
Definition: cuttlefish_config.cpp:396
std::string EnvironmentsUdsPath(const std::string &) const
Definition: cuttlefish_config.cpp:648
bool OverlaysEnabled() const
Definition: cuttlefish_config.cpp:156
void set_crosvm_binary(const std::string &crosvm_binary)
Definition: cuttlefish_config.cpp:124
std::vector< InstanceSpecific > Instances() const
Definition: cuttlefish_config.cpp:670
std::string ap_kernel_image() const
Definition: cuttlefish_config.cpp:434
void set_enable_host_bluetooth(bool enable_host_bluetooth)
Definition: cuttlefish_config.cpp:215
void set_virtio_mac80211_hwsim(bool virtio_mac80211_hwsim)
Definition: cuttlefish_config.cpp:418
void set_enable_automotive_proxy(bool enable_automotive_proxy)
Definition: cuttlefish_config.cpp:232
std::string InstancesPath(const std::string &) const
Definition: cuttlefish_config.cpp:604
InstanceSpecific ForInstanceName(const std::string &name) const
Definition: cuttlefish_config.cpp:661
Answer
Definition: cuttlefish_config.h:179
bool netsim_radio_enabled(NetsimRadio flag) const
Definition: cuttlefish_config.cpp:317
void set_enable_host_nfc(bool enable_host_nfc)
Definition: cuttlefish_config.cpp:249
std::string crosvm_binary() const
Definition: cuttlefish_config.cpp:121
bool SaveFragment(const ConfigFragment &)
Definition: cuttlefish_config.cpp:69
int rootcanal_hci_port() const
Definition: cuttlefish_config.cpp:458
static bool ConfigExists()
Definition: cuttlefish_config.cpp:560
bool enable_host_uwb() const
Definition: cuttlefish_config.cpp:194
MutableEnvironmentSpecific ForEnvironment(const std::string &envName)
Definition: cuttlefish_config.cpp:713
bool enable_host_nfc_connector() const
Definition: cuttlefish_config.cpp:260
void set_straced_host_executables(const std::set< std::string > &executables)
Definition: cuttlefish_config.cpp:515
std::string instances_uds_dir() const
Definition: cuttlefish_config.cpp:622
void set_ap_rootfs_image(const std::string &ap_rootfs_image)
Definition: cuttlefish_config.cpp:429
std::vector< std::string > instance_names() const
Definition: cuttlefish_config.cpp:697
VmmMode vm_manager() const
Definition: cuttlefish_config.cpp:88
void set_rootcanal_args(const std::string &rootcanal_args)
Definition: cuttlefish_config.cpp:442
void set_vhal_proxy_server_port(int port)
Definition: cuttlefish_config.cpp:241
void set_casimir_instance_num(int casimir_instance_num)
Definition: cuttlefish_config.cpp:265
int sig_server_proxy_port() const
Definition: cuttlefish_config.cpp:144
void set_sig_server_address(const std::string &addr)
Definition: cuttlefish_config.cpp:149
void set_sig_server_proxy_port(int port)
Definition: cuttlefish_config.cpp:141
void set_environments_dir(const std::string &)
void set_enable_metrics(std::string enable_metrics)
Definition: cuttlefish_config.cpp:356
int netsim_instance_num() const
Definition: cuttlefish_config.cpp:322
std::vector< std::string > extra_kernel_cmdline() const
Definition: cuttlefish_config.cpp:409
static CuttlefishConfig * BuildConfigImpl(const std::string &path)
Definition: cuttlefish_config.cpp:531
void set_extra_kernel_cmdline(const std::string &extra_cmdline)
Definition: cuttlefish_config.cpp:401
Result< std::set< SecureHal > > secure_hals() const
Definition: cuttlefish_config.cpp:105
void set_casimir_rf_port(int port)
Definition: cuttlefish_config.cpp:299
MutableEnvironmentSpecific ForDefaultEnvironment()
Definition: cuttlefish_config.cpp:724
int netsim_connector_instance_num() const
Definition: cuttlefish_config.cpp:331
std::string environments_uds_dir() const
Definition: cuttlefish_config.cpp:644
std::string instances_dir() const
Definition: cuttlefish_config.cpp:600
void set_pica_uci_port(int pica_uci_port)
Definition: cuttlefish_config.cpp:210
int rootcanal_link_port() const
Definition: cuttlefish_config.cpp:466
std::string sig_server_address() const
Definition: cuttlefish_config.cpp:152
CuttlefishConfig::Answer enable_metrics() const
Definition: cuttlefish_config.cpp:383
CuttlefishConfig & operator=(const CuttlefishConfig &)=delete
std::string assembly_dir() const
Definition: cuttlefish_config.cpp:609
CuttlefishConfig(CuttlefishConfig &&)
std::string root_dir() const
Definition: cuttlefish_config.cpp:80
static std::unique_ptr< const CuttlefishConfig > GetFromFile(const std::string &path)
Definition: cuttlefish_config.cpp:545
std::vector< std::string > environment_dirs() const
Definition: cuttlefish_config.cpp:734
std::set< std::string > straced_host_executables() const
Definition: cuttlefish_config.cpp:523
bool enable_host_bluetooth_connector() const
Definition: cuttlefish_config.cpp:227
void set_host_tools_version(const std::map< std::string, uint32_t > &)
Definition: cuttlefish_config.cpp:170
void set_rootcanal_hci_port(int rootcanal_hci_port)
Definition: cuttlefish_config.cpp:461
std::string ap_rootfs_image() const
Definition: cuttlefish_config.cpp:426
void set_ap_vm_manager(const std::string &name)
Definition: cuttlefish_config.cpp:100
NetsimRadio
Definition: cuttlefish_config.h:158
@ Wifi
Definition: cuttlefish_config.h:160
@ Bluetooth
Definition: cuttlefish_config.h:159
@ Uwb
Definition: cuttlefish_config.h:161
void set_enable_host_nfc_connector(bool enable_host_nfc_connector)
Definition: cuttlefish_config.cpp:257
void set_enable_host_uwb_connector(bool enable_host_uwb)
Definition: cuttlefish_config.cpp:199
void set_enable_host_bluetooth_connector(bool enable_host_bluetooth)
Definition: cuttlefish_config.cpp:224
bool SaveToFile(const std::string &file) const
Definition: cuttlefish_config.cpp:590
bool virtio_mac80211_hwsim() const
Definition: cuttlefish_config.cpp:421
void set_rootcanal_link_port(int rootcanal_link_port)
Definition: cuttlefish_config.cpp:469
std::vector< std::string > casimir_args() const
Definition: cuttlefish_config.cpp:282
void set_kvm_path(const std::string &)
Definition: cuttlefish_config.cpp:502
CuttlefishConfig(const CuttlefishConfig &)=delete
void set_vhost_vsock_path(const std::string &)
Definition: cuttlefish_config.cpp:510
bool enable_automotive_proxy() const
Definition: cuttlefish_config.cpp:236
void set_instances_uds_dir(const std::string &)
Definition: cuttlefish_config.cpp:619
std::string snapshot_path() const
Definition: cuttlefish_config.cpp:491
int casimir_rf_port() const
Definition: cuttlefish_config.cpp:302
int rootcanal_test_port() const
Definition: cuttlefish_config.cpp:483
InstanceSpecific ForDefaultInstance() const
Definition: cuttlefish_config.cpp:666
int pica_uci_port() const
Definition: cuttlefish_config.cpp:207
std::string InstancesUdsPath(const std::string &) const
Definition: cuttlefish_config.cpp:626
void set_ap_kernel_image(const std::string &ap_kernel_image)
Definition: cuttlefish_config.cpp:437
void set_secure_hals(const std::set< SecureHal > &)
Definition: cuttlefish_config.cpp:112
std::string EnvironmentsPath(const std::string &) const
Definition: cuttlefish_config.cpp:635
std::string ap_image_dev_path() const
void set_instance_names(const std::vector< std::string > &instance_names)
Definition: cuttlefish_config.cpp:689
void set_netsim_connector_instance_num(int netsim_instance_num)
Definition: cuttlefish_config.cpp:334
void set_rootcanal_test_port(int rootcanal_test_port)
Definition: cuttlefish_config.cpp:486
void set_rootcanal_link_ble_port(int rootcanal_link_ble_port)
Definition: cuttlefish_config.cpp:477
std::string environments_dir() const
Definition: cuttlefish_config.cpp:631
std::unique_ptr< Json::Value > dictionary_
Definition: cuttlefish_config.h:950
std::string vhost_vsock_path() const
Definition: cuttlefish_config.cpp:507
std::string gem5_debug_flags() const
Definition: cuttlefish_config.cpp:133
void set_ap_image_dev_path(const std::string &dev_path)
std::string ap_vm_manager() const
Definition: cuttlefish_config.cpp:97
std::string kvm_path() const
Definition: cuttlefish_config.cpp:499
CuttlefishConfig()
Definition: cuttlefish_config.cpp:567
std::vector< std::string > instance_dirs() const
Definition: cuttlefish_config.cpp:679
void set_metrics_binary(const std::string &metrics_binary)
Definition: cuttlefish_config.cpp:393
void set_casimir_args(const std::string &casimir_args)
Definition: cuttlefish_config.cpp:273
bool enable_host_nfc() const
Definition: cuttlefish_config.cpp:252
std::string AssemblyPath(const std::string &) const
Definition: cuttlefish_config.cpp:613
int vhal_proxy_server_port() const
Definition: cuttlefish_config.cpp:244
bool LoadFragment(ConfigFragment &) const
Definition: cuttlefish_config.cpp:57
void set_root_dir(const std::string &root_dir)
Definition: cuttlefish_config.cpp:83
void set_netsim_instance_num(int netsim_instance_num)
Definition: cuttlefish_config.cpp:325
bool enable_host_bluetooth() const
Definition: cuttlefish_config.cpp:218
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:449
int rootcanal_link_ble_port() const
Definition: cuttlefish_config.cpp:474
void set_enable_host_uwb(bool enable_host_uwb)
Definition: cuttlefish_config.cpp:191
std::map< std::string, uint32_t > host_tools_version() const
Definition: cuttlefish_config.cpp:178
CuttlefishConfig & operator=(CuttlefishConfig &&)
void set_snapshot_path(const std::string &snapshot_path)
Definition: cuttlefish_config.cpp:494
bool LoadFromFile(const char *file)
Definition: cuttlefish_config.cpp:575
void set_casimir_nci_port(int port)
Definition: cuttlefish_config.cpp:291
void set_environments_uds_dir(const std::string &)
Definition: cuttlefish_config.cpp:641
bool enable_host_uwb_connector() const
Definition: cuttlefish_config.cpp:202
void set_vm_manager(VmmMode vmm)
Definition: cuttlefish_config.cpp:92
bool IsCrosvm() const
Definition: cuttlefish_config.cpp:128
std::vector< std::string > netsim_args() const
Definition: cuttlefish_config.cpp:347
int casimir_instance_num() const
Definition: cuttlefish_config.cpp:268
Definition: cuttlefish_config.h:42
Definition: alloc_utils.cpp:23
bool IsRestoring(const CuttlefishConfig &config)
Definition: cuttlefish_config.cpp:51
GuestHwuiRenderer
Definition: guest_hwui_renderer.h:26
DeviceType
Definition: device_type.h:22
VmmMode
Definition: vmm_mode.h:28
ExternalNetworkMode
Definition: external_network_mode.h:27
GuestRendererPreload
Definition: guest_renderer_preload.h:26
Arch
Definition: architecture.h:23
BootFlow
Definition: boot_flow.h:20
APBootFlow
Definition: ap_boot_flow.h:20
uint8_t type
Definition: pairing_connection.h:0
Definition: cuttlefish_config.h:96
int dpi
Definition: cuttlefish_config.h:99
std::string overlays
Definition: cuttlefish_config.h:101
int refresh_rate_hz
Definition: cuttlefish_config.h:100
int height
Definition: cuttlefish_config.h:98
int width
Definition: cuttlefish_config.h:97
Definition: cuttlefish_config.h:104
int width
Definition: cuttlefish_config.h:105
static TouchpadConfig Deserialize(const Json::Value &config_json)
Definition: cuttlefish_config_instance.cpp:1251
int height
Definition: cuttlefish_config.h:106
static Json::Value Serialize(const CuttlefishConfig::TouchpadConfig &config)
Definition: cuttlefish_config_instance.cpp:1242