Vector BLF
Vector::BLF::File Class Referencefinal

#include <File.h>

Public Member Functions

virtual void open (const char *filename, const std::ios_base::openmode mode=std::ios_base::in)
 
virtual void open (const std::string &filename, const std::ios_base::openmode mode=std::ios_base::in)
 
virtual bool is_open () const
 
virtual bool good () const
 
virtual bool eof () const
 
virtual ObjectHeaderBaseread ()
 
virtual void write (ObjectHeaderBase *ohb)
 
virtual void close ()
 
virtual DWORD defaultLogContainerSize () const
 
virtual void setDefaultLogContainerSize (DWORD defaultLogContainerSize)
 

Static Public Member Functions

static ObjectHeaderBasecreateObject (ObjectType type)
 

Public Attributes

FileStatistics fileStatistics {}
 
ULONGLONG currentUncompressedFileSize {}
 
std::atomic< DWORD > currentObjectCount {}
 
int compressionLevel {6}
 
bool writeUnknown115 {true}
 

Detailed Description

File

This is similar to std::fstream for BLFs

Member Function Documentation

◆ close()

void Vector::BLF::File::close ( )
virtual

close file

◆ createObject()

ObjectHeaderBase * Vector::BLF::File::createObject ( ObjectType  type)
static

create object of given type

Parameters
typeobject type
Returns
new object

◆ defaultLogContainerSize()

DWORD Vector::BLF::File::defaultLogContainerSize ( ) const
virtual

Get default log container size.

Returns
default log container size

◆ eof()

bool Vector::BLF::File::eof ( ) const
virtual

Check whether eofbit is set.

Returns
true if end-of-file reached

◆ good()

bool Vector::BLF::File::good ( ) const
virtual

Check whether state of stream is good.

Returns
true if no error flags set

◆ is_open()

bool Vector::BLF::File::is_open ( ) const
virtual

is file open?

Returns
true if file is open

◆ open() [1/2]

void Vector::BLF::File::open ( const char *  filename,
const std::ios_base::openmode  mode = std::ios_base::in 
)
virtual

open file

Parameters
[in]filenamefile name
[in]modeopen mode, either in (read) or out (write)

◆ open() [2/2]

void Vector::BLF::File::open ( const std::string &  filename,
const std::ios_base::openmode  mode = std::ios_base::in 
)
virtual

open file

Parameters
[in]filenamefile name
[in]modeopen mode, either in (read) or out (write)

◆ read()

ObjectHeaderBase * Vector::BLF::File::read ( )
virtual

Read object from file.

Ownership is taken over from the library to the user. The user has to take care to delete the object.

Todo:
Use std::unique_ptr in future versions.
Returns
read object or nullptr

◆ setDefaultLogContainerSize()

void Vector::BLF::File::setDefaultLogContainerSize ( DWORD  defaultLogContainerSize)
virtual

Set default log container size.

Parameters
[in]defaultLogContainerSizedefault log container size

◆ write()

void Vector::BLF::File::write ( ObjectHeaderBase ohb)
virtual

Write object to file.

Ownership is taken over from the user to the library. The object should not be further accessed any more.

Todo:
Use std::unique_ptr in future versions.
Parameters
[in]ohbwrite object

Member Data Documentation

◆ compressionLevel

int Vector::BLF::File::compressionLevel {6}

zlib compression level (0=no compression, 1=best speed, 9=best compression, -1=default compression

◆ currentObjectCount

std::atomic<DWORD> Vector::BLF::File::currentObjectCount {}

Current number of objects read

Unknown115 is not counted.

◆ currentUncompressedFileSize

ULONGLONG Vector::BLF::File::currentUncompressedFileSize {}

Current uncompressed file size

This includes the LogContainer headers, and the uncompressed content.

◆ fileStatistics

FileStatistics Vector::BLF::File::fileStatistics {}

File statistics from file header. contains total counts/sizes

◆ writeUnknown115

bool Vector::BLF::File::writeUnknown115 {true}

Write Unknown115 message at file close


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