blob: 3fd478cd8d988ef27a344e22ad850a9c96cd81bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
//=============================================================================
/**
* @file short.cpp
*
* tests shorts
*
* @author Aniruddha Gokhale
*/
//=============================================================================
#include "helper.h"
#include "short.h"
// ************************************************************************
// Test_Short
// ************************************************************************
Test_Short::Test_Short ()
: opname_ (CORBA::string_dup ("test_short"))
{
}
Test_Short::~Test_Short ()
{
CORBA::string_free (this->opname_);
this->opname_ = 0;
}
const char *
Test_Short::opname () const
{
return this->opname_;
}
void
Test_Short::dii_req_invoke (CORBA::Request *req)
{
req->add_in_arg ("s1") <<= this->in_;
req->add_inout_arg ("s2") <<= this->inout_;
req->add_out_arg ("s3") <<= this->out_;
req->set_return_type (CORBA::_tc_short);
req->invoke ();
req->return_value () >>= this->ret_;
CORBA::NamedValue_ptr o2 =
req->arguments ()->item (1);
*o2->value () >>= this->inout_;
CORBA::NamedValue_ptr o3 =
req->arguments ()->item (2);
*o3->value () >>= this->out_;
}
int
Test_Short::init_parameters (Param_Test_ptr /*objref*/)
{
Generator *gen = GENERATOR::instance (); // value generator
this->in_ = gen->gen_short ();
this->inout_ = 0;
return 0;
}
int
Test_Short::reset_parameters ()
{
this->inout_ = 0;
this->out_ = 0;
this->ret_ = 0;
return 0;
}
int
Test_Short::run_sii_test (Param_Test_ptr objref)
{
try
{
this->ret_ = objref->test_short (this->in_,
this->inout_,
this->out_);
return 0;
}
catch (const CORBA::Exception& ex)
{
ex._tao_print_exception ("Test_Short::run_sii_test\n");
}
return -1;
}
CORBA::Boolean
Test_Short::check_validity ()
{
if (this->inout_ == this->in_ * 2 &&
this->out_ == this->in_ * 3 &&
this->ret_ == this->in_ * 4)
return 1; // success
else
return 0;
}
CORBA::Boolean
Test_Short::check_validity (CORBA::Request_ptr /*req*/)
{
return this->check_validity ();
}
void
Test_Short::print_values ()
{
ACE_DEBUG ((LM_DEBUG,
"\n=*=*=*=*=*=*\n"
"in = %d, "
"inout = %d, "
"out = %d, "
"ret = %d\n"
"\n=*=*=*=*=*=*\n",
this->in_,
this->inout_,
this->out_,
this->ret_));
}
|