summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be_include')
-rw-r--r--TAO/TAO_IDL/be_include/be_codegen.h3
-rw-r--r--TAO/TAO_IDL/be_include/be_interface.h9
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_connector/connector_dds_exh.h16
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_ */