summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLog11
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp4
-rw-r--r--TAO/TAO_IDL/be/be_global.cpp4
-rw-r--r--TAO/TAO_IDL/be/be_visitor_connector/connector_dds_exh.cpp10
-rw-r--r--TAO/TAO_IDL/be_include/be_global.h3
-rw-r--r--TAO/TAO_IDL/fe/lex.yy.cpp8
-rw-r--r--TAO/TAO_IDL/include/idl_global.h7
-rw-r--r--TAO/TAO_IDL/util/utl_global.cpp12
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));