diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2013-03-29 13:12:52 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2013-03-29 13:12:52 +0000 |
commit | c6a1f1b937c077cc3d2106c0b2836037d6d20975 (patch) | |
tree | eb96842dee38f6c26b6d2e7ea8a64d3512b52e00 /TAO/TAO_IDL/be | |
parent | 6563937cdc93d8363805f9700f042131c2fa996b (diff) | |
download | ATCD-c6a1f1b937c077cc3d2106c0b2836037d6d20975.tar.gz |
Fri Mar 29 13:11:10 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl>
* MPC/config/tao_versioning_idl_defaults.mpb:
Zapped empty line
* TAO_IDL/be/be_codegen.cpp:
* TAO_IDL/be/be_global.cpp:
* TAO_IDL/be/be_util.cpp:
* TAO_IDL/be_include/be_global.h:
Added versioning_include to specify a different versioned
header include and resolved some problems when trying to
use versioned namespaces also for the application code
Diffstat (limited to 'TAO/TAO_IDL/be')
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 7 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_global.cpp | 40 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_util.cpp | 12 |
3 files changed, 47 insertions, 12 deletions
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 09a88c38009..b6c53922f27 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -2657,6 +2657,13 @@ TAO_CodeGen::gen_stub_hdr_includes (void) "tao/Versioned_Namespace.h", true); + if ((be_global->versioning_include () != 0) && (ACE_OS::strlen (be_global->versioning_include ()) > 0)) + { + this->gen_standard_include (this->client_header_, + be_global->versioning_include (), + true); + } + // On some platforms, this include isn't needed if certain command // line options are present. Rather than try to sort that all out, // and to keep cross-compiling robust, we always generate this diff --git a/TAO/TAO_IDL/be/be_global.cpp b/TAO/TAO_IDL/be/be_global.cpp index 2d130d48663..473aae36bc2 100644 --- a/TAO/TAO_IDL/be/be_global.cpp +++ b/TAO/TAO_IDL/be/be_global.cpp @@ -62,6 +62,7 @@ BE_GlobalData::BE_GlobalData (void) core_versioning_end_ ("\nTAO_END_VERSIONED_NAMESPACE_DECL\n"), versioning_begin_ (), versioning_end_ (), + versioning_include_ (), client_hdr_ending_ (ACE::strnew ("C.h")), client_stub_ending_ (ACE::strnew ("C.cpp")), client_inline_ending_ (ACE::strnew ("C.inl")), @@ -1110,22 +1111,22 @@ BE_GlobalData::stripped_filename (const char *s) this->stripped_filename_ = ACE::strnew (s); } -void -BE_GlobalData::versioning_begin (const char * s) +const char * +BE_GlobalData::versioning_begin (void) const { - this->versioning_begin_ = - ACE_CString ("\n\n") - + ACE_CString (s) - + ACE_CString ("\n\n"); + return this->versioning_begin_.c_str (); +} - this->core_versioning_end_ += this->versioning_begin_; - // Yes, "begin". +void +BE_GlobalData::versioning_include (const char * s) +{ + this->versioning_include_ = s; } const char * -BE_GlobalData::versioning_begin (void) const +BE_GlobalData::versioning_include (void) const { - return this->versioning_begin_.c_str (); + return this->versioning_include_.c_str (); } const char * @@ -1143,8 +1144,23 @@ BE_GlobalData::versioning_end (const char * s) + ACE_CString ("\n\n"); this->core_versioning_begin_ = - this->versioning_end_ // Yes, "end". - + this->core_versioning_begin_; // Initialized in constructor. + this->versioning_end_ + // Yes, "end". + "\nTAO_BEGIN_VERSIONED_NAMESPACE_DECL\n"; +} + +void +BE_GlobalData::versioning_begin (const char * s) +{ + this->versioning_begin_ = + ACE_CString ("\n\n") + + ACE_CString (s) + + ACE_CString ("\n\n"); + + this->core_versioning_end_ = + "\nTAO_END_VERSIONED_NAMESPACE_DECL\n" + + this->versioning_begin_; // Yes, "begin". + + // Yes, "begin". } const char * diff --git a/TAO/TAO_IDL/be/be_util.cpp b/TAO/TAO_IDL/be/be_util.cpp index d55869c785d..b7d808aa071 100644 --- a/TAO/TAO_IDL/be/be_util.cpp +++ b/TAO/TAO_IDL/be/be_util.cpp @@ -147,6 +147,7 @@ be_util::prep_be_arg (char *s) static const char arg_post_include[] = "post_include="; static const char arg_versioning_begin[] = "versioning_begin="; static const char arg_versioning_end[] = "versioning_end="; + static const char arg_versioning_include[] = "versioning_include="; static const char obv_opt_accessor[] = "obv_opt_accessor"; static const char ciao_container_type[] = "ciao_container_type="; static const char include_guard[] = "include_guard="; @@ -299,6 +300,12 @@ be_util::prep_be_arg (char *s) arg + sizeof (arg_versioning_end) - 1; be_global->versioning_end (val); } + else if (ACE_OS::strstr (arg, arg_versioning_include) == arg) + { + char const * const val = + arg + sizeof (arg_versioning_include) - 1; + be_global->versioning_include (val); + } else if (ACE_OS::strstr (arg, dds_impl) == arg) { char const * const val = @@ -524,6 +531,11 @@ be_util::usage (void) ACE_TEXT (" -Wb,versioning_end\t\t\tSet text that closes a ") ACE_TEXT ("a \"versioned\" namespace\n") )); + ACE_DEBUG (( + LM_DEBUG, + ACE_TEXT (" -Wb,versioning_include\t\t\tSet text that will be used as include for ") + ACE_TEXT ("a \"versioned\" namespace\n") + )); #endif /* ACE_HAS_VERSIONED_NAMESPACE || TAO_HAS_VERSIONED_NAMESPACE */ ACE_DEBUG (( LM_DEBUG, |