Google celebrates pride. See how.

open method

*[<Null safety>](https://dart.dev/null-safety)*
  • @override

void open (dynamic flags, int mode, String path, InterfaceRequest request, [dynamic parentFlags])

override

This function is called from fidl_fuchsia_io.Directory#open. This function parses path and opens correct node.

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 ERR_NOT_DIR.

Implementation

@override
void open(
    OpenFlags flags, int mode, String path, InterfaceRequest<Node> request,
    [OpenFlags? parentFlags]) {
  if (_isClosed) {
    sendErrorEvent(flags, ZX.ERR_NOT_SUPPORTED, request);
    return;
  }

  final status = _validateFlags(flags);
  if (status != ZX.OK) {
    sendErrorEvent(flags, status, request);
    return;
  }

  // Forward the reqeuest on to the remote directory
  _proxy.open(flags, mode, path, request);
}