class EvaluateObjectFidlHelper

Defined at line 20 of file ../../src/devices/board/lib/acpi/fidl.h

Helper class used to implement AcpiEvaluateObject over FIDL.

Public Methods

void EvaluateObjectFidlHelper (zx_handle_t mmio_resource, acpi::Acpi * acpi, ACPI_HANDLE device, std::string request_path, fuchsia_hardware_acpi::wire::EvaluateObjectMode mode, fidl::VectorView<fuchsia_hardware_acpi::wire::Object> params)

Defined at line 24 of file ../../src/devices/board/lib/acpi/fidl.h

void SetMmioResource (zx_handle_t rsrc)

For unit testing.

Defined at line 75 of file ../../src/devices/board/lib/acpi/fidl.h

EvaluateObjectFidlHelper FromRequest (zx_handle_t mmio_resource, acpi::Acpi * acpi, ACPI_HANDLE device, EvaluateObjectRequestView & request)

Defined at line 96 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<fuchsia_hardware_acpi::wire::DeviceEvaluateObjectResult> Evaluate (fidl::AnyArena & alloc)

Calls AcpiEvaluateObject using the arguments supplied to the constructor in |request|, and

replies on the completer given in |completer| if the call succeeds.

If something fails, acpi::error() is returned with a value that indicates what went wrong.

Defined at line 104 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<std::string> ValidateAndLookupPath (const char * request_path, ACPI_HANDLE * hnd)

These methods are public for unit tests only.

Validate that the path supplied in the request is a child of the device,

and returns the absolute path to the supplied path.

Defined at line 145 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<std::vector<ACPI_OBJECT>> DecodeParameters (fidl::VectorView<fuchsia_hardware_acpi::wire::Object> & request_params)

Convert the given FIDL parameters to ACPI_OBJECTs, and put them in the params_ vector.

Defined at line 173 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<fuchsia_hardware_acpi::wire::DeviceEvaluateObjectResult> EncodeReturnValue (fidl::AnyArena & alloc, ACPI_OBJECT * value)

Take the given ACPI_OBJECT and turn it into a DeviceEvaluateObjectResult.

Defined at line 273 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<fuchsia_hardware_acpi::wire::DeviceEvaluateObjectResult> EncodeResourcesReturnValue (fidl::AnyArena & alloc, ACPI_OBJECT * value)

Take the given ACPI_OBJECT and parse it as resources, turning it into a

DeviceEvaluateObjectResult.

Defined at line 187 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<fuchsia_hardware_acpi::wire::Resource> EncodeMmioResource (fidl::AnyArena & alloc, ACPI_RESOURCE * resource)

Encode an ACPICA MMIO resource into a FIDL resource.

Defined at line 240 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<fuchsia_hardware_acpi::wire::Object> EncodeObject (fidl::AnyArena & alloc, ACPI_OBJECT * value)

Encode an ACPICA object into a FIDL object.

Defined at line 292 of file ../../src/devices/board/lib/acpi/fidl.cc

acpi::status<> DecodeObject (const fuchsia_hardware_acpi::wire::Object & obj, ACPI_OBJECT * out)

Decode a FIDL object into an ACPICA object.

Defined at line 373 of file ../../src/devices/board/lib/acpi/fidl.cc