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