summaryrefslogtreecommitdiff
path: root/TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-05-12 04:02:00 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-05-12 04:02:00 +0000
commit7fd92282e2cc7eaa6ba6f1cd7c8d284943e2dbfe (patch)
tree2f0a0e6fe5d947f5fd258b6945c9f6f8a6d451d4 /TAO/CIAO/CIDLC/ServantHeaderGenerator.cpp
parenteace1977b2442a916c8413011d1f711fabda7598 (diff)
downloadATCD-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.cpp121
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 ()