11 const std::vector<Procedure> &procedures
13 Generator(
".",
"rpc/Procedures.h", options),
14 procedures(procedures)
21 name_space.emplace_back(
"rpc");
27 std::set<std::string> schemas;
29 for (
const auto &procedure: procedures)
30 schemas.insert(procedure.schema);
32 for (
const auto &schema: schemas)
45 for (
const auto &procedure: procedures)
47 const auto &name = procedure.name;
48 const auto &schema = procedure.schema;
51 class )RRR" << name << R"RRR(: public )RRR" << schema << R"RRR(::Procedure
54 void execute()RRR" << schema << R"RRR(::Writable_Database &message) const override
56 service.)RRR" << name << R"RRR((message);
60 )RRR" << name << R"RRR((Service &service): )RRR" << schema << R"RRR(::Procedure(service) {}
61 } )RRR" << name << R"RRR(;
65 out << "\n const std::vector<joedb::rpc::Procedure *> procedures\n";
68 for (
const auto &procedure: procedures)
69 out <<
" &" << procedure.name <<
",\n";
73 out <<
" Procedures(Service &service):\n";
77 for (
const auto &procedure: procedures)
83 out <<
" " << procedure.name <<
"(service)";
std::string get_path(const std::string &schema) const
const std::vector< std::string > & get_name_space() const
const Compiler_Options & options
Procedures_h(const Compiler_Options &options, const std::vector< Procedure > &procedures)
void namespace_open(std::ostream &out, const std::vector< std::string > &n)
void namespace_close(std::ostream &out, const std::vector< std::string > &n)
void namespace_include_guard_open(std::ostream &out, const char *name, const std::vector< std::string > &n)
void namespace_include_guard_close(std::ostream &out)
One code generator for each of the file generated by joedbc.