libdballe  9.11
json_codec.h
1 #ifndef DBALLE_MSG_JSON_CODEC_H
2 #define DBALLE_MSG_JSON_CODEC_H
3 
4 #include <dballe/core/fwd.h>
5 #include <dballe/importer.h>
6 #include <dballe/exporter.h>
7 #include <dballe/message.h>
8 
9 #define DBALLE_JSON_VERSION "0.1"
10 
11 namespace dballe {
12 namespace impl {
13 namespace msg {
14 
15 class JsonImporter : public Importer
16 {
17 public:
19  ~JsonImporter();
20 
21  Encoding encoding() const override { return Encoding::JSON; }
22 
23  bool foreach_decoded(const BinaryMessage& msg, std::function<bool(std::shared_ptr<dballe::Message>)> dest) const override;
24 };
25 
26 
27 class JsonExporter : public Exporter
28 {
29 public:
30  JsonExporter(const dballe::ExporterOptions& opts=dballe::ExporterOptions::defaults);
31  ~JsonExporter();
32 
33  std::string to_binary(const std::vector<std::shared_ptr<dballe::Message>>& msgs) const override;
34 };
35 
36 }
37 }
38 }
39 #endif
Binary message.
Definition: file.h:130
Message importer interface.
Definition: importer.h:71
Message exporter interface.
Definition: exporter.h:66
Definition: cmdline.h:18
Options to control message export.
Definition: exporter.h:24
Options to control message import.
Definition: importer.h:24
Definition: json_codec.h:27
Definition: json_codec.h:15
static const ImporterOptions defaults
Default importer options.
Definition: importer.h:54
Encoding encoding() const override
Return the encoding for this importer.
Definition: json_codec.h:21