class CompositeNodeSpec

Defined at line 28 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

This partially abstract class represents a composite node spec and is responsible for managing

its state and composite node. The CompositeNodeSpec class will manage the state of its bound

nodes while its subclasses manage the composite node under the spec.

Public Methods

void CompositeNodeSpec (CompositeNodeSpecCreateInfo create_info, async_dispatcher_t * dispatcher, NodeManager * node_manager)

Defined at line 13 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.cc

zx::result<std::optional<NodeWkPtr>> BindParent (fuchsia_driver_framework::wire::CompositeParent composite_parent, const NodeWkPtr & node_ptr)

Called when CompositeNodeManager receives a MatchedNodeRepresentation.

Return ZX_ERR_ALREADY_BOUND if it's already bound. If the composite is complete, return

a pointer to the new node. Otherwise, return a std::nullopt. The lifetime of this

node object is managed by the parent nodes. Virtual for testing.

Defined at line 24 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.cc

void ~CompositeNodeSpec ()

Defined at line 33 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

const std::vector<fuchsia_driver_framework::ParentSpec2> & parent_specs ()

Defined at line 49 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

const std::string & name ()

Defined at line 53 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

const std::string & driver_host_name_for_colocation ()

Defined at line 54 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

std::optional<NodeWkPtr> completed_composite_node ()

Defined at line 58 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

const std::vector<std::optional<NodeWkPtr>> & GetParentNodes ()

Exposed for testing.

Defined at line 63 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h

fuchsia_driver_development::wire::CompositeNodeInfo GetCompositeInfo (fidl::AnyArena & arena)

Defined at line 99 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.cc

void Remove (RemoveCompositeNodeCallback callback)

Remove the underlying composite node and unmatch all of its parents. Called for

rebind. Virtual for testing.

Defined at line 77 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.cc