template <typename FidlType>
class MetadataServer
Defined at line 67 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
Public Methods
void MetadataServer<FidlType> (std::string instance_name)
The caller's component manifest must specify `|FidlType|::kSerializableName` as a service
capability and expose it. Otherwise, other components will not be able to retrieve metadata.
Defined at line 71 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<> SetMetadata (const FidlType & metadata)
Deprecated. Do not use. Use `Serve()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 77 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> SetMetadataFromPDevIfExists (fidl::UnownedClientEnd<fuchsia_hardware_platform_device::Device> pdev)
Deprecated. Do not use. Use `ForwardAndServe()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 91 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> SetMetadataFromPDevIfExists (fidl::ClientEnd<fuchsia_hardware_platform_device::Device> & pdev)
Deprecated. Do not use. Use `ForwardAndServe()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 115 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> SetMetadataFromPDevIfExists (fdf::PDev & pdev)
Deprecated. Do not use. Use `ForwardAndServe()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 122 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<> ForwardMetadata (const std::shared_ptr<fdf::Namespace> & incoming, std::string_view instance_name)
Deprecated. Do not use. Use `ForwardAndServe()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 128 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> ForwardMetadataIfExists (const std::shared_ptr<fdf::Namespace> & incoming, std::string_view instance_name)
Deprecated. Do not use. Use `ForwardAndServe()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 163 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<> Serve (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher)
Deprecated. Do not use. Use non-deprecated overloads of `Serve()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 209 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<> Serve (component::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher)
Deprecated. Do not use. Use non-deprecated overloads of `Serve()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 215 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> ForwardAndServe (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher, fidl::UnownedClientEnd<fuchsia_hardware_platform_device::Device> pdev)
Retrieves |FidlType| from |pdev| and serves it to |outgoing|. If the metadata was unable to be
retrieved then nothing is served. Returns true if the metadata was retrieved and false
otherwise.
Defined at line 230 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> ForwardAndServe (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher, fidl::ClientEnd<fuchsia_hardware_platform_device::Device> & pdev)
Defined at line 254 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> ForwardAndServe (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher, fdf::PDev & pdev)
Defined at line 260 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> ForwardAndServe (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher, fidl::UnownedClientEnd<fuchsia_io::Directory> incoming, std::string_view instance_name)
Retrieves |FidlType| from |instance_name| in |incoming| and serves it to |outgoing|. If the
metadata was unable to be retrieved then nothing is served. Returns true if the metadata was
retrieved and false otherwise.
Defined at line 268 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<bool> ForwardAndServe (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher, const std::shared_ptr<fdf::Namespace> & incoming, std::string_view instance_name)
Defined at line 308 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
zx::result<> Serve (fdf::OutgoingDirectory & outgoing, async_dispatcher_t * dispatcher, const FidlType & metadata)
Serves the fuchsia.driver.metadata/Service service to |outgoing| under the service name
`|FidlType|::kSerializableName` and instance name `MetadataServer::instance_name_`. |metadata|
is the metadata to be served.
Defined at line 318 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
fuchsia_driver_framework::Offer MakeOffer ()
Deprecated. Do not use. Use `CreateOffer()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 333 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
fuchsia_driver_framework::wire::Offer MakeOffer (fidl::AnyArena & arena)
Deprecated. Do not use. Use `CreateOffer()` instead.
TODO(b/439047765): Remove once no longer used.
Defined at line 340 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
std::optional<fuchsia_driver_framework::Offer> CreateOffer ()
Creates an offer for this `MetadataServer` instance's fuchsia.driver.metadata/Service
service. Returns an std::nullopt if the metadata server is not serving metadata.
Defined at line 347 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h
std::optional<fuchsia_driver_framework::wire::Offer> CreateOffer (fidl::AnyArena & arena)
Creates an offer for this `MetadataServer` instance's fuchsia.driver.metadata/Service
service. Returns an std::nullopt if the metadata server is not serving metadata.
Defined at line 357 of file ../../sdk/lib/driver/metadata/cpp/metadata_server.h