NeKernel dev
Loading...
Searching...
No Matches
Kernel::IFilesystemMgr Class Referenceabstract

Filesystem Mgr Interface class. More...

#include <FileMgr.h>

Public Member Functions

 IFilesystemMgr ()=default
virtual ~IFilesystemMgr ()=default
virtual NodePtr Create (_Input const Char *path)=0
virtual NodePtr CreateAlias (_Input const Char *path)=0
virtual NodePtr CreateDirectory (_Input const Char *path)=0
virtual NodePtr CreateSwapFile (const Char *path)=0
virtual bool Remove (_Input const Char *path)=0
virtual NodePtr Open (_Input const Char *path, _Input const Char *r)=0
virtual Void Write (_Input NodePtr node, _Input VoidPtr data, _Input Int32 flags, _Input SizeT size)=0
virtual _Output VoidPtr Read (_Input NodePtr node, _Input Int32 flags, _Input SizeT sz)=0
virtual Void Write (_Input const Char *name, _Input NodePtr node, _Input VoidPtr data, _Input Int32 flags, _Input SizeT size)=0
virtual _Output VoidPtr Read (_Input const Char *name, _Input NodePtr node, _Input Int32 flags, _Input SizeT sz)=0
virtual bool Seek (_Input NodePtr node, _Input SizeT off)=0
virtual SizeT Tell (_Input NodePtr node)=0
virtual bool Rewind (_Input NodePtr node)=0

Static Public Member Functions

static bool Mount (IFilesystemMgr *interface)
 Mounts a new filesystem into an active state.
static IFilesystemMgrUnmount ()
 Unmounts the active filesystem.
static IFilesystemMgrGetMounted ()
 Getter, gets the active filesystem.

Detailed Description

Filesystem Mgr Interface class.

Used to provide common I/O for a specific filesystem.

Constructor & Destructor Documentation

◆ IFilesystemMgr()

Kernel::IFilesystemMgr::IFilesystemMgr ( )
explicitdefault

◆ ~IFilesystemMgr()

virtual Kernel::IFilesystemMgr::~IFilesystemMgr ( )
virtualdefault

Member Function Documentation

◆ Create()

virtual NodePtr Kernel::IFilesystemMgr::Create ( _Input const Char * path)
pure virtual

◆ CreateAlias()

virtual NodePtr Kernel::IFilesystemMgr::CreateAlias ( _Input const Char * path)
pure virtual

◆ CreateDirectory()

virtual NodePtr Kernel::IFilesystemMgr::CreateDirectory ( _Input const Char * path)
pure virtual

◆ CreateSwapFile()

virtual NodePtr Kernel::IFilesystemMgr::CreateSwapFile ( const Char * path)
pure virtual

◆ GetMounted()

_Output IFilesystemMgr * Kernel::IFilesystemMgr::GetMounted ( )
static

Getter, gets the active filesystem.

FilesystemMgr getter.

Returns
The mounted filesystem.

◆ Mount()

_Output Bool Kernel::IFilesystemMgr::Mount ( IFilesystemMgr * interface)
static

Mounts a new filesystem into an active state.

Mount filesystem.

Parameters
interfacethe filesystem interface
Returns
Parameters
mount_ptrThe filesystem to mount.
Returns
if it succeeded true, otherwise false.

◆ Open()

virtual NodePtr Kernel::IFilesystemMgr::Open ( _Input const Char * path,
_Input const Char * r )
pure virtual

◆ Read() [1/2]

virtual _Output VoidPtr Kernel::IFilesystemMgr::Read ( _Input const Char * name,
_Input NodePtr node,
_Input Int32 flags,
_Input SizeT sz )
pure virtual

◆ Read() [2/2]

virtual _Output VoidPtr Kernel::IFilesystemMgr::Read ( _Input NodePtr node,
_Input Int32 flags,
_Input SizeT sz )
pure virtual

◆ Remove()

virtual bool Kernel::IFilesystemMgr::Remove ( _Input const Char * path)
pure virtual

◆ Rewind()

virtual bool Kernel::IFilesystemMgr::Rewind ( _Input NodePtr node)
pure virtual

◆ Seek()

virtual bool Kernel::IFilesystemMgr::Seek ( _Input NodePtr node,
_Input SizeT off )
pure virtual

◆ Tell()

virtual SizeT Kernel::IFilesystemMgr::Tell ( _Input NodePtr node)
pure virtual

◆ Unmount()

_Output IFilesystemMgr * Kernel::IFilesystemMgr::Unmount ( )
static

Unmounts the active filesystem.

Unmount filesystem.

Returns
The unmounted filesystem.

◆ Write() [1/2]

virtual Void Kernel::IFilesystemMgr::Write ( _Input const Char * name,
_Input NodePtr node,
_Input VoidPtr data,
_Input Int32 flags,
_Input SizeT size )
pure virtual

◆ Write() [2/2]

virtual Void Kernel::IFilesystemMgr::Write ( _Input NodePtr node,
_Input VoidPtr data,
_Input Int32 flags,
_Input SizeT size )
pure virtual

The documentation for this class was generated from the following files: