blob: ccf0a55792bacdb13d7bb0d781e6baccfad13e27 [file] [log] [blame] [view]
# ComposedPseudoDir class
*[<Null safety>](https://dart.dev/null-safety)*
<p>A <a href="../package-fuchsia_vfs_vfs/PseudoDir-class.md">PseudoDir</a> which will pass requests for inherited nodes to the underlying
<code>fidl_fuchsia_io.Directory</code>.</p>
<p>Inherited Nodes must be specified at time of creation. Any requests to open
nodes in the <code>inheritedNodes</code> list will be proxied to the provided
directory. If a request is made to a node not included in this list it will
attempt to open the node on the super class.</p>
**Inheritance**
- Object
- [Vnode](../package-fuchsia_vfs_vfs/Vnode-class.md)
- [PseudoDir](../package-fuchsia_vfs_vfs/PseudoDir-class.md)
- ComposedPseudoDir
## Constructors
[ComposedPseudoDir](../package-fuchsia_vfs_vfs/ComposedPseudoDir/ComposedPseudoDir.md) ({required dynamic directory, List&lt;String> inheritedNodes = const []})
Constructs the <a href="../package-fuchsia_vfs_vfs/ComposedPseudoDir-class.md">ComposedPseudoDir</a> and provides a list
of <code>inheritedServices</code> to proxy to the <code>directory</code>.
## Properties
##### [hashCode](../package-fuchsia_vfs_vfs/Vnode/hashCode.md) &#8594; int
The hash code for this object.
_<span class="feature">read-only</span><span class="feature">inherited</span>_
##### [runtimeType](../package-fuchsia_vfs_vfs/Vnode/runtimeType.md) &#8594; Type
A representation of the runtime type of the object.
_<span class="feature">read-only</span><span class="feature">inherited</span>_
## Methods
##### [addNode](../package-fuchsia_vfs_vfs/ComposedPseudoDir/addNode.md)(String name, [Vnode](../package-fuchsia_vfs_vfs/Vnode-class.md) node) int
Adds a directory entry associating the given <code>name</code> with <code>node</code>.
It is ok to add the same Vnode multiple times with different names.
_<span class="feature">override</span>_
##### [close](../package-fuchsia_vfs_vfs/PseudoDir/close.md)() void
Close this node and all of its bindings and children.
_<span class="feature">inherited</span>_
##### [connect](../package-fuchsia_vfs_vfs/PseudoDir/connect.md)(dynamic flags, int mode, [InterfaceRequest](../package-fidl_fidl/InterfaceRequest-class.md) request, [dynamic parentFlags]) int
Connects to this instance of <a href="../package-fuchsia_vfs_vfs/PseudoDir-class.md">PseudoDir</a> and serves
<code>fidl_fuchsia_io.Directory</code> over fidl.
_<span class="feature">inherited</span>_
##### [filterForNodeReference](../package-fuchsia_vfs_vfs/Vnode/filterForNodeReference.md)(dynamic flags) dynamic
Filter flags when <code>OpenFlags.nodeReference</code> is passed.
This will maintain compatibility with c++ layer.
_<span class="feature">inherited</span>_
##### [inodeNumber](../package-fuchsia_vfs_vfs/PseudoDir/inodeNumber.md)() int
Inode number as defined in fuchsia.io.
_<span class="feature">inherited</span>_
##### [isEmpty](../package-fuchsia_vfs_vfs/PseudoDir/isEmpty.md)() bool
Checks if directory is empty.
_<span class="feature">inherited</span>_
##### [listNodeNames](../package-fuchsia_vfs_vfs/PseudoDir/listNodeNames.md)() List&lt;String>
Returns names of the the nodes present in this directory.
_<span class="feature">inherited</span>_
##### [lookup](../package-fuchsia_vfs_vfs/PseudoDir/lookup.md)(String name) [Vnode](../package-fuchsia_vfs_vfs/Vnode-class.md)?
Looks up a node for given <code>name</code>.
_<span class="feature">inherited</span>_
##### [noSuchMethod](../package-fuchsia_vfs_vfs/Vnode/noSuchMethod.md)(Invocation invocation) dynamic
Invoked when a non-existent method or property is accessed.
_<span class="feature">inherited</span>_
##### [open](../package-fuchsia_vfs_vfs/ComposedPseudoDir/open.md)(dynamic flags, int mode, String path, [InterfaceRequest](../package-fidl_fidl/InterfaceRequest-class.md) request, [dynamic parentFlags]) void
This function is called from <code>fidl_fuchsia_io.Directory#open</code>.
This function parses path and opens correct node.
_<span class="feature">override</span>_
##### [removeAllNodes](../package-fuchsia_vfs_vfs/PseudoDir/removeAllNodes.md)() void
Removes all directory entries.
_<span class="feature">inherited</span>_
##### [removeNode](../package-fuchsia_vfs_vfs/PseudoDir/removeNode.md)(String name) int
Removes a directory entry with the given <code>name</code>.
_<span class="feature">inherited</span>_
##### [sendErrorEvent](../package-fuchsia_vfs_vfs/Vnode/sendErrorEvent.md)(dynamic flags, int status, [InterfaceRequest](../package-fidl_fidl/InterfaceRequest-class.md) request) void
Create a error node to send onOpen event with failure status.
_<span class="feature">inherited</span>_
##### [serve](../package-fuchsia_vfs_vfs/PseudoDir/serve.md)([InterfaceRequest](../package-fidl_fidl/InterfaceRequest-class.md) request, {dynamic rights}) int
Serves this <code>request</code> directory over request channel.
Caller may specify the rights granted to the <code>request</code> connection.
If <code>rights</code> is omitted, it defaults to readable and writable.
_<span class="feature">inherited</span>_
##### [toString](../package-fuchsia_vfs_vfs/Vnode/toString.md)() String
A string representation of this object.
_<span class="feature">inherited</span>_
##### [type](../package-fuchsia_vfs_vfs/PseudoDir/type.md)() dynamic
_<span class="feature">inherited</span>_
## Operators
##### [operator ==](../package-fuchsia_vfs_vfs/Vnode/operator_equals.md)(Object other) bool
The equality operator.
_<span class="feature">inherited</span>_