51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
//
|
|
#include <fruit/fruit.h>
|
|
|
|
#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<DataImagePath> FixedDataImagePathComponent(
|
|
const std::string* path);
|
|
fruit::Component<fruit::Required<const CuttlefishConfig, DataImagePath>,
|
|
InitializeDataImage>
|
|
InitializeDataImageComponent();
|
|
|
|
class InitializeEspImage : public SetupFeature {};
|
|
|
|
fruit::Component<fruit::Required<const CuttlefishConfig>,
|
|
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<MiscImagePath> FixedMiscImagePathComponent(
|
|
const std::string* path);
|
|
fruit::Component<fruit::Required<MiscImagePath>, InitializeMiscImage>
|
|
InitializeMiscImageComponent();
|
|
|
|
} // namespace cuttlefish
|