class RemoteDecodedFile

Defined at line 74 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

This is the common base class of all RemoteDecodedModule instantiations.

Its pointers can be used to store pointers to the specific derived types

with type erasure. The specific instantiation type can be recovered safely

from this type if only objects returned by RemoteDecodedModule::Create, and

thus pre-vetted for matching some ELF format or other, are used.

Public Methods

const zx::vmo & vmo ()

The VMO can be used or borrowed during the lifetime of this object.

Defined at line 80 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

zx::result<> Init ()

This maps the file in so that mapped_vmo() can be used.

Defined at line 83 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

const elfldltl::MappedVmoFile & mapped_vmo ()

After Init, this is the File API object with the file's contents.

Defined at line 86 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

template <class Elf>
fbl::RefPtr<const RemoteDecodedModule<Elf>> GetIf ()

If this is an ld::RemoteDecodedModule

<Elf

> object, return a RefPtr to it.

Otherwise return a null RefPtr.

Defined at line 91 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

template <class Elf, class Diagnostics>
fbl::RefPtr<const RemoteDecodedModule<Elf>> GetIf (Diagnostics & diag)

This is the same, but if it returns a null pointer then the Diagnostics

object will report the same failure details that would come from this same

VMO being passed to ld::RemoteDecodedModule

<Elf

>::Create.

Defined at line 111 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

template <typename T>
decltype(auto) VisitAnyLayout (T && visitor)

Call visitor with whichever ld::RemoteDecodedModule

<

...>::Ptr it is.

The visitor must be callable with all four possible instantiations.

Defined at line 131 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

template <elfldltl::ElfData Data = elfldltl::ElfData::kNative, typename T>
decltype(auto) VisitAnyClass (T && visitor)

Call visitor with whichever ld::RemoteDecodedModule

<

...>::Ptr it is for

Elf32 or Elf64, but presume the ElfData (byte order). The visitor must be

callable with both Elf32

<Data

> and Elf64

<Data

> instantiations.

Defined at line 142 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

Protected Methods

void RemoteDecodedFile (zx::vmo vmo)

Defined at line 151 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

void ~RemoteDecodedFile ()

Defined at line 153 of file ../../sdk/lib/ld/include/lib/ld/remote-decoded-module.h

Records

Friends

class Recyclable