Cogs.Foundation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Cogs::FileHandle Class Reference

#include <FileHandle.h>

Public Types

enum class  OpenMode { Create , CreateAlways , Open , OpenAlways }
 
enum class  AccessMode { Read , Write }
 
enum class  ProtectionMode { ReadOnly }
 
using Ptr = std::shared_ptr< FileHandle >
 

Public Member Functions

 FileHandle ()=default
 
 ~FileHandle ()
 
 FileHandle (const FileHandle &)=delete
 
 FileHandle (FileHandle &&move) noexcept
 
FileHandleoperator= (const FileHandle &)=delete
 
FileHandleoperator= (FileHandle &&move) noexcept
 
void close ()
 
size_t getSize () const
 
void * getMappedMemory () const
 
bool isOpen () const
 
bool isMapped () const
 
bool write (const void *buffer, size_t size, size_t &written)
 
bool read (void *buffer, size_t size, size_t &read)
 
void * map (ProtectionMode protectionMode, size_t offset, size_t size)
 
void unmap ()
 

Static Public Member Functions

static Ptr open (std::string_view path, OpenMode openMode, AccessMode accessMode)
 

Private Attributes

void * mappedMemory = nullptr
 

Member Typedef Documentation

◆ Ptr

using Cogs::FileHandle::Ptr = std::shared_ptr<FileHandle>

Member Enumeration Documentation

◆ AccessMode

enum class Cogs::FileHandle::AccessMode
strong
Enumerator
Read 
Write 

◆ OpenMode

enum class Cogs::FileHandle::OpenMode
strong
Enumerator
Create 
CreateAlways 
Open 
OpenAlways 

◆ ProtectionMode

Enumerator
ReadOnly 

Constructor & Destructor Documentation

◆ FileHandle() [1/3]

Cogs::FileHandle::FileHandle ( )
default

◆ ~FileHandle()

Cogs::FileHandle::~FileHandle ( )

References close().

◆ FileHandle() [2/3]

Cogs::FileHandle::FileHandle ( const FileHandle )
delete

◆ FileHandle() [3/3]

Cogs::FileHandle::FileHandle ( FileHandle &&  move)
inlinenoexcept

Member Function Documentation

◆ close()

void Cogs::FileHandle::close ( )

Referenced by ~FileHandle().

◆ getMappedMemory()

void * Cogs::FileHandle::getMappedMemory ( ) const
inline

◆ getSize()

size_t Cogs::FileHandle::getSize ( ) const

References LOG_ERROR, LOG_WARNING, and Cogs::logger.

◆ isMapped()

bool Cogs::FileHandle::isMapped ( ) const
inline

◆ isOpen()

bool Cogs::FileHandle::isOpen ( ) const

◆ map()

void * Cogs::FileHandle::map ( ProtectionMode  protectionMode,
size_t  offset,
size_t  size 
)

References LOG_ERROR, and Cogs::logger.

◆ open()

Cogs::FileHandle::Ptr Cogs::FileHandle::open ( std::string_view  path,
OpenMode  openMode,
AccessMode  accessMode 
)
static

◆ operator=() [1/2]

FileHandle & Cogs::FileHandle::operator= ( const FileHandle )
delete

◆ operator=() [2/2]

FileHandle & Cogs::FileHandle::operator= ( FileHandle &&  move)
inlinenoexcept

◆ read()

bool Cogs::FileHandle::read ( void *  buffer,
size_t  size,
size_t &  read 
)

References LOG_ERROR, and Cogs::logger.

◆ unmap()

void Cogs::FileHandle::unmap ( )

◆ write()

bool Cogs::FileHandle::write ( const void *  buffer,
size_t  size,
size_t &  written 
)

References LOG_ERROR, and Cogs::logger.

Member Data Documentation

◆ mappedMemory

void* Cogs::FileHandle::mappedMemory = nullptr
private

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