23 #ifndef _PLUGINS_BBLOGGER_BBLOGFILE_H_ 24 #define _PLUGINS_BBLOGGER_BBLOGFILE_H_ 28 #include <core/exceptions/software.h> 29 #include <utils/time/time.h> 36 class BlackBoardInstanceFactory;
42 BBLogFile(
const char *filename,
bool do_sanity_check);
55 void print_info(
const char *line_prefix =
"", FILE *outf = stdout);
85 IT *rv = dynamic_cast<IT *>(interface_);
95 void ctor(
const char *filename,
bool do_sanity_check);
96 void read_file_header();
108 char *interface_type_;
112 std::unique_ptr<fawkes::BlackBoardInstanceFactory> instance_factory_;
size_t file_size() const
Get file size.
bool is_big_endian() const
Check if file is big endian.
uint32_t data_size()
Get data size.
void rewind()
Rewind file to start.
Fawkes library namespace.
void set_num_entries(size_t num_entries)
Set number of entries.
IT * interface(IT *&iface=0) const
Get typed interface.
const char * interface_id() const
Get interface ID.
A class for handling time.
Base class for all Fawkes BlackBoard interfaces.
bool has_next()
Check if another entry is available.
unsigned char * interface_hash() const
Get interface hash.
void read_next()
Read next entry.
void print_entry(FILE *outf=stdout)
Print an entry.
const fawkes::Time & entry_offset() const
Get current entry offset.
BBLogFile(const char *filename, bool do_sanity_check)
Constructor.
uint32_t num_data_items() const
Get number of data items in file.
void set_interface(fawkes::Interface *interface)
Set the internal interface.
void print_info(const char *line_prefix="", FILE *outf=stdout)
Print file meta info.
static void repair_file(const char *filename)
Repair file.
fawkes::Time & start_time()
Get start time.
void read_index(unsigned int index)
Read entry at particular index.
fawkes::Interface * interface()
Get interface instance.
const char * scenario() const
Get scenario identifier.
uint32_t file_version() const
Get file version.
unsigned int remaining_entries()
Get number of remaining entries.
const char * interface_type() const
Get interface type.
Class to easily access bblogger log files.