NeKernel dev
Loading...
Searching...
No Matches
Kernel::FileStream< Encoding, FSClass > Class Template Referencefinal

#include <FileMgr.h>

Public Types

enum  {
  kFileMgrRestrictRead = 100 , kFileMgrRestrictReadBinary , kFileMgrRestrictWrite , kFileMgrRestrictWriteBinary ,
  kFileMgrRestrictReadWrite , kFileMgrRestrictReadWriteBinary
}

Public Member Functions

 FileStream (const Encoding *path, const Encoding *restrict_type)
 constructor
 ~FileStream ()
 destructor of the file stream.
FileStreamoperator= (const FileStream &)
 FileStream (const FileStream &)
ErrorOr< Int64Write (SizeT offset, const VoidPtr data, SizeT len) noexcept
ErrorOr< Int64Write (const Char *name, const VoidPtr data, SizeT len) noexcept
VoidPtr Read (const Char *name, SizeT sz) noexcept
VoidPtr Read (SizeT offset, SizeT sz)
NodePtr Leak ()
 Leak node pointer.
CharMIME () noexcept
 Leak MIME.

Private Attributes

NodePtr fFile {nullptr}
Int32 fFileRestrict {kFileMgrRestrictReadBinary}
const CharfMime {kFileMimeGeneric}

Detailed Description

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
class Kernel::FileStream< Encoding, FSClass >

FileStream class.

Template Parameters
Encodingfile encoding (char, wchar_t...)
FSClassFilesystem contract who takes care of it.

Member Enumeration Documentation

◆ anonymous enum

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
anonymous enum
Enumerator
kFileMgrRestrictRead 
kFileMgrRestrictReadBinary 
kFileMgrRestrictWrite 
kFileMgrRestrictWriteBinary 
kFileMgrRestrictReadWrite 
kFileMgrRestrictReadWriteBinary 

Constructor & Destructor Documentation

◆ FileStream() [1/2]

template<typename Encoding, typename Class>
Kernel::FileStream< Encoding, Class >::FileStream ( const Encoding * path,
const Encoding * restrict_type )
inlineexplicit

constructor

◆ ~FileStream()

template<typename Encoding, typename Class>
Kernel::FileStream< Encoding, Class >::~FileStream ( )
inline

destructor of the file stream.

◆ FileStream() [2/2]

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
Kernel::FileStream< Encoding, FSClass >::FileStream ( const FileStream< Encoding, FSClass > & )

Member Function Documentation

◆ Leak()

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
NodePtr Kernel::FileStream< Encoding, FSClass >::Leak ( )
inline

Leak node pointer.

Returns
The node pointer.

◆ MIME()

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
Char * Kernel::FileStream< Encoding, FSClass >::MIME ( )
inlinenoexcept

Leak MIME.

Returns
The MIME.

◆ operator=()

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
FileStream & Kernel::FileStream< Encoding, FSClass >::operator= ( const FileStream< Encoding, FSClass > & )

◆ Read() [1/2]

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
VoidPtr Kernel::FileStream< Encoding, FSClass >::Read ( const Char * name,
SizeT sz )
inlinenoexcept

◆ Read() [2/2]

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
VoidPtr Kernel::FileStream< Encoding, FSClass >::Read ( SizeT offset,
SizeT sz )
inline

◆ Write() [1/2]

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
ErrorOr< Int64 > Kernel::FileStream< Encoding, FSClass >::Write ( const Char * name,
const VoidPtr data,
SizeT len )
inlinenoexcept

◆ Write() [2/2]

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
ErrorOr< Int64 > Kernel::FileStream< Encoding, FSClass >::Write ( SizeT offset,
const VoidPtr data,
SizeT len )
inlinenoexcept

Member Data Documentation

◆ fFile

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
NodePtr Kernel::FileStream< Encoding, FSClass >::fFile {nullptr}
private

◆ fFileRestrict

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
Int32 Kernel::FileStream< Encoding, FSClass >::fFileRestrict {kFileMgrRestrictReadBinary}
private

◆ fMime

template<typename Encoding = Char, typename FSClass = IFilesystemMgr>
const Char* Kernel::FileStream< Encoding, FSClass >::fMime {kFileMimeGeneric}
private

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