109 const std::vector<t_sandesh*>& get_sandeshs()
const {
return sandeshs_; }
122 void add_sandesh (
t_sandesh* ts) { sandeshs_.push_back(ts); }
155 std::string include_prefix;
156 std::string::size_type last_slash = std::string::npos;
157 if ((last_slash = include_site.rfind(
"/")) != std::string::npos) {
158 include_prefix = include_site.substr(0, last_slash);
182 if (language !=
"*") {
183 size_t sub_index = language.find(
'.');
184 std::string base_language = language.substr(0, sub_index);
185 std::string sub_namespace;
187 if(base_language ==
"smalltalk") {
188 pwarning(1,
"Namespace 'smalltalk' is deprecated. Use 'st' instead");
189 base_language =
"st";
194 t_generator_registry::gen_map_t::iterator it;
195 it=my_copy.find(base_language);
197 if (it == my_copy.end()) {
198 throw "No generator named '" + base_language +
"' could be found!";
201 if (sub_index != std::string::npos) {
202 std::string sub_namespace = language.substr(sub_index+1);
203 if(! it->second->is_valid_namespace(sub_namespace)) {
204 throw base_language +
" generator does not accept '" + sub_namespace +
"' as sub-namespace!";
214 std::map<std::string, std::string>::const_iterator iter;
219 return std::string();
241 t_struct* get_struct(
const char *name)
const {
244 std::vector<t_struct*>::iterator o_iter;
245 for (o_iter = objects.begin(); o_iter != objects.end(); ++o_iter) {
246 if (strcmp(((*o_iter)->get_name()).c_str(), name) == 0) {
289 std::vector<t_sandesh*> sandeshs_;
void add_c_include(std::string path)
const std::string & get_include_prefix() const
void add_cpp_include(std::string path)
std::vector< t_struct * > structs_
bool out_path_is_absolute_
const std::string & get_path() const
const std::vector< t_program * > & get_includes() const
string program_name(string filename)
void add_const(t_const *tc)
const std::vector< t_typedef * > & get_typedefs() const
const std::string & get_name() const
void set_namespace(std::string language, std::string name_space)
const std::vector< std::string > & get_cpp_includes()
void add_xception(t_struct *tx)
void pwarning(int level, const char *fmt,...)
std::vector< t_service * > services_
void add_include(std::string path, std::string include_site)
t_program(std::string path)
std::vector< t_typedef * > typedefs_
void set_include_prefix(std::string include_prefix)
const std::vector< t_const * > & get_consts() const
void add_struct(t_struct *ts)
bool is_out_path_absolute()
std::vector< std::string > c_includes_
const std::vector< t_enum * > & get_enums() const
std::string get_namespace(std::string language) const
const std::vector< t_struct * > & get_xceptions() const
void set_out_path(std::string out_path, bool out_path_is_absolute)
std::vector< t_program * > includes_
std::map< std::string, t_generator_factory * > gen_map_t
static gen_map_t & get_generator_map()
std::vector< t_program * > & get_includes()
std::vector< t_const * > consts_
std::vector< t_struct * > xceptions_
const std::string & get_out_path() const
std::map< std::string, std::string > namespaces_
const std::string & get_namespace() const
void set_namespace(std::string name)
std::vector< t_enum * > enums_
const std::vector< t_struct * > & get_structs() const
void add_enum(t_enum *te)
const std::vector< t_service * > & get_services() const
std::vector< t_struct * > objects_
t_program(std::string path, std::string name)
const std::vector< t_struct * > & get_objects() const
void add_typedef(t_typedef *td)
const std::vector< std::string > & get_c_includes()
std::vector< std::string > cpp_includes_
std::string include_prefix_
void add_service(t_service *ts)