#pragma once #include // #include #include "host/libs/config/cuttlefish_config.h" #include "host/libs/config/feature.h" namespace cuttlefish { class DataImagePath { public: virtual ~DataImagePath() = default; virtual const std::string& Path() const = 0; }; class InitializeDataImage : public SetupFeature {}; fruit::Component FixedDataImagePathComponent( const std::string* path); fruit::Component, InitializeDataImage> InitializeDataImageComponent(); class InitializeEspImage : public SetupFeature {}; fruit::Component, InitializeEspImage> InitializeEspImageComponent( const std::string* esp_image, const std::string* kernel_path, const std::string* initramfs_path, const std::string* root_fs, const CuttlefishConfig* config); bool CreateBlankImage( const std::string& image, int num_mb, const std::string& image_fmt); class MiscImagePath { public: virtual ~MiscImagePath() = default; virtual const std::string& Path() const = 0; }; class InitializeMiscImage : public SetupFeature {}; fruit::Component FixedMiscImagePathComponent( const std::string* path); fruit::Component, InitializeMiscImage> InitializeMiscImageComponent(); } // namespace cuttlefish