Android-cuttlefish cvd tool
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
cuttlefish::CpioReader Class Reference

#include <cpio.h>

Inheritance diagram for cuttlefish::CpioReader:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::CpioReader:
Collaboration graph
[legend]

Classes

struct  FileEntry
 

Public Member Functions

Result< std::unique_ptr< ReaderSeeker > > OpenReadOnly (std::string_view path) override
 
Result< uint32_t > FileAttributes (std::string_view path) const override
 
- Public Member Functions inherited from cuttlefish::ReadFilesystem
virtual ~ReadFilesystem ()=default
 
virtual Result< std::unique_ptr< ReaderSeeker > > OpenReadOnly (std::string_view path)=0
 
virtual Result< uint32_t > FileAttributes (std::string_view path) const =0
 

Static Public Member Functions

static Result< std::unique_ptr< CpioReader > > Open (std::unique_ptr< ReaderSeeker > reader)
 

Private Types

using EntriesMap = std::map< std::string, FileEntry, std::less<> >
 

Private Member Functions

 CpioReader (std::unique_ptr< ReaderSeeker > reader, EntriesMap entries)
 

Static Private Member Functions

static Result< EntriesMapParse (const ReaderSeeker &reader)
 
static Result< EntriesMapParseOdc (const ReaderSeeker &reader)
 
static Result< EntriesMapParseNewc (const ReaderSeeker &reader)
 
static Result< EntriesMapParseBin (const ReaderSeeker &reader, bool file_is_big_endian)
 

Private Attributes

std::unique_ptr< ReaderSeekerreader_
 
EntriesMap entries_
 

Member Typedef Documentation

◆ EntriesMap

using cuttlefish::CpioReader::EntriesMap = std::map<std::string, FileEntry, std::less<> >
private

Constructor & Destructor Documentation

◆ CpioReader()

cuttlefish::CpioReader::CpioReader ( std::unique_ptr< ReaderSeeker reader,
EntriesMap  entries 
)
private

Member Function Documentation

◆ FileAttributes()

Result< uint32_t > cuttlefish::CpioReader::FileAttributes ( std::string_view  path) const
overridevirtual

◆ Open()

Result< std::unique_ptr< CpioReader > > cuttlefish::CpioReader::Open ( std::unique_ptr< ReaderSeeker reader)
static

◆ OpenReadOnly()

Result< std::unique_ptr< ReaderSeeker > > cuttlefish::CpioReader::OpenReadOnly ( std::string_view  path)
overridevirtual

◆ Parse()

Result< CpioReader::EntriesMap > cuttlefish::CpioReader::Parse ( const ReaderSeeker reader)
staticprivate

◆ ParseBin()

Result< CpioReader::EntriesMap > cuttlefish::CpioReader::ParseBin ( const ReaderSeeker reader,
bool  file_is_big_endian 
)
staticprivate

◆ ParseNewc()

Result< CpioReader::EntriesMap > cuttlefish::CpioReader::ParseNewc ( const ReaderSeeker reader)
staticprivate

◆ ParseOdc()

Result< CpioReader::EntriesMap > cuttlefish::CpioReader::ParseOdc ( const ReaderSeeker reader)
staticprivate

Member Data Documentation

◆ entries_

EntriesMap cuttlefish::CpioReader::entries_
private

◆ reader_

std::unique_ptr<ReaderSeeker> cuttlefish::CpioReader::reader_
private

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