diff options
Diffstat (limited to 'TAO/TAO_IDL/be_include')
-rw-r--r-- | TAO/TAO_IDL/be_include/be_codegen.h | 3 | ||||
-rw-r--r-- | TAO/TAO_IDL/be_include/be_interface.h | 9 | ||||
-rw-r--r-- | TAO/TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h | 16 |
3 files changed, 25 insertions, 3 deletions
diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h index bf0f6d8a4ef..90a481b9d59 100644 --- a/TAO/TAO_IDL/be_include/be_codegen.h +++ b/TAO/TAO_IDL/be_include/be_codegen.h @@ -382,8 +382,9 @@ public: */ char *gperf_input_filename (void); - /// Convert input string to all upcase. + /// Convert input string to all one case. const char *upcase (const char *str); + const char *downcase (const char *str); /// Pass along the #ident string, if any, from the IDL file. void gen_ident_string (TAO_OutStream *stream) const; diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h index 6754a3a6b3d..6995ad453c2 100644 --- a/TAO/TAO_IDL/be_include/be_interface.h +++ b/TAO/TAO_IDL/be_include/be_interface.h @@ -336,6 +336,10 @@ public: bool is_ami4ccm_rh (void) const; void is_ami4ccm_rh (bool val); + /// Accessors for the member. + bool dds_connector_traits_done (void) const; + void dds_connector_traits_done (bool val); + protected: /** * CDreate a new string made by the concatenation @@ -475,7 +479,12 @@ protected: /// Current cached collocated name. int cached_type_; + /// Used to suppress generation of some CCM servant methods/ bool has_rw_attributes_; + + /// Flags to ensure that DDS connector impl traits members + /// are generated only once per port interface. + bool dds_connector_traits_done_; }; /** diff --git a/TAO/TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h b/TAO/TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h index ac20fc605a4..1b96d896876 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h +++ b/TAO/TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h @@ -38,11 +38,23 @@ public: virtual int visit_connector (be_connector *node); + /// Used to generate the traits structures. + virtual int visit_provides (be_provides *node); + virtual int visit_uses (be_uses *node); + private: - // Generate application-specific instantiations of - // middleware templates containing traits constructs. + /// Generate application-specific instantiations of + /// middleware templates containing traits constructs. void gen_dds_traits (void); void gen_connector_traits (void); + + /// Common code triggered by provides and uses ports. + void gen_interface_connector_trait (be_interface *iface, + bool for_facet); + + /// Have to keep a list of port interfaces so their + /// dds + ACE_Unbounded_Queue<be_interface *> port_ifaces_; }; #endif /* _BE_CONNECTOR_CONNECTOR_DDS_EXH_H_ */ |