Dynalib Utils
Public Member Functions | Static Public Member Functions | List of all members
PageFile Class Reference

#include <PageFile.h>

Public Member Functions

 PageFile (const String &fileName)
 
 PageFile (const String &fileName, uint userHeaderSize, uint pageSize)
 
virtual ~PageFile ()
 
bool isOpen ()
 
bool isNewFile ()
 
bool open (const String &fileName, const char *mode)
 
void close ()
 
short getVersionMaj ()
 
short getVersionMin ()
 
uint getUserHeaderSize ()
 
index_t getPageSize ()
 
index_t getDeletedPageCount ()
 
void resizeFile (index_t pageCount)
 
FileHeadergetHeader ()
 
DynaBuffergetNewPageBuffer ()
 
DynaBuffergetPageBufferCopy (DynaBuffer *buffer)
 
index_t getUserHeaderOffset ()
 
index_t getPageHeaderOffset (index_t pageIndex)
 
void rewind ()
 
bool readFileHeader ()
 
bool writeFileHeader ()
 
index_t seekToUserHeader ()
 
bool readUserHeader (bool doSeek=true)
 
bool writeUserHeader (bool doSeek=true)
 
index_t seekToPageHeader (index_t pageIndex, int adjust)
 
bool readPageHeader (index_t pageIndex)
 
bool writePageHeader (index_t pageIndex)
 
uint8_t * getUserHeaderPointer ()
 
void deletePage (index_t pageIndex, DynaBuffer *buffer)
 
void deletePage (index_t pageIndex)
 
void _clearPage (index_t pageIndex, DynaBuffer *buffer)
 
void clearPage (index_t pageIndex, DynaBuffer *buffer)
 
void clearPages (index_t frPageIndex, index_t toPageIndex)
 
bool readPage (index_t pageIndex, DynaBuffer *buffer)
 
bool readNextPage (DynaBuffer *buffer)
 
void writePage (index_t pageIndex, DynaBuffer *buffer, int bufOffset, size_t length)
 writes a portion of the passed in buffer to the corresponding location in the page on disk. More...
 
void writePage (index_t pageIndex, DynaBuffer *buffer)
 
void flushPage (index_t pageIndex, DynaBuffer *buffer)
 
void flushNextPage (DynaBuffer *buffer)
 
index_t getPageCount ()
 
index_t getValidPageCount ()
 
index_t getFreePage (DynaBuffer *buffer)
 

Static Public Member Functions

static bool exists (const String &fileName)
 
static bool canAccess (const String &fileName)
 
static bool deleteFile (const String &fileName)
 
static bool renameFile (const String &oldName, const String &newName)
 

Constructor & Destructor Documentation

◆ PageFile() [1/2]

PageFile::PageFile ( const String fileName)
explicit

◆ PageFile() [2/2]

PageFile::PageFile ( const String fileName,
uint  userHeaderSize,
uint  pageSize 
)
explicit

◆ ~PageFile()

PageFile::~PageFile ( )
virtual

Member Function Documentation

◆ _clearPage()

void PageFile::_clearPage ( index_t  pageIndex,
DynaBuffer buffer 
)

◆ canAccess()

bool PageFile::canAccess ( const String fileName)
static

◆ clearPage()

void PageFile::clearPage ( index_t  pageIndex,
DynaBuffer buffer 
)

◆ clearPages()

void PageFile::clearPages ( index_t  frPageIndex,
index_t  toPageIndex 
)

The buffer from getNewPageBuffer is "new'd" so we need to delete it here

◆ close()

void PageFile::close ( )

◆ deleteFile()

bool PageFile::deleteFile ( const String fileName)
static

◆ deletePage() [1/2]

void PageFile::deletePage ( index_t  pageIndex,
DynaBuffer buffer 
)

◆ deletePage() [2/2]

void PageFile::deletePage ( index_t  pageIndex)

◆ exists()

bool PageFile::exists ( const String fileName)
static

◆ flushNextPage()

void PageFile::flushNextPage ( DynaBuffer buffer)

◆ flushPage()

void PageFile::flushPage ( index_t  pageIndex,
DynaBuffer buffer 
)

◆ getDeletedPageCount()

index_t PageFile::getDeletedPageCount ( )
inline

◆ getFreePage()

index_t PageFile::getFreePage ( DynaBuffer buffer)

◆ getHeader()

FileHeader & PageFile::getHeader ( )

◆ getNewPageBuffer()

DynaBuffer * PageFile::getNewPageBuffer ( )

◆ getPageBufferCopy()

DynaBuffer * PageFile::getPageBufferCopy ( DynaBuffer buffer)

◆ getPageCount()

index_t PageFile::getPageCount ( )

◆ getPageHeaderOffset()

index_t PageFile::getPageHeaderOffset ( index_t  pageIndex)

◆ getPageSize()

index_t PageFile::getPageSize ( )
inline

◆ getUserHeaderOffset()

index_t PageFile::getUserHeaderOffset ( )
inline

◆ getUserHeaderPointer()

uint8_t * PageFile::getUserHeaderPointer ( )

◆ getUserHeaderSize()

uint PageFile::getUserHeaderSize ( )
inline

◆ getValidPageCount()

index_t PageFile::getValidPageCount ( )

◆ getVersionMaj()

short PageFile::getVersionMaj ( )
inline

◆ getVersionMin()

short PageFile::getVersionMin ( )
inline

◆ isNewFile()

bool PageFile::isNewFile ( )

◆ isOpen()

bool PageFile::isOpen ( )

◆ open()

bool PageFile::open ( const String fileName,
const char *  mode 
)

◆ readFileHeader()

bool PageFile::readFileHeader ( )

◆ readNextPage()

bool PageFile::readNextPage ( DynaBuffer buffer)

◆ readPage()

bool PageFile::readPage ( index_t  pageIndex,
DynaBuffer buffer 
)

◆ readPageHeader()

bool PageFile::readPageHeader ( index_t  pageIndex)

◆ readUserHeader()

bool PageFile::readUserHeader ( bool  doSeek = true)

◆ renameFile()

bool PageFile::renameFile ( const String oldName,
const String newName 
)
static

◆ resizeFile()

void PageFile::resizeFile ( index_t  pageCount)

◆ rewind()

void PageFile::rewind ( )

◆ seekToPageHeader()

index_t PageFile::seekToPageHeader ( index_t  pageIndex,
int  adjust = 0 
)

◆ seekToUserHeader()

index_t PageFile::seekToUserHeader ( )

◆ writeFileHeader()

bool PageFile::writeFileHeader ( )

◆ writePage() [1/2]

void PageFile::writePage ( index_t  pageIndex,
DynaBuffer buffer,
int  bufOffset,
size_t  length 
)

writes a portion of the passed in buffer to the corresponding location in the page on disk.

Parameters
pageIndex
buffer- a DynaBuffer holding a complete page from the file
bufOffset- starting location in buffer (and the same position on the underlying page)
length- the number of bytes to write

◆ writePage() [2/2]

void PageFile::writePage ( index_t  pageIndex,
DynaBuffer buffer 
)

◆ writePageHeader()

bool PageFile::writePageHeader ( index_t  pageIndex)

◆ writeUserHeader()

bool PageFile::writeUserHeader ( bool  doSeek = true)

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