summaryrefslogtreecommitdiff
path: root/TAO/tests/AMI/ami_test_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/AMI/ami_test_i.cpp')
-rw-r--r--TAO/tests/AMI/ami_test_i.cpp99
1 files changed, 99 insertions, 0 deletions
diff --git a/TAO/tests/AMI/ami_test_i.cpp b/TAO/tests/AMI/ami_test_i.cpp
new file mode 100644
index 00000000000..dd18af1af6c
--- /dev/null
+++ b/TAO/tests/AMI/ami_test_i.cpp
@@ -0,0 +1,99 @@
+
+//=============================================================================
+/**
+ * @file ami_test_i.cpp
+ *
+ * $Id$
+ *
+ * Implementation of the AMI Test interface.
+ *
+ *
+ * @author Alexander Babu Arulanthu <alex@cs.wustl.edu>
+ * @author Michael Kircher <Michael.Kircher@mchp.siemens.de>
+ */
+//=============================================================================
+
+
+#include "ami_test_i.h"
+#include "tao/debug.h"
+
+ACE_RCSID(AMI, ami_test_i, "$Id$")
+
+AMI_Test_i::AMI_Test_i (CORBA::ORB_ptr orb,
+ CORBA::Long in_l,
+ const char * in_str,
+ bool check_params)
+ : orb_ (CORBA::ORB::_duplicate (orb)),
+ number_ ((CORBA::Long) 931232),
+ yadda_ ((CORBA::Long) 140474),
+ in_l_ (in_l),
+ in_str_(CORBA::string_dup(in_str)),
+ check_params_(check_params)
+{
+}
+
+CORBA::Long
+AMI_Test_i::foo (CORBA::Long_out out_l,
+ CORBA::Long in_l,
+ const char* in_str)
+{
+ out_l = 931233;
+
+ //if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "%N:%l:(%P:%t):AMI_Test_i::foo: %d %s\n",
+ in_l,
+ in_str));
+
+ if (in_l == 0)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "Throwing Exception: A::DidTheRightThing\n"));
+ throw A::DidTheRightThing();
+ }
+
+ if (check_params_)
+ {
+ if (in_l_ != in_l || ACE_OS::strcmp(in_str_.in (), in_str) != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "ERROR: Parameter corruption on in parameters: %d %d %s %s.\n",
+ in_l_, in_l, in_str_.in (), in_str));
+ }
+ return 0;
+ }
+
+ return 931234;
+}
+
+void
+AMI_Test_i::shutdown (void)
+{
+ this->orb_->shutdown (0);
+}
+
+
+CORBA::Long
+AMI_Test_i::yadda (void)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "%N:%l:(%P:%t):AMI_Test_i::(get_)yadda\n"));
+ return yadda_;
+}
+
+
+void
+AMI_Test_i::yadda (CORBA::Long yadda)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "%N:%l:(%P:%t):AMI_Test_i::(set_)yadda\n"));
+ yadda_ = yadda;
+}
+
+void
+AMI_Test_i::inout_arg_test (char *&)
+{
+ // No action, this operation is to test code generation for INOUT
+ // args in AMI operations.
+}
+