1 #pragma once 2 3 #include <fruit/fruit.h> 4 #include <cstdint> 5 #include <optional> 6 #include <string> 7 #include <vector> 8 9 #include "common/libs/utils/environment.h" 10 #include "common/libs/utils/result.h" 11 #include "host/libs/config/cuttlefish_config.h" 12 #include "host/libs/config/fetcher_config.h" 13 14 namespace cuttlefish { 15 16 struct KernelConfig { 17 Arch target_arch; 18 bool bootconfig_supported; 19 }; 20 21 Result<KernelConfig> GetKernelConfigAndSetDefaults(); 22 // Must be called after ParseCommandLineFlags. 23 CuttlefishConfig InitializeCuttlefishConfiguration(const std::string& root_dir, 24 int modem_simulator_count, 25 KernelConfig kernel_config, 26 fruit::Injector<>& injector); 27 28 std::string GetConfigFilePath(const CuttlefishConfig& config); 29 std::string GetCuttlefishEnvPath(); 30 31 } // namespace cuttlefish 32