summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_codegen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_codegen.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp58
1 files changed, 52 insertions, 6 deletions
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp
index 0ac952b9054..b85c98f1960 100644
--- a/TAO/TAO_IDL/be/be_codegen.cpp
+++ b/TAO/TAO_IDL/be/be_codegen.cpp
@@ -828,8 +828,8 @@ TAO_CodeGen::start_anyop_source (const char *fname)
<< be_global->be_get_client_hdr_fname (1)
<< "\"";
- this->gen_standard_include (this->anyop_source_,
- "tao/Typecode.h");
+
+ this->gen_typecode_includes (this->anyop_source_);
return 0;
}
@@ -1420,7 +1420,7 @@ TAO_CodeGen::gen_stub_hdr_includes (void)
// If not included here, it will appear in *C.cpp, if TCs not suppressed.
this->gen_cond_file_include (
idl_global->typecode_seen_,
- "tao/Typecode.h",
+ "tao/TypeCode.h",
this->client_header_
);
@@ -1555,8 +1555,7 @@ TAO_CodeGen::gen_stub_src_includes (void)
|| (!idl_global->typecode_seen_
&& !be_global->gen_anyop_files ())))
{
- this->gen_standard_include (this->client_stubs_,
- "tao/Typecode.h");
+ this->gen_typecode_includes (this->client_stubs_);
}
// The UserException::_tao_{en,de}code() methods can throw a
@@ -1661,7 +1660,7 @@ TAO_CodeGen::gen_skel_src_includes (void)
this->gen_standard_include (this->server_skeletons_,
"tao/Object_T.h");
this->gen_standard_include (this->server_skeletons_,
- "tao/Typecode.h");
+ "tao/TypeCode.h");
this->gen_standard_include (this->server_skeletons_,
"tao/DynamicC.h");
this->gen_standard_include (this->server_skeletons_,
@@ -1982,3 +1981,50 @@ TAO_CodeGen::gen_cond_file_include (bool condition_green,
filepath);
}
}
+
+void
+TAO_CodeGen::gen_typecode_includes (TAO_OutStream * stream)
+{
+// this->gen_standard_include (stream,
+// "tao/TypeCode.h");
+
+ // Just assume we're going to need alias TypeCodes since there is
+ // currently no alias_seen_ or typedef_seen_ flag in idl_global.
+ this->gen_standard_include (stream,
+ "tao/Alias_TypeCode.h");
+
+ this->gen_cond_file_include (idl_global->enum_seen_,
+ "tao/Enum_TypeCode.h",
+ stream);
+
+ this->gen_cond_file_include (idl_global->interface_seen_,
+// idl_global->abstract_iface_seen_
+// | idl_global->non_local_iface_seen_
+// | idl_global->local_iface_seen_
+// | idl_global->base_object_seen_,
+ "tao/Objref_TypeCode.h",
+ stream);
+
+ this->gen_cond_file_include (idl_global->seq_seen_,
+ "tao/Sequence_TypeCode.h",
+ stream);
+
+ this->gen_cond_file_include (idl_global->string_seen_,
+ "tao/String_TypeCode.h",
+ stream);
+
+ this->gen_cond_file_include (
+ idl_global->exception_seen_
+ | idl_global->fixed_size_arg_seen_ // Could be a struct
+ | idl_global->var_size_arg_seen_, // Could be a struct
+ "tao/Struct_TypeCode.h",
+ stream);
+
+ this->gen_cond_file_include (idl_global->union_seen_,
+ "tao/Union_TypeCode.h",
+ stream);
+
+ this->gen_cond_file_include (idl_global->valuetype_seen_,
+ "tao/Value_TypeCode.h",
+ stream);
+}