Vector::BLF::RestorePoints(3) Library Functions Manual Vector::BLF::RestorePoints(3)

Vector::BLF::RestorePoints

#include <RestorePoints.h>


virtual void read (AbstractFile &is)
virtual void write (AbstractFile &os)
virtual uint32_t calculateObjectSize () const


uint32_t objectSize {0x00180008}
uint32_t objectInterval {1000}
std::vector< RestorePoint > restorePoints {}

List of restore points.

Note

This class is based on observations, as there is no public documentation available. There are undocumented API functions for RestorePoint handling. And this seems like it.

uint32_t Vector::BLF::RestorePoints::calculateObjectSize () const [virtual]

Calculates the objectSize

Returns

object size

void Vector::BLF::RestorePoints::read (AbstractFile & is) [virtual]

Read the data of this object

Parameters

is input stream

void Vector::BLF::RestorePoints::write (AbstractFile & os) [virtual]

Write the data of this object

Parameters

os output stream

uint32_t Vector::BLF::RestorePoints::objectInterval {1000}

object interval

This is the interval between RestorePoints. Actually, due to a bug in the implementation, the interval is actually objectInterval + 1; Default is 1000, so it's storing a list, which point to each 1001stth object.

uint32_t Vector::BLF::RestorePoints::objectSize {0x00180008}

Todo

Is this the maximum byte size of the restorePoints vector?

Not sure with this.

objectSize is usually 0x00180008=1572872. Reduced by sizeof(objectSize) + sizeof(objectInterval) lefts 1572864 bytes for restorePoints. Each RestorePoint has 24 bytes, which would result in 65536 elements. Seems like a potential maximum for the RestorePoints. But why does this need to be stored in the file?

Actually restorePointData.size() in this example, was just 20936, based on available data, which is 502464 bytes. So I would have expected to see objectSize=502472.

Restore Points

Generated automatically by Doxygen for Vector BLF from the source code.

Vector BLF