8 #ifndef OPENDDS_IDL_BE_GLOBAL_H 9 #define OPENDDS_IDL_BE_GLOBAL_H 15 #include <utl_scoped_name.h> 16 #include <idl_defines.h> 17 #ifndef TAO_IDL_HAS_ANNOTATIONS 18 # error "Annotation support in tao_idl is required, please use a newer version of TAO" 27 #if !defined (ACE_LACKS_PRAGMA_ONCE) 37 class AST_Annotation_Decl;
55 const char* holding_scope_name()
const;
70 void open_streams(
const char*
filename);
72 std::ostringstream header_, impl_, idl_, itl_, facets_header_, facets_impl_,
74 ACE_CString header_name_, impl_name_, idl_name_, itl_name_,
75 facets_header_name_, facets_impl_name_, lang_header_name_,
76 output_dir_, tao_inc_pre_;
79 void multicast(
const char* message);
82 STREAM_H, STREAM_CPP, STREAM_IDL, STREAM_ITL,
83 STREAM_FACETS_H, STREAM_FACETS_CPP,
88 void reset_includes();
90 void add_include(
const char* file, stream_enum_t which = STREAM_H);
91 void conditional_include(
const char* file, stream_enum_t which,
const char* condition);
98 void add_referenced(
const char* file);
100 void set_inc_paths(
const char* cmdline);
101 void add_inc_path(
const char* path);
103 std::string get_include_block(stream_enum_t which);
123 const std::set<std::pair<std::string, std::string> >& cpp_includes()
const;
124 void add_cpp_include(
const std::string& str);
129 bool no_default_gen()
const;
130 void no_default_gen(
bool b);
132 bool filename_only_includes()
const;
133 void filename_only_includes(
bool b);
138 bool value_reader_writer()
const;
139 void value_reader_writer(
bool b);
141 bool face_ts()
const;
142 void face_ts(
bool b);
144 bool xtypes_complete()
const;
145 void xtypes_complete(
bool b);
147 bool old_typeobject_encoding()
const {
return old_typeobject_encoding_; }
148 void old_typeobject_encoding(
bool b) { old_typeobject_encoding_ = b; }
150 bool old_typeobject_member_order()
const {
return old_typeobject_member_order_; }
151 void old_typeobject_member_order(
bool b) { old_typeobject_member_order_ = b; }
156 enum LanguageMapping {
163 LanguageMapping language_mapping()
const;
164 void language_mapping(LanguageMapping lm);
169 bool suppress_idl()
const {
return suppress_idl_; }
170 bool suppress_typecode()
const {
return suppress_typecode_; }
171 bool suppress_xtypes()
const {
return suppress_xtypes_; }
173 static bool writeFile(
const char* fileName,
const std::string& content);
181 bool is_topic_type(AST_Decl* node);
188 bool root_default_nested()
const;
194 bool check_key(AST_Decl* node,
bool&
value)
const;
199 bool union_discriminator_is_key(AST_Union* node);
204 void warning(
const char* msg,
const char*
filename = 0,
unsigned lineno = 0);
209 void error(
const char* msg,
const char*
filename = 0,
unsigned lineno = 0);
219 bool warn_about_dcps_data_type();
226 bool hashid(AST_Decl* node, std::string&
value)
const;
227 bool is_optional(AST_Decl* node)
const;
228 bool is_must_understand(AST_Decl* node)
const;
229 bool is_effectively_must_understand(AST_Decl* node)
const;
230 bool is_key(AST_Decl* node)
const;
231 bool is_external(AST_Decl* node)
const;
232 bool is_plain(AST_Decl* node)
const;
245 bool is_nested(AST_Decl* node);
247 bool default_enum_extensibility_zero()
const 249 return default_enum_extensibility_zero_;
252 bool dynamic_data_adapter(AST_Decl* node)
const;
254 bool special_serialization(AST_Decl* node, std::string& template_name)
const;
260 bool java_, suppress_idl_, suppress_typecode_, suppress_xtypes_,
261 no_default_gen_, generate_itl_,
262 generate_value_reader_writer_,
263 generate_xtypes_complete_, face_ts_;
265 bool filename_only_includes_;
268 versioning_name_, versioning_begin_, versioning_end_,
269 pch_include_, java_arg_, sequence_suffix_;
270 std::set<std::pair<std::string, std::string> > cpp_includes_;
272 LanguageMapping language_mapping_;
274 bool root_default_nested_;
275 bool warn_about_dcps_data_type_;
277 bool default_enum_extensibility_zero_;
281 std::set<std::string> platforms_;
282 typedef std::map<AST_Field*, OpenDDS::XTypes::MemberId> MemberIdMap;
283 MemberIdMap member_id_map_;
284 typedef std::map<OpenDDS::XTypes::MemberId, AST_Field*> MemberIdCollisionMap;
285 typedef std::map<AST_Structure*, MemberIdCollisionMap> GlobalMemberIdCollisionMap;
286 GlobalMemberIdCollisionMap member_id_collision_map_;
287 bool old_typeobject_encoding_;
288 bool old_typeobject_member_order_;
290 bool is_default_nested(UTL_Scope* scope);
291 AutoidKind scoped_autoid(UTL_Scope* scope)
const;
const char * filename(void) const
const LogLevel::Value value
void parse_args(long &i, char **av)
virtual ~BE_GlobalData(void)
ACE_CString spawn_options(void)