1#ifndef joedb_File_Connection_Builder_declared
2#define joedb_File_Connection_Builder_declared
17 std::optional<Readonly_Journal> readonly_journal;
18 std::optional<Writable_Journal> writable_journal;
19 std::unique_ptr<Connection> connection;
22 const char *
get_name()
const override {
return "file";}
31 std::ostream null_stream(
nullptr);
33 if (file_parser.
parse(null_stream, arguments))
37 readonly_journal.emplace(*file_parser.
get_file());
42 writable_journal.emplace(*file_parser.
get_file());
47 return connection.get();
bool is_readonly() const noexcept
Class for conveniently parsing command-line arguments.
std::string get_parameters_description() const override
Connection * build(Arguments &arguments, Abstract_File *file) override
const char * get_name() const override
Create an instance of a Abstract_File by parsing command-line arguments.
Abstract_File * parse(std::ostream &out, Arguments &arguments)
Abstract_File * get_file() const