C# Class Mosa.FileSystem.FAT.VfsDirectory

Inheritance: Mosa.FileSystem.VFS.DirectoryNode
Afficher le fichier Open project: tgiphil/MOSA-Project

Protected Properties

Свойство Type Description
directoryCluster uint

Méthodes publiques

Méthode Description
Create ( string name, VfsNodeType type, object settings ) : IVfsNode

Creates a new file system entry of the given name and type.

In theory every file system should support any VfsNodeType. Standard objects, such as directories and files are obvious. For other objects however, the file system is encouraged to store the passed settings in a specially marked file and treat these files as the appropriate node type. Instances of these objects can be retrieved using VfsObjectFactory.Create(settings). Access rights do not need to be checked by the node implementation. They have been already been checked by the VirtualFileSystem itself.

Delete ( IVfsNode child, DirectoryEntry dentry ) : void

Called to delete a child from a directory.

This function deletes a child IVfsNode from a directory. If child is a directory, it will be empty before this call is executed. It is recommended to include a debug sanity check though. If the file system needs to know the name of the child to delete, it can retrieve it from DirectoryEntry.Name.

Lookup ( string name ) : IVfsNode

Open ( FileAccess access, FileShare share ) : object

Opens the IVfsNode and returns an object capable of doing something smart with the IVfsNode.

This method is central to the entire VFS. It allows for interaction with file system entries in a way not possible with classical operating systems. The result of this function is heavily dependent on the item represented by the node, e.g. for a classic file (stream of bytes) the result of this method call would be a System.IO.Stream. For a device the result would be the driver object, for a directory it would be a System.IO.DirectoryInfo object, for kernel objects the respective object such as System.Threading.EventWaitHandle, System.Threading.Mutex, System.Threading.Thread, System.Diagnostics.Process etc. Note: The object retrieved can be closed by the respective methods on the returned object. There's no close functionality on the IVfsNode itself.

VfsDirectory ( IFileSystem fs, uint directoryCluster ) : System.IO

Initializes a new instance of the VfsDirectory class.

Method Details

Create() public méthode

Creates a new file system entry of the given name and type.
In theory every file system should support any VfsNodeType. Standard objects, such as directories and files are obvious. For other objects however, the file system is encouraged to store the passed settings in a specially marked file and treat these files as the appropriate node type. Instances of these objects can be retrieved using VfsObjectFactory.Create(settings). Access rights do not need to be checked by the node implementation. They have been already been checked by the VirtualFileSystem itself.
The specified node type is not supported in the file system owning the node. See remarks about this.
public Create ( string name, VfsNodeType type, object settings ) : IVfsNode
name string The name of the file system entry to create.
type VfsNodeType The type of the file system entry. See remarks.
settings object Potential settings for the file system entry.
Résultat IVfsNode

Delete() public méthode

Called to delete a child from a directory.
This function deletes a child IVfsNode from a directory. If child is a directory, it will be empty before this call is executed. It is recommended to include a debug sanity check though. If the file system needs to know the name of the child to delete, it can retrieve it from DirectoryEntry.Name.
The object does not support removal this way. There's most likely an object specific API to remove this IVfsNode.
public Delete ( IVfsNode child, DirectoryEntry dentry ) : void
child IVfsNode The IVfsNode interface of the child.
dentry Mosa.FileSystem.VFS.DirectoryEntry The DirectoryEntry of the child.
Résultat void

Lookup() public méthode

public Lookup ( string name ) : IVfsNode
name string
Résultat IVfsNode

Open() public méthode

Opens the IVfsNode and returns an object capable of doing something smart with the IVfsNode.
This method is central to the entire VFS. It allows for interaction with file system entries in a way not possible with classical operating systems. The result of this function is heavily dependent on the item represented by the node, e.g. for a classic file (stream of bytes) the result of this method call would be a System.IO.Stream. For a device the result would be the driver object, for a directory it would be a System.IO.DirectoryInfo object, for kernel objects the respective object such as System.Threading.EventWaitHandle, System.Threading.Mutex, System.Threading.Thread, System.Diagnostics.Process etc. Note: The object retrieved can be closed by the respective methods on the returned object. There's no close functionality on the IVfsNode itself.
public Open ( FileAccess access, FileShare share ) : object
access FileAccess
share FileShare
Résultat object

VfsDirectory() public méthode

Initializes a new instance of the VfsDirectory class.
public VfsDirectory ( IFileSystem fs, uint directoryCluster ) : System.IO
fs IFileSystem The fs.
directoryCluster uint The directory cluster.
Résultat System.IO

Property Details

directoryCluster protected_oe property

protected uint directoryCluster
Résultat uint