libdballe 9.14
dballe::core::ArrayFile Class Reference
Inheritance diagram for dballe::core::ArrayFile:
dballe::core::File dballe::File

Public Member Functions

 ArrayFile (Encoding type)
Encoding encoding () const override
 Get the file encoding.
BinaryMessage read () override
 Read a message from the file.
void write (const std::string &msg) override
 Append the binary message to the file.
Public Member Functions inherited from dballe::core::File
 File (const std::string &name, FILE *fd, bool close_on_exit=true)
std::string pathname () const override
 Get the file pathname.
void close () override
 Close the underlying file.
bool foreach (std::function< bool(const BinaryMessage &)> dest) override
 Read all the messages from the file, calling the function on each of them.

Public Attributes

std::vector< BinaryMessagemsgs
unsigned current
 Current reading offset in msgs.

Protected Attributes

Encoding file_type
Protected Attributes inherited from dballe::core::File
std::string m_name
 Name of the file.
FILE * fd
 FILE structure used to read or write to the file.
bool close_on_exit
 True if fd should be closed on destruction.
int idx
 Index of the last message read from the file or written to the file.

Additional Inherited Members

Static Public Member Functions inherited from dballe::core::File
static std::string resolve_test_data_file (const std::string &name)
 Resolve the location of a test data file.
static std::unique_ptr< dballe::Fileopen_test_data_file (Encoding type, const std::string &name)
 Open a test data file.
Static Public Member Functions inherited from dballe::File
static std::unique_ptr< Filecreate (const std::string &pathname, const char *mode)
 Open a file from the filesystem, autodetecting the encoding type.
static std::unique_ptr< Filecreate (Encoding type, const std::string &pathname, const char *mode)
 Open a file from the filesystem.
static std::unique_ptr< Filecreate (FILE *file, bool close_on_exit, const std::string &name="(fp)")
 Create a File from an existing FILE* stream, autodetecting the encoding type.
static std::unique_ptr< Filecreate (Encoding type, FILE *file, bool close_on_exit, const std::string &name="(fp)")
 Create a File from an existing FILE* stream.
static const char * encoding_name (Encoding enc)
 Return a string with the name of this encoding.
static Encoding parse_encoding (const char *s)
 Return the Encoding corresponding to the given name.
static Encoding parse_encoding (const std::string &s)
 Return the Encoding corresponding to the given name.

Member Function Documentation

◆ encoding()

Encoding dballe::core::ArrayFile::encoding ( ) const
overridevirtual

Get the file encoding.

Implements dballe::File.

◆ read()

BinaryMessage dballe::core::ArrayFile::read ( )
overridevirtual

Read a message from the file.

Returns
the BinaryMessage with the binary data that have been read, or nullptr when the end of file has been reached.

Implements dballe::File.

◆ write()

void dballe::core::ArrayFile::write ( const std::string & msg)
overridevirtual

Append the binary message to the file.

Implements dballe::File.


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