summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2009-08-24 07:31:29 +0000
committermsmit <msmit@remedy.nl>2009-08-24 07:31:29 +0000
commit912e38240ad990dd0b5eb65d73f9cf2f7ae08de5 (patch)
treebf270b34db9e9c3ab67e6c95a48bb4859d0f5619
parent7f8365a9697692d8c798d5012042d8b8d6b63bcd (diff)
downloadATCD-912e38240ad990dd0b5eb65d73f9cf2f7ae08de5.tar.gz
Mon Aug 24 07:34:08 UTC 2009 Marcel Smit <msmit@remedy.nl>
* connectors/AMI_CCM/AMI/AMI_exec.h: * connectors/AMI_CCM/AMI/AMI_exec.cpp: Implemented a define to switch between implementations. Resolved some compiler warnings.
-rw-r--r--modules/CIAO/ChangeLog7
-rw-r--r--modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp47
-rw-r--r--modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h23
3 files changed, 54 insertions, 23 deletions
diff --git a/modules/CIAO/ChangeLog b/modules/CIAO/ChangeLog
index d026177d062..b7e4ac0d79a 100644
--- a/modules/CIAO/ChangeLog
+++ b/modules/CIAO/ChangeLog
@@ -1,3 +1,10 @@
+Mon Aug 24 07:34:08 UTC 2009 Marcel Smit <msmit@remedy.nl>
+
+ * connectors/AMI_CCM/AMI/AMI_exec.h:
+ * connectors/AMI_CCM/AMI/AMI_exec.cpp:
+ Implemented a define to switch between implementations.
+ Resolved some compiler warnings.
+
Mon Aug 24 07:10:16 UTC 2009 Marcel Smit <msmit@remedy.nl>
* connectors/AMI_CCM/AMI/AMI.mpc:
diff --git a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp
index 644a79de579..a86cdf2998d 100644
--- a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp
+++ b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.cpp
@@ -33,8 +33,10 @@
#include "AMI_CORBA_handler.h"
#include "ciao/CIAO_common.h"
+
namespace CIAO_Hello_AMI_AMI_Impl
{
+#if !defined (AMI_CORBA_IMPLEMENTATION)
//============================================================
// Implementation of the basic form of AMI: a thread to handle
// asynchronous invocations.
@@ -63,6 +65,7 @@ namespace CIAO_Hello_AMI_AMI_Impl
return 0;
}
+#endif /* AMI_CORBA_IMPLEMENTATION */
//============================================================
// Implementation of the AMI CORBA reply handler
@@ -114,6 +117,8 @@ namespace CIAO_Hello_AMI_AMI_Impl
//============================================================
// Facet Executor Implementation Class: AMI_ami_foo_exec_i
//============================================================
+
+#if !defined (AMI_CORBA_IMPLEMENTATION)
AMI_ami_foo_exec_i::AMI_ami_foo_exec_i (
::CCM_AMI::AMI_foo_ptr foo_receiver,
::CCM_AMI::AMI_foo_callback_ptr foo_callback) :
@@ -121,11 +126,18 @@ namespace CIAO_Hello_AMI_AMI_Impl
foo_callback_ (::CCM_AMI::AMI_foo_callback::_duplicate (foo_callback)),
cookie_ (0)
{
+ }
+#else
+ AMI_ami_foo_exec_i::AMI_ami_foo_exec_i (
+ ::CCM_AMI::AMI_foo_callback_ptr foo_callback) :
+ foo_callback_ (::CCM_AMI::AMI_foo_callback::_duplicate (foo_callback)),
+ cookie_ (0)
+ {
//initilize AMI client
- ACE_TCHAR* argv[2];
- argv[0] = ACE_TEXT ("");
- argv[1] = ACE_TEXT ("");
int argc = 2;
+ ACE_TCHAR **argv = new ACE_TCHAR *[argc];
+ argv[0] = ACE::strnew (ACE_TEXT (""));
+ argv[1] = ACE::strnew (ACE_TEXT (""));
orb_ = CORBA::ORB_init (argc, argv);
CORBA::Object_var object =
@@ -156,6 +168,7 @@ namespace CIAO_Hello_AMI_AMI_Impl
handler.set_callback (foo_callback);
the_handler_var_ = handler._this (/* */);
}
+#endif /* AMI_CORBA_IMPLEMENTATION */
AMI_ami_foo_exec_i::~AMI_ami_foo_exec_i (void)
{
@@ -169,17 +182,16 @@ namespace CIAO_Hello_AMI_AMI_Impl
{
printf ("AMI :\tsendc_asynch_foo <%s>\n", in_str);
::CCM_AMI::Cookie ck = ++cookie_;
- //AMI CORBA implementation.
- printf ("AMI :\tSending string <%s> for cookie <%ld> to AMI CORBA server\n", in_str, ck);
- ami_foo_var_->sendc_asynch_foo (the_handler_var_.in (), in_str);
-
-
-/*
+#if !defined (AMI_CORBA_IMPLEMENTATION)
//single thread to perform asynchronous actions
printf ("AMI :\tReceived string <%s> for <%d>\n", in_str, ck);
ami_handler* ah = new ami_handler (ck, in_str, foo_receiver_, foo_callback_);
ah->activate ();
-*/
+#else
+ //AMI CORBA implementation.
+ printf ("AMI :\tSending string <%s> for cookie <%d> to AMI CORBA server\n", in_str, ck);
+ ami_foo_var_->sendc_asynch_foo (the_handler_var_.in (), in_str);
+#endif /* AMI_CORBA_IMPLEMENTATION */
return ck;
}
@@ -204,13 +216,16 @@ namespace CIAO_Hello_AMI_AMI_Impl
::CCM_AMI::CCM_AMI_ami_foo_ptr
AMI_exec_i::get_perform_asynch_foo (void)
{
- ::CCM_AMI::AMI_foo_var receiver_foo =
- this->context_->get_connection_receiver_foo ();
-
::CCM_AMI::AMI_foo_callback_var foo_callback =
this->context_->get_connection_callback_foo ();
+#if !defined (AMI_CORBA_IMPLEMENTATION)
+ ::CCM_AMI::AMI_foo_var receiver_foo =
+ this->context_->get_connection_receiver_foo ();
return new AMI_ami_foo_exec_i (receiver_foo, foo_callback);
+#else
+ return new AMI_ami_foo_exec_i (foo_callback);
+#endif /* AMI_CORBA_IMPLEMENTATION */
}
// Operations from Components::SessionComponent.
@@ -241,10 +256,10 @@ namespace CIAO_Hello_AMI_AMI_Impl
this->context_->get_connection_receiver_foo ();
printf ("AMI :\tCCM_ACTIVATE\n");
- ACE_TCHAR* argv[2];
- argv[0] = ACE_TEXT ("");
- argv[1] = ACE_TEXT ("");
int argc = 2;
+ ACE_TCHAR **argv = new ACE_TCHAR *[argc];
+ argv[0] = ACE::strnew (ACE_TEXT (""));
+ argv[1] = ACE::strnew (ACE_TEXT (""));
CORBA::ORB_var orb =
CORBA::ORB_init (argc, argv);
AMI_server *srv = new AMI_server (orb.in (), receiver_foo);
diff --git a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h
index d8b44ccc3cd..611d5e8a138 100644
--- a/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h
+++ b/modules/CIAO/connectors/AMI_CCM/AMI/AMI_exec.h
@@ -43,9 +43,11 @@
#include "ace/Task.h"
#include "AMI_server.h"
+#define AMI_CORBA_IMPLEMENTATION
+
namespace CIAO_Hello_AMI_AMI_Impl
{
-
+#if !defined (AMI_CORBA_IMPLEMENTATION)
/////////////////////////////
//AMI thread implemenatation
/////////////////////////////
@@ -64,18 +66,22 @@ namespace CIAO_Hello_AMI_AMI_Impl
::CCM_AMI::AMI_foo_ptr foo_receiver_;
::CCM_AMI::AMI_foo_callback_ptr foo_callback_;
};
-
-
+#endif /* AMI_CORBA_IMPLEMENTATION */
class AMI_ami_foo_exec_i
: public virtual ::CCM_AMI::CCM_AMI_ami_foo,
- public virtual ::CORBA::LocalObject,
- public virtual ACE_Task_Base
+ public virtual ::CORBA::LocalObject
{
public:
+#if !defined (AMI_CORBA_IMPLEMENTATION)
AMI_ami_foo_exec_i (
::CCM_AMI::AMI_foo_ptr foo_receiver,
::CCM_AMI::AMI_foo_callback_ptr foo_callback);
+#else
+ AMI_ami_foo_exec_i (
+ ::CCM_AMI::AMI_foo_callback_ptr foo_callback);
+#endif /* AMI_CORBA_IMPLEMENTATION */
+
virtual ~AMI_ami_foo_exec_i (void);
// Operations and attributes from ::CCM_AMI::AMI_ami_foo
@@ -87,15 +93,18 @@ namespace CIAO_Hello_AMI_AMI_Impl
sendc_asynch_foo (
const char * in_str);
private:
+#if !defined (AMI_CORBA_IMPLEMENTATION)
::CCM_AMI::AMI_foo_var foo_receiver_;
+#endif /* AMI_CORBA_IMPLEMENTATION */
::CCM_AMI::AMI_foo_callback_var foo_callback_;
long cookie_;
+#if defined (AMI_CORBA_IMPLEMENTATION)
CORBA::ORB_var orb_;
-
- /// Variable to handle CORBA AMI
INTERNAL_CCM_AMI::AMI_AMI_fooHandler_var the_handler_var_;
INTERNAL_CCM_AMI::AMI_foo_var ami_foo_var_;
+#endif /* AMI_CORBA_IMPLEMENTATION */
+
};
class AMI_exec_i