Joedb 9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Interpreter.h
Go to the documentation of this file.
1#ifndef joedb_Interpreter_declared
2#define joedb_Interpreter_declared
3
9
10#include <memory>
11
12namespace joedb
13{
14 /// @ingroup ui
16 {
17 protected:
19 std::unique_ptr<Blob_Reader_Command_Processor> blob_reader_command_processor;
20
21 public:
23 (
24 const Readable &readable,
25 const Buffered_File *blob_reader
26 ):
28 {
30 if (blob_reader)
31 {
32 blob_reader_command_processor = std::make_unique<Blob_Reader_Command_Processor>(*blob_reader);
34 }
35 }
36 };
37
38 /// @ingroup ui
51
52 /// @ingroup ui
54 {
55 private:
56 std::unique_ptr<Blob_Reader_Command_Processor> blob_reader_command_processor;
57 Writable_Command_Processor writable_command_processor;
58 Readable_Writable_Command_Processor readable_writable_command_processor;
59
60 public:
62 (
63 const Readable &readable,
64 Writable &writable,
65 const Buffered_File *blob_reader,
66 Writable &blob_writer,
67 size_t max_record_id
68 ):
69 writable_command_processor(writable, blob_writer),
70 readable_writable_command_processor
71 (
72 readable,
73 writable,
74 max_record_id
75 )
76 {
77 if (blob_reader)
78 {
79 blob_reader_command_processor = std::make_unique<Blob_Reader_Command_Processor>(*blob_reader);
80 add_processor(*blob_reader_command_processor);
81 }
82 add_processor(writable_command_processor);
83 add_processor(readable_writable_command_processor);
84 }
85 };
86}
87
88#endif
void add_processor(Command_Processor &processor)
Interpreter(const Readable &readable, Writable &writable, const Buffered_File *blob_reader, Writable &blob_writer, size_t max_record_id)
Definition Interpreter.h:62
Readable_Command_Processor readable_command_processor
Definition Interpreter.h:18
Readable_Interpreter(const Readable &readable, const Buffered_File *blob_reader)
Definition Interpreter.h:23
std::unique_ptr< Blob_Reader_Command_Processor > blob_reader_command_processor
Definition Interpreter.h:19
Writable_Interpreter(Writable &writable, Writable &blob_writer)
Definition Interpreter.h:45
Writable_Command_Processor writable_command_processor
Definition Interpreter.h:42
Definition Blob.h:7