libdballe 9.6
Public Member Functions | List of all members
dballe::core::JsonFile Class Reference
Inheritance diagram for dballe::core::JsonFile:
dballe::core::File dballe::File

Public Member Functions

 JsonFile (const std::string &name, FILE *fd, bool close_on_exit=true)
 
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.
 
virtual std::string pathname () const =0
 Get the file pathname.
 
virtual Encoding encoding () const =0
 Get the file encoding.
 
virtual void close ()=0
 Close the underlying file.
 
virtual BinaryMessage read ()=0
 Read a message from the file.
 
virtual bool foreach (std::function< bool(const BinaryMessage &)> dest)=0
 Read all the messages from the file, calling the function on each of them.
 
virtual void write (const std::string &msg)=0
 Append the binary message 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.
 
- 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.
 

Member Function Documentation

◆ encoding()

Encoding dballe::core::JsonFile::encoding ( ) const
inlineoverridevirtual

Get the file encoding.

Implements dballe::File.

◆ read()

BinaryMessage dballe::core::JsonFile::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::JsonFile::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: