diff options
-rw-r--r-- | TAO/ChangeLog | 11 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_codegen.cpp | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_global.cpp | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp | 10 | ||||
-rw-r--r-- | TAO/TAO_IDL/be_include/be_global.h | 3 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/lex.yy.cpp | 8 | ||||
-rw-r--r-- | TAO/TAO_IDL/include/idl_global.h | 7 | ||||
-rw-r--r-- | TAO/TAO_IDL/util/utl_global.cpp | 12 |
8 files changed, 58 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index cec4bafa141..42fd9f7cd87 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,14 @@ +Mon Jun 6 15:06:42 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl> + + * TAO_IDL/be/be_codegen.cpp: + * TAO_IDL/be/be_global.cpp: + * TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp: + * TAO_IDL/be_include/be_global.h: + * TAO_IDL/fe/lex.yy.cpp: + * TAO_IDL/include/idl_global.h: + * TAO_IDL/util/utl_global.cpp: + Added support for CoreDX DDS + Fri Jun 3 18:54:59 UTC 2011 Jeff Parsons <j.parsons@vanderbilt.edu> * tao/AnyTypeCode/Any_Basic_Impl.cpp: diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp index 065da4d99b1..1627efa80a4 100644 --- a/TAO/TAO_IDL/be/be_codegen.cpp +++ b/TAO/TAO_IDL/be/be_codegen.cpp @@ -3400,6 +3400,10 @@ TAO_CodeGen::gen_conn_hdr_includes (void) this->gen_conn_ts_includes ( idl_global->ciao_oci_ts_file_names ()); break; + case BE_GlobalData::COREDX: + this->gen_conn_ts_includes ( + idl_global->ciao_coredx_ts_file_names ()); + break; case BE_GlobalData::DDS_NONE: break; } diff --git a/TAO/TAO_IDL/be/be_global.cpp b/TAO/TAO_IDL/be/be_global.cpp index 21dc77f2bd8..704e51a5223 100644 --- a/TAO/TAO_IDL/be/be_global.cpp +++ b/TAO/TAO_IDL/be/be_global.cpp @@ -1801,6 +1801,10 @@ BE_GlobalData::dds_impl (char const * const val) { this->dds_impl_ = OPENDDS; } + else if (tmp == "coredx") + { + this->dds_impl_ = COREDX; + } else { ACE_ERROR ((LM_ERROR, diff --git a/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp b/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp index 92c56c2673c..32ba7906973 100644 --- a/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp +++ b/TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp @@ -306,6 +306,11 @@ be_visitor_connector_dds_exh::gen_dds_traits (AST_Decl *datatype) os_ << "typedef ::" << dt_name << "TypeSupport type_support;" << be_nl; } + else if (the_dds_impl == BE_GlobalData::COREDX) + { + os_ << "typedef ::" << dt_name + << "TypeSupport type_support;" << be_nl; + } else if (the_dds_impl == BE_GlobalData::OPENDDS) { os_ << "typedef ::" << dt_name @@ -317,6 +322,11 @@ be_visitor_connector_dds_exh::gen_dds_traits (AST_Decl *datatype) os_ << "typedef ::DDS_SampleInfoSeq sampleinfo_seq_type;" << be_nl << "typedef ::DDS_SampleInfo sampleinfo_type;" << be_nl; } + else if (the_dds_impl == BE_GlobalData::COREDX) + { + os_ << "typedef ::DDS_SampleInfoSeq sampleinfo_seq_type;" << be_nl + << "typedef ::DDS_SampleInfo sampleinfo_type;" << be_nl; + } else if (the_dds_impl == BE_GlobalData::OPENDDS) { os_ << "typedef ::DDS::SampleInfoSeq sampleinfo_seq_type;" << be_nl diff --git a/TAO/TAO_IDL/be_include/be_global.h b/TAO/TAO_IDL/be_include/be_global.h index 5ca843c1c5c..ba52b8e1656 100644 --- a/TAO/TAO_IDL/be_include/be_global.h +++ b/TAO/TAO_IDL/be_include/be_global.h @@ -54,7 +54,8 @@ public: DDS_NONE, NDDS, OPENSPLICE, - OPENDDS + OPENDDS, + COREDX }; BE_GlobalData (void); diff --git a/TAO/TAO_IDL/fe/lex.yy.cpp b/TAO/TAO_IDL/fe/lex.yy.cpp index da674d46cbd..1ba2ff65fac 100644 --- a/TAO/TAO_IDL/fe/lex.yy.cpp +++ b/TAO/TAO_IDL/fe/lex.yy.cpp @@ -3344,6 +3344,14 @@ idl_store_pragma (char *buf) // Delete tmp since add_ciao_rti_ts_file_names() doesn't take its ownership. delete [] tmp; } + else if (ACE_OS::strncmp (buf + 8, "coredx typesupport", 18) == 0) + { + char *tmp = idl_get_pragma_string (buf); + idl_global->add_ciao_coredx_ts_file_names (tmp); + + // Delete tmp since add_ciao_rti_ts_file_names() doesn't take its ownership. + delete [] tmp; + } else if (ACE_OS::strncmp (buf + 8, "opendds typesupport", 19) == 0) { char *tmp = idl_get_pragma_string (buf); diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h index 3eb41b03348..ccf11aa7d1c 100644 --- a/TAO/TAO_IDL/include/idl_global.h +++ b/TAO/TAO_IDL/include/idl_global.h @@ -608,6 +608,10 @@ public: ACE_Unbounded_Queue<char *> & ciao_oci_ts_file_names (void); // Accessor/mutator for the ciao_oci_ts_file_names_ member. + void add_ciao_coredx_ts_file_names (const char *s); + ACE_Unbounded_Queue<char *> & ciao_coredx_ts_file_names (void); + // Accessor/mutator for the ciao_coredx_ts_file_names_ member. + void add_ciao_ami_iface_names (const char *s); ACE_Unbounded_Queue<char *> & ciao_ami_iface_names (void); // Accessor/mutator for the ciao_ami_iface_names_ member. @@ -896,6 +900,9 @@ private: ACE_Unbounded_Queue<char *> ciao_oci_ts_file_names_; // Files parsed with OpenDDS typesupport pragma + ACE_Unbounded_Queue<char *> ciao_coredx_ts_file_names_; + // Files parsed with CoreDX typesupport pragma + ACE_Unbounded_Queue<char *> ciao_ami_iface_names_; // Interfaces that get a reply handler generated for AMI4CCM. diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp index 0059439cb51..6a7fbb6f75d 100644 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ b/TAO/TAO_IDL/util/utl_global.cpp @@ -1126,6 +1126,18 @@ IDL_GlobalData::ciao_oci_ts_file_names (void) } void +IDL_GlobalData::add_ciao_coredx_ts_file_names (const char *s) +{ + this->ciao_coredx_ts_file_names_.enqueue_tail (ACE::strnew (s)); +} + +ACE_Unbounded_Queue<char *> & +IDL_GlobalData::ciao_coredx_ts_file_names (void) +{ + return this->ciao_coredx_ts_file_names_; +} + +void IDL_GlobalData::add_ciao_ami_iface_names (const char *s) { this->ciao_ami_iface_names_.enqueue_tail (ACE::strnew (s)); |