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 ExportOptions &options) const override
 Create a stream to serialize the entire database. More...
 
std::unique_ptr< ExportStreamcreateExportStream (StoreRef store, const Object &object, const ExportOptions &options) const override
 Create a stream to serialize an Object. More...
 
size_t exportToStream (const Object &object, Print &output, const ExportOptions &options) const override
 Print object. More...
 
size_t exportToStream (Database &database, Print &output, const ExportOptions &options) 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...
 

Detailed Description

Import/Export support for JSON.

Member Function Documentation

◆ createExportStream() [1/2]

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

Create a stream to serialize the entire database.

Parameters
databaseThe database to serialize
optionsAdvanced settings for adjusting output

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 ExportOptions options 
) const
overridevirtual

Create a stream to serialize an Object.

Parameters
storeShared pointer to store
objectObject to start streaming from
optionsAdvanced settings for adjusting output

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 ExportOptions options 
) const
overridevirtual

Print object.

Parameters
objectThe object to serialize
outputWhere to write output
optionsAdvanced settings for adjusting output
Return values
size_tNumber of characters written

Implements ConfigDB::Format.

◆ exportToStream() [2/2]

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

Serialise entire database directly to an output stream.

Parameters
databaseThe database to serialize
outputWhere to write output
optionsAdvanced settings for adjusting output
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.


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