Android-cuttlefish cvd tool
Public Member Functions | Private Attributes | List of all members
cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl Class Reference
Inheritance diagram for cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl:
Collaboration graph
[legend]

Public Member Functions

 SuperImageAsBuildImpl (AndroidBuild &android_build, std::unique_ptr< android::fs_mgr::LpMetadata > super_metadata)
 
std::string Name () const override
 
PrettyStruct Pretty () override
 
Result< std::set< std::string, std::less< void > > > Images () override
 
Result< std::string > ImageFile (std::string_view name, bool extract) override
 
Result< void > SetExtractDir (std::string_view extract_dir) override
 
Result< std::set< std::string, std::less< void > > > LogicalPartitions () override
 
Result< std::set< std::string, std::less< void > > > PartitionsInGroup (std::string_view match)
 
Result< std::set< std::string, std::less< void > > > AbPartitions () override
 
Result< std::set< std::string, std::less< void > > > SystemPartitions () override
 
Result< std::set< std::string, std::less< void > > > VendorPartitions () override
 
- Public Member Functions inherited from cuttlefish::AndroidBuild
virtual ~AndroidBuild ()=default
 
virtual std::string Name () const =0
 
virtual PrettyStruct Pretty ()=0
 
virtual Result< std::set< std::string, std::less< void > > > Images ()
 
virtual Result< std::string > ImageFile (std::string_view name, bool extract=true)
 
virtual Result< void > SetExtractDir (std::string_view)
 
virtual Result< std::set< std::string, std::less< void > > > AbPartitions ()
 
virtual Result< std::set< std::string, std::less< void > > > SystemPartitions ()
 
virtual Result< std::set< std::string, std::less< void > > > VendorPartitions ()
 
virtual Result< std::set< std::string, std::less< void > > > LogicalPartitions ()
 
virtual Result< std::set< std::string, std::less< void > > > PhysicalPartitions ()
 

Private Attributes

AndroidBuildandroid_build_
 
std::unique_ptr< android::fs_mgr::LpMetadata > super_metadata_
 
std::map< std::string, std::string, std::less< void > > extracted_
 
std::string extract_dir_
 

Constructor & Destructor Documentation

◆ SuperImageAsBuildImpl()

cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::SuperImageAsBuildImpl ( AndroidBuild android_build,
std::unique_ptr< android::fs_mgr::LpMetadata >  super_metadata 
)
inline

Member Function Documentation

◆ AbPartitions()

Result< std::set< std::string, std::less< void > > > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::AbPartitions ( )
inlineoverridevirtual

Reimplemented from cuttlefish::AndroidBuild.

◆ ImageFile()

Result< std::string > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::ImageFile ( std::string_view  name,
bool  extract 
)
inlineoverridevirtual

Reimplemented from cuttlefish::AndroidBuild.

◆ Images()

Result< std::set< std::string, std::less< void > > > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::Images ( )
inlineoverridevirtual

Image information, as reported by the Android build system.

An image may be one of three different categories:

  • A partition in the top-level GPT, such as the the super partition.
  • A logical partition stored inside the GPT super partition.
  • A super_empty pseudo-partition file that reports what should be in the super partition, but without the logical partition contents.

Reimplemented from cuttlefish::AndroidBuild.

◆ LogicalPartitions()

Result< std::set< std::string, std::less< void > > > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::LogicalPartitions ( )
inlineoverridevirtual

Partitions in the super image. Disjoint from GPT entries.

Reimplemented from cuttlefish::AndroidBuild.

◆ Name()

std::string cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::Name ( ) const
inlineoverridevirtual

The name of the concrete implementation.

Implements cuttlefish::AndroidBuild.

◆ PartitionsInGroup()

Result< std::set< std::string, std::less< void > > > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::PartitionsInGroup ( std::string_view  match)
inline

◆ Pretty()

PrettyStruct cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::Pretty ( )
inlineoverridevirtual

◆ SetExtractDir()

Result< void > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::SetExtractDir ( std::string_view  )
inlineoverridevirtual

Stores a directory to use for extracting generated files. ImageFile may store generated files here, and implementations may extract files here as part of the implementation of other methods.

Reimplemented from cuttlefish::AndroidBuild.

◆ SystemPartitions()

Result< std::set< std::string, std::less< void > > > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::SystemPartitions ( )
inlineoverridevirtual

If this build is combined with another build by mixing system and vendor from different places, reports which partitions this build expects to contribute to a particular side of the mix. System and vendor partition sets should be disjoint.

Reimplemented from cuttlefish::AndroidBuild.

◆ VendorPartitions()

Result< std::set< std::string, std::less< void > > > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::VendorPartitions ( )
inlineoverridevirtual

Reimplemented from cuttlefish::AndroidBuild.

Member Data Documentation

◆ android_build_

AndroidBuild* cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::android_build_
private

◆ extract_dir_

std::string cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::extract_dir_
private

◆ extracted_

std::map<std::string, std::string, std::less<void> > cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::extracted_
private

◆ super_metadata_

std::unique_ptr<android::fs_mgr::LpMetadata> cuttlefish::anonymous_namespace{super_image.cc}::SuperImageAsBuildImpl::super_metadata_
private

The documentation for this class was generated from the following file: