summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2004-11-25 23:14:47 +0000
committerbala <balanatarajan@users.noreply.github.com>2004-11-25 23:14:47 +0000
commit3ad44829241e23dc04c4fe7d5424b772de6ff83c (patch)
tree84c253a21ef0645ce5566d8def0001eeebf01166
parent37cf87a6c540d6ba17a54a7332076eb2e8c552f4 (diff)
downloadATCD-3ad44829241e23dc04c4fe7d5424b772de6ff83c.tar.gz
*** empty log message ***
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp16
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp9
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h13
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp35
-rw-r--r--TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h13
5 files changed, 65 insertions, 21 deletions
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp
index c2d394cfede..8ea89c5ed0b 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec.cpp
@@ -44,7 +44,7 @@ Sender_Impl::SenderSwap_exec_i::incarnate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
if (second_dll.open (second_exe_dll_name,
ACE_DEFAULT_SHLIB_MODE, 0) != 0)
{
- ACE_DEBUG ((LM_DEBUG, "Could not open the DLL %s\n",
+ ACE_DEBUG ((LM_DEBUG, "Could not open the DLL %s\n",
second_exe_dll_name));
return 0;
}
@@ -58,17 +58,19 @@ Sender_Impl::SenderSwap_exec_i::incarnate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
if (this->count_ == 0)
{
first_exec_creator = (ExecFactory) first_dll.symbol (first_exe_entrypt);
- Components::EnterpriseComponent_var first_executor =
- first_exec_creator ();
+ Components::EnterpriseComponent_var first_executor =
+ first_exec_creator (this);
count_++;
return first_executor._retn ();
}
else if (count_ == 1)
{
- second_exec_creator = (ExecFactory)
+ second_exec_creator = (ExecFactory)
second_dll.symbol (second_exe_entrypt);
- Components::EnterpriseComponent_var second_executor =
- second_exec_creator ();
+ Components::EnterpriseComponent_var second_executor =
+ second_exec_creator (this);
+
+ --count;
return second_executor._retn ();
}
}
@@ -85,7 +87,7 @@ Sender_Impl::SenderHome_exec_i::create (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException,
Components::CCMException))
{
- ACE_DEBUG ((LM_DEBUG, "%P|%t) creating SenderHome \n"));
+ ACE_DEBUG ((LM_DEBUG, "%P|%t) creating SenderHome \n"));
return new Sender_Impl::SenderSwap_exec_i;
// return new Sender_Impl::Sender_exec_i;
}
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp
index c82cafdf8fb..1d171364681 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.cpp
@@ -133,7 +133,12 @@ Sender_Impl::Sender_exec_1_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
}
extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
-createSenderExec_Impl (void)
+createSenderExec_Impl (SenderSwap_exec_i *p)
{
- return new Sender_Impl::Sender_exec_1_i ();
+ Sender_exec_1_i *tmp =
+ new Sender_Impl::Sender_exec_1_i ();
+
+ tmp->swap_exec (p);
+
+ return tmp;
}
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h
index d5cfd66613d..3f5e776ff4e 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_1.h
@@ -23,7 +23,8 @@ namespace Sender_Impl
{
public:
-
+ /// Default constructor.
+ Sender_exec_1_i () {};
/// Secondary construction.
Sender_exec_1_i (const char* local_message
@@ -86,6 +87,11 @@ namespace Sender_Impl
ACE_THROW_SPEC ((CORBA::SystemException,
Components::CCMException));
+ void swap_exec (SenderSwap_exec_i *p)
+ {
+ this->base_exec_ = p;
+ }
+
protected:
/// Copmponent specific context
Sender_Exec_Context_var context_;
@@ -96,9 +102,6 @@ namespace Sender_Impl
// my incarnator
SenderSwap_exec_i *base_exec_;
- /// Default constructor.
- Sender_exec_1_i () {};
-
friend class Message_Impl_1;
};
@@ -122,6 +125,6 @@ namespace Sender_Impl
}
extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
-createSenderExec_Impl (void);
+createSenderExec_Impl (SenderSwap_exec_i *p);
#endif /* SENDER_EXEC_H */
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp
index aaef4026d68..e8a6d547201 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.cpp
@@ -33,7 +33,7 @@ Hello::CCM_ReadMessage_ptr
Sender_Impl::Sender_exec_2_i::get_push_message (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- ACE_DEBUG ((LM_DEBUG,
+ ACE_DEBUG ((LM_DEBUG,
"Sender_Impl::Sender_exec.i::get_push_message called\n "));
return ( new Message_Impl_2 (*this) );
}
@@ -48,7 +48,7 @@ Sender_Impl::Sender_exec_2_i::start (ACE_ENV_SINGLE_ARG_DECL)
}
void
-Sender_Impl::Sender_exec_2_i::set_session_context
+Sender_Impl::Sender_exec_2_i::set_session_context
(Components::SessionContext_ptr ctx
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
@@ -75,12 +75,32 @@ Sender_Impl::Sender_exec_2_i::ciao_preactivate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED
}
void
-Sender_Impl::Sender_exec_2_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+Sender_Impl::Sender_exec_2_i::ccm_activate (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
Components::CCMException))
{
ACE_DEBUG ((LM_DEBUG,
"Sender_Impl::Sender_exec_2_i::ccm_activate\n"));
+
+ ::Components::ConsumerDescriptions_var c =
+ this->base_exec_->consumers ();
+
+ CORBA::Object_var o =
+ this->context_->get_CCM_object ();
+
+ Hello::Sender_var sender =
+ Hello::Sender::_narrow (comp_object.in ()
+ ACE_ENV_ARG_PARAMETER);
+
+ for (CORBA::ULong cnt = 0;
+ cnt != c->length ();
+ ++cnt)
+ {
+ sender->connect_consumer (c[cnt]->name (),
+ c[cnt]
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
}
void
@@ -110,7 +130,12 @@ Sender_Impl::Sender_exec_2_i::ccm_remove (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
}
extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
-createSenderExec_Impl (void)
+createSenderExec_Impl (SenderSwap_exec_i *p)
{
- return new Sender_Impl::Sender_exec_2_i ();
+ Sender_exec_2_i *tmp =
+ new Sender_Impl::Sender_exec_1_i ();
+
+ tmp->swap_exec (p);
+
+ return tmp;
}
diff --git a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h
index f0eed902f72..352cabc6efd 100644
--- a/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h
+++ b/TAO/CIAO/DAnCE/examples/Hello/Sender/Sender_exec_2.h
@@ -30,8 +30,10 @@ namespace Sender_Impl
}
/// Secondary construction.
- Sender_exec_2_i (const char* local_message)
+ Sender_exec_2_i (const char* local_message
+ SenderSwap_exec_i *e)
: message_ (CORBA::string_dup (local_message))
+ , base_exec_ (e)
{
}
@@ -88,6 +90,11 @@ namespace Sender_Impl
ACE_THROW_SPEC ((CORBA::SystemException,
Components::CCMException));
+ void swap_exec (SenderSwap_exec_i *p)
+ {
+ this->base_exec_ = p;
+ }
+
protected:
/// Copmponent specific context
Sender_Exec_Context_var context_;
@@ -95,6 +102,8 @@ namespace Sender_Impl
private:
CORBA::String_var message_;
+ SenderSwap_exec_i *base_exec_;
+
friend class Message_Impl_2;
};
@@ -118,6 +127,6 @@ namespace Sender_Impl
}
extern "C" SENDER_EXEC_Export ::Components::EnterpriseComponent_ptr
-createSenderExec_Impl (void);
+createSenderExec_Impl (SenderSwap_exec_i *p);
#endif /* SENDER_EXEC_H */