class CompositeNodeSpec
Defined at line 30 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 (CompositeNodeSpecCreateInfocreate_info,async_dispatcher_t *dispatcher,NodeManager *node_manager)
Defined at line 14 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 ResourceWkPtr & resource)
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 25 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.cc
void ~CompositeNodeSpec ()
Defined at line 35 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
const std::vector<fuchsia_driver_framework::ParentSpec2> & parent_specs ()
Defined at line 52 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
const std::string & name ()
Defined at line 56 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
const std::string & driver_host_name_for_colocation ()
Defined at line 57 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
std::optional<NodeWkPtr> completed_composite_node ()
Defined at line 61 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
const std::vector<std::optional<ResourceWkPtr>> & GetParentResources ()
Exposed for testing.
Defined at line 66 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
std::vector<std::optional<NodeWkPtr>> GetParentNodes ()
Defined at line 70 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.h
fuchsia_driver_development::wire::CompositeNodeInfo GetCompositeInfo (fidl::AnyArena & arena)
Defined at line 101 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 79 of file ../../src/devices/bin/driver_manager/composite/composite_node_spec.cc