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