*[<Null safety>](https://dart.dev/null-safety)*
A PseudoFile is a file-like object whose content is generated and modified dynamically on-the-fly by invoking handler functions rather than being directly persisted as a sequence of bytes.
This class is designed to allow programs to publish read-only, or read-write properties such as configuration options, debug flags, and dumps of internal state which may change dynamically.
Although PseudoFile usually contain text, they can also be used for binary data.
Read callback, is called when the connection to the file is opened and pre-populates a buffer that will be used to when serving this file content over this particular connection.
Write callback, if any, is called when the connection is closed if the file
content was ever modified while the connection was open.
Modifications are: fidl_fuchsia_io.File#write()
calls or opening a file
for writing with the OpenFlags.truncate
flag set.
Inheritance
- Object
- Vnode
- PseudoFile
Implementers
Constructors
PseudoFile.readOnly (ReadFn? _readFn)
Creates a new read-only PseudoFile backed by the specified read handler.
PseudoFile.readOnlyStr (ReadFnStr fn)
See #readOnly()
. Wraps the callback, allowing it to return a String instead of a Uint8List,
but otherwise behaves identical to #readOnly()
.
PseudoFile.readWrite (int _capacity, ReadFn? _readFn, WriteFn? _writeFn)
Creates new PseudoFile backed by the specified read and write handlers.
PseudoFile.readWriteStr (int _capacity, ReadFnStr rfn, WriteFnStr wfn)
See #readWrite()
. Wraps the read callback, allowing it to return a String
instead of a
Uint8List
. Wraps the write callback, only allowing valid UTF-8 content to be written into
the file. Written bytes are converted into a string instance, and the passed to the handler.
In every other aspect behaves just like #readWrite()
.
Properties
hashCode → int
The hash code for this object.
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited
Methods
close() void
Close this node and all of its bindings and children.
override
connect(dynamic flags, int mode, InterfaceRequest request, [dynamic parentFlags]) int
Connects to this instance of PseudoFile and serves fidl_fuchsia_io.File
over fidl.
override
describe() dynamic
describe2(dynamic query) dynamic
filterForNodeReference(dynamic flags) dynamic
Filter flags when OpenFlags.nodeReference
is passed.
This will maintain compatibility with c++ layer.
inherited
inodeNumber() int
Inode number as defined in fuchsia.io.
override
noSuchMethod(Invocation invocation) dynamic
Invoked when a non-existent method or property is accessed.
inherited
open(dynamic flags, int mode, String path, InterfaceRequest request, [dynamic parentFlags]) void
This function is called from fidl_fuchsia_io.Directory#open
.
This function parses path and opens correct node.
inherited
sendErrorEvent(dynamic flags, int status, InterfaceRequest request) void
Create a error node to send onOpen event with failure status.
inherited
toString() String
A string representation of this object.
inherited
type() dynamic
override
Operators
operator ==(Object other) bool
The equality operator.
inherited