ConfigDB::Json::Format Class Reference

Import/Export support for JSON. More...

#include <Format.h>

Inheritance diagram for ConfigDB::Json::Format:
Collaboration diagram for ConfigDB::Json::Format:

Public Member Functions

std::unique_ptr< ExportStreamcreateExportStream (Database &db) const override
 Create a stream to serialize the entire database This is used for streaming asychronously to a web client, for example in an HttpResponse. More...
 
std::unique_ptr< ExportStreamcreateExportStream (StoreRef store, const Object &object) const override
 Create a stream to serialize an Object. More...
 
size_t exportToStream (const Object &object, Print &output) const override
 Print object. More...
 
size_t exportToStream (Database &database, Print &output) const override
 Serialise entire database directly to an output stream. More...
 
std::unique_ptr< ImportStreamcreateImportStream (Database &db) const override
 Create a stream for de-serialising (writing) into the database Used when updating a database from a remote web client, for example via HttpRequest. More...
 
std::unique_ptr< ImportStreamcreateImportStream (StoreUpdateRef &store, Object &object) const override
 Create a stream for de-serialising (writing) into a store. More...
 
Status importFromStream (Object &object, Stream &source) const override
 De-serialise content from stream into object (RAM) More...
 
Status importFromStream (Database &database, Stream &source) const override
 De-serialise content from stream into database Each store is overwritten as it is loadded. If a store entry is not represented in the data then it is left untouched. More...
 
String getFileExtension () const override
 Get the standard file extension for the reader implementation. More...
 
MimeType getMimeType () const override
 Get the MIME type for this reader format. More...
 
void setPretty (bool pretty)
 

Detailed Description

Import/Export support for JSON.

Member Function Documentation

◆ createExportStream() [1/2]

std::unique_ptr<ExportStream> ConfigDB::Json::Format::createExportStream ( Database db) const
overridevirtual

Create a stream to serialize the entire database This is used for streaming asychronously to a web client, for example in an HttpResponse.

Implements ConfigDB::Format.

◆ createExportStream() [2/2]

std::unique_ptr<ExportStream> ConfigDB::Json::Format::createExportStream ( StoreRef  store,
const Object object 
) const
overridevirtual

Create a stream to serialize an Object.

Parameters
storeShared pointer to store
objectObject to start streaming from

Used for streaming asychronously to a web client, for example in an HttpResponse.

Implements ConfigDB::Format.

◆ createImportStream() [1/2]

std::unique_ptr<ImportStream> ConfigDB::Json::Format::createImportStream ( Database db) const
overridevirtual

Create a stream for de-serialising (writing) into the database Used when updating a database from a remote web client, for example via HttpRequest.

Implements ConfigDB::Format.

◆ createImportStream() [2/2]

std::unique_ptr<ImportStream> ConfigDB::Json::Format::createImportStream ( StoreUpdateRef store,
Object object 
) const
overridevirtual

Create a stream for de-serialising (writing) into a store.

Parameters
storeShared pointer to store with write access
objectObject to start streaming to

Used when updating a store from a remote web client, for example via HttpRequest

Implements ConfigDB::Format.

◆ exportToStream() [1/2]

size_t ConfigDB::Json::Format::exportToStream ( const Object object,
Print output 
) const
overridevirtual

Print object.

Return values
size_tNumber of characters written

Implements ConfigDB::Format.

◆ exportToStream() [2/2]

size_t ConfigDB::Json::Format::exportToStream ( Database database,
Print output 
) const
overridevirtual

Serialise entire database directly to an output stream.

Return values
size_tNumber of bytes written to the stream

Implements ConfigDB::Format.

◆ getFileExtension()

String ConfigDB::Json::Format::getFileExtension ( ) const
inlineoverridevirtual

Get the standard file extension for the reader implementation.

Implements ConfigDB::Format.

◆ getMimeType()

MimeType ConfigDB::Json::Format::getMimeType ( ) const
inlineoverridevirtual

Get the MIME type for this reader format.

Implements ConfigDB::Format.

◆ importFromStream() [1/2]

Status ConfigDB::Json::Format::importFromStream ( Database database,
Stream source 
) const
overridevirtual

De-serialise content from stream into database Each store is overwritten as it is loadded. If a store entry is not represented in the data then it is left untouched.

Implements ConfigDB::Format.

◆ importFromStream() [2/2]

Status ConfigDB::Json::Format::importFromStream ( Object object,
Stream source 
) const
overridevirtual

De-serialise content from stream into object (RAM)

Implements ConfigDB::Format.

◆ setPretty()

void ConfigDB::Json::Format::setPretty ( bool  pretty)
inline

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