1#ifndef joedb_File_Connection_Builder_declared
2#define joedb_File_Connection_Builder_declared
15 std::optional<Readonly_Journal> readonly_journal;
16 std::optional<Writable_Journal> writable_journal;
17 std::unique_ptr<Connection> connection;
20 const char *
get_name()
const override {
return "file";}
34 if (file_parser.
parse(logger, arguments))
38 readonly_journal.emplace(*file_parser.
get_file());
43 writable_journal.emplace(*file_parser.
get_file());
48 return connection.get();
bool is_readonly() const noexcept
Class for conveniently parsing command-line arguments.
std::string get_parameters_description() const override
Connection * build(Logger &logger, 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(joedb::Logger &log, Arguments &arguments)
Abstract_File * get_file() const