summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp b/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp
index ff7dba28e3a..4eb2af89c37 100644
--- a/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_root/root_ch.cpp
@@ -51,5 +51,23 @@ be_visitor_root_ch::init (void)
// Initialize the stream.
this->ctx_->stream (tao_cg->client_header ());
+ // If this IDL file contains an interface declaration, generated a
+ // forward declaration of the proxy broker for a possible collocated call.
+ if (ACE_BIT_ENABLED (idl_global->decls_seen_info_,
+ idl_global->decls_seen_masks.interface_seen_))
+ {
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ *os << be_nl << be_nl
+ << "// TAO_IDL - Generated from " << be_nl
+ << "// " << __FILE__ << ":" << __LINE__;
+
+ *os << be_nl << be_nl
+ << "namespace TAO" << be_nl
+ << "{" << be_idt_nl
+ << "class Collocation_Proxy_Broker;" << be_uidt_nl
+ << "}";
+ }
+
return 0;
}