blob: c44835017f450e326e14be51d3a8c335feb89d2b [file] [log] [blame] [view]
# open method
*[<Null safety>](https://dart.dev/null-safety)*
- @override
void open
(dynamic flags, int mode, String path, [InterfaceRequest](../../package-fidl_fidl/InterfaceRequest-class.md) request, [dynamic parentFlags])
_<span class="feature override">override</span>_
<p>This function is called from <code>fidl_fuchsia_io.Directory#open</code>.
This function parses path and opens correct node.</p>
<p>Vnode provides a simplified implementation for non-directory types.
Behavior:
For directory types, it will throw UnimplementedError error.
For non empty path it will fail with <code>ERR_NOT_DIR</code>.</p>
## Implementation
```dart
@override
void open(fidl_io.OpenFlags flags, int mode, String path,
fidl.InterfaceRequest<fidl_io.Node> request,
[fidl_io.OpenFlags? parentFlags]) {
if (_inheritedNodes.contains(path)) {
_directory.open(flags, mode, path, request);
} else {
super.open(
flags, mode, path, request, parentFlags ?? Flags.fsRightsDefault());
}
}
```