diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-05-12 04:02:00 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-05-12 04:02:00 +0000 |
commit | 7fd92282e2cc7eaa6ba6f1cd7c8d284943e2dbfe (patch) | |
tree | 2f0a0e6fe5d947f5fd258b6945c9f6f8a6d451d4 /TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp | |
parent | eace1977b2442a916c8413011d1f711fabda7598 (diff) | |
download | ATCD-7fd92282e2cc7eaa6ba6f1cd7c8d284943e2dbfe.tar.gz |
ChangeLogTag: Tue May 11 22:58:35 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp')
-rw-r--r-- | TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp | 121 |
1 files changed, 102 insertions, 19 deletions
diff --git a/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp b/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp index 093312640f9..c361142e18e 100644 --- a/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp +++ b/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp @@ -434,7 +434,8 @@ namespace // Nested classes used by this emitter. private: struct PortsEmitterPublic : Traversal::EmitterData, - Traversal::UserData, + Traversal::SingleUserData, + Traversal::MultiUserData, Traversal::PublisherData, EmitterBase { @@ -460,12 +461,11 @@ namespace } virtual void - traverse (SemanticGraph::User& u) + traverse (SemanticGraph::SingleUser& u) { - // @@@ (JP) Need to handle multiple connections. os << "virtual "; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << endl << "get_connection_" << u.name () @@ -475,6 +475,16 @@ namespace } virtual void + traverse (SemanticGraph::MultiUser& u) + { + os << "virtual " << u.scoped_name () << "Connections *" << endl + << "get_connections_" << u.name () + << " (" << endl + << STRS[ENV_SNGL_HDR] << ")" << endl + << STRS[EXCP_SNGL] << ";" << endl; + } + + virtual void traverse (SemanticGraph::Publisher& p) { os << "virtual void" << endl @@ -494,7 +504,8 @@ namespace }; struct PortsEmitterProtected : Traversal::EmitterData, - Traversal::UserData, + Traversal::SingleUserData, + Traversal::MultiUserData, Traversal::PublisherData, EmitterBase { @@ -532,13 +543,12 @@ namespace } virtual void - traverse (SemanticGraph::User& u) + traverse (SemanticGraph::SingleUser& u) { - // @@@ (JP) Need to handle multiple connections. os << "virtual void" << endl << "connect_" << u.name () << " (" << endl; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << "_ptr" << endl << STRS[ENV_HDR] << ")" << endl @@ -549,7 +559,7 @@ namespace os << "virtual "; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << "_ptr" << endl << "disconnect_" << u.name () << " (" << endl @@ -560,6 +570,34 @@ namespace } virtual void + traverse (SemanticGraph::MultiUser& u) + { + os << "virtual ::Components::Cookie *" << endl + << "connect_" << u.name () << " (" << endl; + + Traversal::MultiUserData::belongs (u, belongs_); + + os << "_ptr" << endl + << STRS[ENV_HDR] << ")" << endl + << STRS[EXCP_START] << endl + << STRS[EXCP_SYS] << "," << endl + << STRS[EXCP_ECL] << "," << endl + << STRS[EXCP_IC] << "));" << endl << endl; + + os << "virtual "; + + Traversal::MultiUserData::belongs (u, belongs_); + + os << "_ptr" << endl + << "disconnect_" << u.name () << " (" << endl + << "::Components::Cookie * ck" << endl + << STRS[ENV_HDR] << ")" << endl + << STRS[EXCP_START] << endl + << STRS[EXCP_SYS] << "," << endl + << STRS[EXCP_IC] << "));" << endl << endl; + } + + virtual void traverse (SemanticGraph::Publisher& p) { os << "virtual " << STRS[COMP_CK] << " *" << endl @@ -592,7 +630,8 @@ namespace }; struct PortsEmitterMembers : Traversal::EmitterData, - Traversal::UserData, + Traversal::SingleUserData, + Traversal::MultiUserData, Traversal::PublisherData, EmitterBase { @@ -614,18 +653,29 @@ namespace } virtual void - traverse (SemanticGraph::User& u) + traverse (SemanticGraph::SingleUser& u) { - // @@@ (JP) Need to handle multiple connections. os << "// Simplex " << u.name () << " connection." << endl; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << "_var" << endl << "ciao_uses_" << u.name () << "_;" << endl << endl; } virtual void + traverse (SemanticGraph::MultiUser& u) + { + os << "// Multiplex " << u.name () << " connection." << endl + << "ACE_Active_Map_Manager<" << endl; + + Traversal::MultiUserData::belongs (u, belongs_); + + os << "_var>" << endl + << "ciao_uses_" << u.name () << "_;" << endl << endl; + } + + virtual void traverse (SemanticGraph::Publisher& p) { os << "ACE_Active_Map_Manager<" << endl; @@ -843,7 +893,8 @@ namespace // Nested classes used by this emitter. private: struct PortsEmitterPublic : Traversal::EmitterData, - Traversal::UserData, + Traversal::SingleUserData, + Traversal::MultiUserData, Traversal::PublisherData, Traversal::ConsumerData, Traversal::ProviderData, @@ -874,13 +925,12 @@ namespace } virtual void - traverse (SemanticGraph::User& u) + traverse (SemanticGraph::SingleUser& u) { - // @@@ (JP) Need to handle multiple connections. os << "virtual void" << endl << "connect_" << u.name () << " (" << endl; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << "_ptr c" << endl << STRS[ENV_HDR] << ")" << endl @@ -891,7 +941,7 @@ namespace os << "virtual "; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << "_ptr" << endl << "disconnect_" << u.name () << " (" << endl @@ -902,7 +952,7 @@ namespace os << "virtual "; - Traversal::UserData::belongs (u, belongs_); + Traversal::SingleUserData::belongs (u, belongs_); os << "_ptr" << endl << "get_connection_" << u.name () << " (" << endl @@ -911,6 +961,39 @@ namespace } virtual void + traverse (SemanticGraph::MultiUser& u) + { + os << "virtual ::Components::Cookie *" << endl + << "connect_" << u.name () << " (" << endl; + + Traversal::MultiUserData::belongs (u, belongs_); + + os << "_ptr c" << endl + << STRS[ENV_HDR] << ")" << endl + << STRS[EXCP_START] << endl + << STRS[EXCP_SYS] << "," << endl + << STRS[EXCP_ECL] << "," << endl + << STRS[EXCP_IC] << "));" << endl << endl; + + os << "virtual "; + + Traversal::MultiUserData::belongs (u, belongs_); + + os << "_ptr" << endl + << "disconnect_" << u.name () << " (" << endl + << "::Components::Cookie * ck" << endl + << STRS[ENV_HDR] << ")" << endl + << STRS[EXCP_START] << endl + << STRS[EXCP_SYS] << "," << endl + << STRS[EXCP_IC] << "));" << endl << endl; + + os << "virtual " << u.scoped_name () << "Connections *" << endl + << "get_connections_" << u.name () << " (" << endl + << STRS[ENV_SNGL_HDR] << ")" << endl + << STRS[EXCP_SNGL] << ";" << endl << endl; + } + + virtual void traverse (SemanticGraph::Consumer& c) { os << "// Servant class for the " << c.name () |