diff options
Diffstat (limited to 'TAO/tests/AMI/ami_test_i.cpp')
-rw-r--r-- | TAO/tests/AMI/ami_test_i.cpp | 99 |
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. +} + |