Cogs.Core
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Cogs::FileHandle Class Reference

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 (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
 

Detailed Description

Definition at line 15 of file FileHandle.h.

Member Typedef Documentation

◆ Ptr

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

Definition at line 17 of file FileHandle.h.

Member Enumeration Documentation

◆ AccessMode

enum class Cogs::FileHandle::AccessMode
strong

Definition at line 26 of file FileHandle.h.

◆ OpenMode

enum class Cogs::FileHandle::OpenMode
strong

Definition at line 19 of file FileHandle.h.

◆ ProtectionMode

enum class Cogs::FileHandle::ProtectionMode
strong

Definition at line 31 of file FileHandle.h.

Constructor & Destructor Documentation

◆ ~FileHandle()

Cogs::FileHandle::~FileHandle ( )

Definition at line 17 of file FileHandle.Linux.cpp.

◆ FileHandle()

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

Definition at line 38 of file FileHandle.h.

Member Function Documentation

◆ close()

void Cogs::FileHandle::close ( )

Definition at line 52 of file FileHandle.Linux.cpp.

◆ getMappedMemory()

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

Definition at line 69 of file FileHandle.h.

◆ getSize()

size_t Cogs::FileHandle::getSize ( ) const

Definition at line 63 of file FileHandle.Linux.cpp.

◆ isMapped()

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

Definition at line 72 of file FileHandle.h.

◆ isOpen()

bool Cogs::FileHandle::isOpen ( ) const

Definition at line 59 of file FileHandle.Linux.cpp.

◆ map()

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

Definition at line 143 of file FileHandle.Linux.cpp.

◆ open()

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

Definition at line 21 of file FileHandle.Linux.cpp.

◆ operator=()

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

Definition at line 50 of file FileHandle.h.

◆ read()

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

Definition at line 110 of file FileHandle.Linux.cpp.

◆ unmap()

void Cogs::FileHandle::unmap ( )

Definition at line 166 of file FileHandle.Linux.cpp.

◆ write()

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

Definition at line 77 of file FileHandle.Linux.cpp.

Member Data Documentation

◆ mappedMemory

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

Definition at line 88 of file FileHandle.h.


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