xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
Xale::Storage::BinaryFileManager Class Reference

Concrete implementation of IFileManager for binary file operations. More...

#include <BinaryFileManager.h>

Inheritance diagram for Xale::Storage::BinaryFileManager:
Inheritance graph
Collaboration diagram for Xale::Storage::BinaryFileManager:
Collaboration graph

Public Member Functions

 BinaryFileManager ()
 Constructor for BinaryFileManager.
 BinaryFileManager (const BinaryFileManager &)=delete
 ~BinaryFileManager ()
 Destructor for BinaryFileManager.
bool open (const std::filesystem::path &path) override
 Opens a binary file at the specified path.
void close () override
 Closes the currently opened binary file.
std::size_t readAt (std::uint64_t offset, void *buffer, std::size_t size) override
 Reads data from the binary file at the specified offset into the provided buffer.
std::size_t writeAt (std::uint64_t offset, const void *buffer, std::size_t size) override
 Writes data to the binary file at the specified offset from the provided buffer.
bool sync () override
 Synchronizes the binary file to ensure all data is written to disk.
std::uint64_t size () const override
 Gets the size of the binary file.
BinaryFileManageroperator= (const BinaryFileManager &)=delete

Detailed Description

Concrete implementation of IFileManager for binary file operations.

Constructor & Destructor Documentation

◆ BinaryFileManager() [1/2]

Xale::Storage::BinaryFileManager::BinaryFileManager ( )

Constructor for BinaryFileManager.

◆ BinaryFileManager() [2/2]

Xale::Storage::BinaryFileManager::BinaryFileManager ( const BinaryFileManager & )
delete

◆ ~BinaryFileManager()

Xale::Storage::BinaryFileManager::~BinaryFileManager ( )

Destructor for BinaryFileManager.

Member Function Documentation

◆ close()

void Xale::Storage::BinaryFileManager::close ( )
overridevirtual

Closes the currently opened binary file.

Implements Xale::Storage::IFileManager.

◆ open()

bool Xale::Storage::BinaryFileManager::open ( const std::filesystem::path & path)
overridevirtual

Opens a binary file at the specified path.

Parameters
pathThe file path to open
Returns
true if the file is opened successfully, false otherwise

Implements Xale::Storage::IFileManager.

◆ operator=()

BinaryFileManager & Xale::Storage::BinaryFileManager::operator= ( const BinaryFileManager & )
delete

◆ readAt()

std::size_t Xale::Storage::BinaryFileManager::readAt ( std::uint64_t offset,
void * buffer,
std::size_t size )
overridevirtual

Reads data from the binary file at the specified offset into the provided buffer.

Parameters
offsetThe offset in the file to start reading from
bufferThe buffer to read data into
sizeThe number of bytes to read
Returns
The number of bytes actually read

Implements Xale::Storage::IFileManager.

◆ size()

std::uint64_t Xale::Storage::BinaryFileManager::size ( ) const
overridevirtual

Gets the size of the binary file.

Implements Xale::Storage::IFileManager.

◆ sync()

bool Xale::Storage::BinaryFileManager::sync ( )
overridevirtual

Synchronizes the binary file to ensure all data is written to disk.

Returns
true if the synchronization is successful, false otherwise

Implements Xale::Storage::IFileManager.

◆ writeAt()

std::size_t Xale::Storage::BinaryFileManager::writeAt ( std::uint64_t offset,
const void * buffer,
std::size_t size )
overridevirtual

Writes data to the binary file at the specified offset from the provided buffer.

Parameters
offsetThe offset in the file to start writing to
bufferThe buffer containing data to write
sizeThe number of bytes write

Implements Xale::Storage::IFileManager.


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