// Copyright 2020 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #pragma once #include "base/export.h" #include "constants.h" #include "avd/info.h" #include "avd/hw-config.h" /* this structure is setup when loading the virtual device * after that, you can read the 'flags' field to determine * wether a data or cache wipe has been in effect. */ extern AvdInfoParams android_avdParams[1]; /* a pointer to the android virtual device information * object, which can be queried for the paths of various * image files or the skin */ extern AvdInfo* android_avdInfo; /* MSVC only exports function pointers */ extern AEMU_EXPORT AvdInfo** aemu_get_android_avdInfoPtr(); /* the hardware configuration for this specific virtual device */ extern AndroidHwConfig android_hw[1]; /* MSVC only exports function pointers */ AEMU_EXPORT AndroidHwConfig* aemu_get_android_hw(); /* this is to support snapshot (currently only qemu1+software-renderer) */ extern const char* savevm_on_exit; /* this indicates that guest has mounted data partition */ extern int guest_data_partition_mounted; /* this indicates that guest has boot completed */ extern int guest_boot_completed; extern int arm_snapshot_save_completed; extern int host_emulator_is_headless; /* are we using the emulator in the android mode or plain qemu? */ extern int android_qemu_mode; /* are we using android-emu libraries for a minimal configuration? */ extern int min_config_qemu_mode; /* is android-emu running Fuchsia? */ extern int is_fuchsia; extern int android_snapshot_update_timer; /* are we using qemu 2? */ /* remove this flag once we deprecate qemu1 on both dev and release branches. */ extern int engine_supports_snapshot; /* are we changing the language, country, or locale? */ extern int changing_language_country_locale; extern const char* to_set_language; extern const char* to_set_country; extern const char* to_set_locale; /* True if we are using keycode forwarding instead of translating text value to * keycode */ /* on emulator host. */ extern int use_keycode_forwarding; enum WinsysPreferredGlesBackend { WINSYS_GLESBACKEND_PREFERENCE_AUTO = 0, WINSYS_GLESBACKEND_PREFERENCE_ANGLE = 1, WINSYS_GLESBACKEND_PREFERENCE_ANGLE9 = 2, WINSYS_GLESBACKEND_PREFERENCE_SWIFTSHADER = 3, WINSYS_GLESBACKEND_PREFERENCE_NATIVEGL = 4, WINSYS_GLESBACKEND_PREFERENCE_NUM = 5, }; enum WinsysPreferredGlesApiLevel { WINSYS_GLESAPILEVEL_PREFERENCE_AUTO = 0, WINSYS_GLESAPILEVEL_PREFERENCE_MAX = 1, WINSYS_GLESAPILEVEL_PREFERENCE_COMPAT = 2, WINSYS_GLESAPILEVEL_PREFERENCE_NUM = 3, };