From: Jens Thiele Date: Tue, 5 Dec 2006 17:11:20 +0000 (+0000) Subject: allow to change mapping of group to classname easily X-Git-Tag: v0.2~41 X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=commitdiff_plain;h=2f0896ce9a4305c9538917492faf8c78fe7b9b1a allow to change mapping of group to classname easily --- diff --git a/codegen/main.cpp b/codegen/main.cpp index fb57155..aef6d59 100644 --- a/codegen/main.cpp +++ b/codegen/main.cpp @@ -10,6 +10,13 @@ #include "config.h" #endif + +//! map group to class name +std::string +groupClass(const std::string &group) { + return std::string("cmd_group_")+group; +} + //! convert string to upper case std::string toupper(std::string s) { @@ -294,7 +301,7 @@ protected: }; void output_common_hpp(std::ostream &o, const std::string &group, const std::list &procs) { - o << "class cmd_group_" << group << " : public libt2n::command\n" + o << "class " << groupClass(group) << " : public libt2n::command\n" << "{\n" << "private:\n" << " friend class boost::serialization::access;\n" @@ -322,7 +329,7 @@ void output_common_hpp(std::ostream &o, const std::string &group, const std::lis << "};\n"; } for (std::list::const_iterator it=procs.begin();it!=procs.end();++it) { - o << "class " << it->cmd_classname() << " : public " << "cmd_group_" << group << "\n" + o << "class " << it->cmd_classname() << " : public " << groupClass(group) << "\n" << "{\n" << "private:\n"; for (t2n_procedure::Args::const_iterator ait=it->args.begin();ait!=it->args.end();++ait) { @@ -332,7 +339,7 @@ void output_common_hpp(std::ostream &o, const std::string &group, const std::lis << " template\n" << " void serialize(Archive & ar, const unsigned int /* version */)\n" << " {\n" - << " ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(cmd_group_" << group << ");\n"; + << " ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(" << groupClass(group) << ");\n"; for (t2n_procedure::Args::const_iterator ait=it->args.begin();ait!=it->args.end();++ait) { o << " ar & BOOST_SERIALIZATION_NVP(" << ait->first << ");\n"; } @@ -365,7 +372,7 @@ void output_common_cpp(std::ostream &o, const std::string &group, const std::lis << "#include \n" << "\n" << "/* register types with boost serialization */\n"; - o << "BOOST_CLASS_EXPORT(cmd_group_" << group << ")\n"; + o << "BOOST_CLASS_EXPORT(" << groupClass(group) << ")\n"; for (std::list::const_iterator it=procs.begin();it!=procs.end();++it) { o << "BOOST_CLASS_EXPORT("<ret_classname()<<")\n" << "BOOST_CLASS_EXPORT("<cmd_classname()<<")\n"; @@ -375,10 +382,10 @@ void output_common_cpp(std::ostream &o, const std::string &group, const std::lis void output_client_hpp(std::ostream &o, const std::string &group, const std::list &procs) { o << "#include \n"; - o << "class cmd_group_" << group << "_client : public libt2n::command_client\n" + o << "class " << groupClass(group) << "_client : public libt2n::command_client\n" << "{\n" << "public:\n" - << "cmd_group_" << group << "_client(libt2n::client_connection &_c,\n" + << groupClass(group) << "_client(libt2n::client_connection &_c,\n" << " long long _command_timeout_usec=command_timeout_usec_default,\n" << " long long _hello_timeout_usec=hello_timeout_usec_default)\n" << " : libt2n::command_client(_c,_command_timeout_usec,_hello_timeout_usec)\n" @@ -398,7 +405,7 @@ void output_client_cpp(std::ostream &o, const std::string &group, const std::lis } for (std::list::const_iterator pit=procs.begin();pit!=procs.end();++pit) { - o << pit->ret_type << " cmd_group_" << group << "_client::" << pit->name << "(" << pit->args << ")\n" + o << pit->ret_type << " " << groupClass(group) << "_client::" << pit->name << "(" << pit->args << ")\n" << "{\n" << " libt2n::result_container rc;\n" << " send_command(new " << pit->cmd_classname() << "(";