class MaybeOpenedVnode
Defined at line 46 of file ../../src/storage/lib/vfs/cpp/vfs.h
A wrapper around a Vnode that may or may not be open (e.g. Vnode returned from `CreateOrLookup`),
ensuring it is closed on destruction unless explicitly taken. This is used by `Vfs::Open` and
`Vfs::DeprecatedOpen` to clean up safely when returning early due to validation failures.
Public Methods
void MaybeOpenedVnode ()
Defined at line 48 of file ../../src/storage/lib/vfs/cpp/vfs.h
void MaybeOpenedVnode (fbl::RefPtr<Vnode> vn, bool is_open)
Defined at line 49 of file ../../src/storage/lib/vfs/cpp/vfs.h
void ~MaybeOpenedVnode ()
Defined at line 50 of file ../../src/storage/lib/vfs/cpp/vfs.h
void MaybeOpenedVnode (const MaybeOpenedVnode & )
Copying is not allowed to prevent double-closing the vnode.
Defined at line 57 of file ../../src/storage/lib/vfs/cpp/vfs.h
MaybeOpenedVnode & operator= (const MaybeOpenedVnode & )
Defined at line 58 of file ../../src/storage/lib/vfs/cpp/vfs.h
void MaybeOpenedVnode (MaybeOpenedVnode && other)
Move semantics to transfer ownership of the vnode and its open state.
Defined at line 61 of file ../../src/storage/lib/vfs/cpp/vfs.h
MaybeOpenedVnode & operator= (MaybeOpenedVnode && other)
Defined at line 65 of file ../../src/storage/lib/vfs/cpp/vfs.h
Vnode * operator-> ()
Defined at line 77 of file ../../src/storage/lib/vfs/cpp/vfs.h
bool is_open ()
Defined at line 78 of file ../../src/storage/lib/vfs/cpp/vfs.h
zx::result<> Open ()
Defined at line 80 of file ../../src/storage/lib/vfs/cpp/vfs.h
fbl::RefPtr<Vnode> TakeAsOpened ()
Takes the vnode. The caller assumes responsibility for closing it. For example, when returning
a successfully opened local node.
Defined at line 93 of file ../../src/storage/lib/vfs/cpp/vfs.h
fbl::RefPtr<Vnode> CloseAndTake ()
Closes the vnode if it is open, and returns it. This can be used, e.g., when forwarding a node
to a remote filesystem or transferring it to OpenResult, which expects to manage the open state
itself.
Defined at line 102 of file ../../src/storage/lib/vfs/cpp/vfs.h