C# Class SharpOS.Kernel.Vfs.VirtualFileSystem

Implements the virtual file system service for the kernel.
The virtual file system service provides the root '/' naming namespace for other nodes and services.
Inheritance: IFileSystem, IFileSystemService
Mostra file Open project: sharpos/SharpOS

Private Properties

Property Type Description
IFileSystemService bool
IFileSystemService bool
VirtualFileSystem System

Public Methods

Method Description
Access ( string path, AccessMode mode ) : bool

Checks if the caller has access to the inode

ChangeDirectory ( string path ) : void

Changes the current directory in the thread execution block.

Create ( string path, VfsNodeType type, object settings, FileAccess access, FileShare share ) : object

Creates a new node in the (virtual) filesystem.

This function creates new nodes in the virtual filesystem. In contrast to *nix this call creates all node types, e.g. files, directories, devices and more. Specific types may require additional settings, which are specified in a settings object passed as the third parameter.

Delete ( string path ) : void

Deletes the named node from the filesystem.

Mount ( string source, string target ) : void

Mounts a new file system.

Open ( string path, FileAccess access, FileShare share ) : object
Rename ( string old, string newname ) : void
Setup ( ) : void

Initializes a new instance of the virtual file system.

Stat ( string path ) : object

Retrieves a

Unmount ( string path ) : void

Unmounts the filesystem rooted at the given path.

In contrast to Posix this does not have to be the root directory of the filesystem. Any path in the filesystem will unmount the entire tree.

Private Methods

Method Description
IFileSystemService ( ) : bool
IFileSystemService ( SettingsBase settings ) : bool
VirtualFileSystem ( ) : System

Method Details

Access() public static method

Checks if the caller has access to the inode
public static Access ( string path, AccessMode mode ) : bool
path string The resource to check permissions for.
mode AccessMode
return bool

ChangeDirectory() public static method

Changes the current directory in the thread execution block.
public static ChangeDirectory ( string path ) : void
path string The path to change to. This path may be relative or absolute.
return void

Create() public static method

Creates a new node in the (virtual) filesystem.
This function creates new nodes in the virtual filesystem. In contrast to *nix this call creates all node types, e.g. files, directories, devices and more. Specific types may require additional settings, which are specified in a settings object passed as the third parameter.
public static Create ( string path, VfsNodeType type, object settings, FileAccess access, FileShare share ) : object
path string The path to create.
type VfsNodeType The type of the node to create.
settings object Settings used to initialize the node.
access FileAccess Requests the specified access modes on the created object.
share FileShare Requests the specified sharing settings on the object.
return object

Delete() public static method

Deletes the named node from the filesystem.
public static Delete ( string path ) : void
path string The path, which identifies a node.
return void

Mount() public static method

Mounts a new file system.
public static Mount ( string source, string target ) : void
source string The source of the filesystem. This is usually a device name, but can also be another directory.
target string The path including the name of the mount point, where to mount the new filesystem.
return void

Open() public static method

public static Open ( string path, FileAccess access, FileShare share ) : object
path string
access FileAccess
share FileShare
return object

Rename() public static method

public static Rename ( string old, string newname ) : void
old string
newname string
return void

Setup() public static method

Initializes a new instance of the virtual file system.
public static Setup ( ) : void
return void

Stat() public static method

Retrieves a
public static Stat ( string path ) : object
path string
return object

Unmount() public static method

Unmounts the filesystem rooted at the given path.
In contrast to Posix this does not have to be the root directory of the filesystem. Any path in the filesystem will unmount the entire tree.
public static Unmount ( string path ) : void
path string The path identifying the filesystem to unmount.
return void