3 #include "ace/Auto_Ptr.h"
5 A_i::A_i (CORBA::ORB_ptr orb
,
6 CORBA::ValueFactoryBase
*vtp_factory
)
7 : orb_ (CORBA::ORB::_duplicate (orb
))
8 , vtp_factory_ (vtp_factory
)
13 A_i::method (::Test::A::FailOn where
,
15 ::CORBA::String_out arg2
,
18 CORBA::String_var res
;
22 // must be never reached.
25 arg2
= CORBA::string_dup (::Test::FailStr
);
28 CORBA::string_free (arg3
);
29 arg3
= CORBA::string_dup (::Test::FailStr
);
32 res
= CORBA::string_dup (::Test::FailStr
);
39 A_i::method_s (::Test::A::FailOn where
,
41 ::CORBA::String_out arg2
,
44 CORBA::String_var res
;
48 // must be never reached.
51 arg2
= CORBA::string_dup (::Test::FailStr
);
54 CORBA::string_free (arg3
);
55 arg3
= CORBA::string_dup (::Test::FailStr
);
58 res
= CORBA::string_dup (::Test::FailStr
);
65 A_i::seq_method (::Test::A::FailOn where
,
66 const ::Test::seq_bd_str
&,
67 ::Test::seq_bd_str_out arg2
,
68 ::Test::seq_bd_str
& arg3
)
70 ::Test::seq_bd_str
*arg2_val
= 0;
71 ACE_NEW_THROW_EX (arg2_val
,
76 ::Test::seq_bd_str
*res_val
= 0;
77 ACE_NEW_THROW_EX (res_val
,
80 ::Test::seq_bd_str_var res
= res_val
;
85 // must be never reached.
89 (*arg2_val
)[0] = CORBA::string_dup (::Test::FailStr
);
93 arg3
[0] = CORBA::string_dup (::Test::FailStr
);
97 (*res_val
)[0] = CORBA::string_dup (::Test::FailStr
);
103 ::Test::seq_bds_str
*
104 A_i::seq_method_s (::Test::A::FailOn where
,
105 const ::Test::seq_bds_str
&,
106 ::Test::seq_bds_str_out arg2
,
107 ::Test::seq_bds_str
& arg3
)
109 ::Test::seq_bds_str
*arg2_val
= 0;
110 ACE_NEW_THROW_EX (arg2_val
,
112 CORBA::NO_MEMORY ());
115 ::Test::seq_bds_str
*res_val
= 0;
116 ACE_NEW_THROW_EX (res_val
,
118 CORBA::NO_MEMORY ());
119 ::Test::seq_bds_str_var res
= res_val
;
124 case ::Test::A::ARG1
:
125 // must be never reached.
127 case ::Test::A::ARG2
:
128 arg2_val
->length (1);
129 (*arg2_val
)[0] = CORBA::string_dup (::Test::FailStr
);
131 case ::Test::A::ARG3
:
133 arg3
[0] = CORBA::string_dup (::Test::FailStr
);
135 case ::Test::A::RETN
:
136 (*res_val
)[0] = CORBA::string_dup (::Test::FailStr
);
142 ::Test::arr_bd_str_slice
*
143 A_i::arr_method (::Test::A::FailOn where
,
144 const ::Test::arr_bd_str
,
145 ::Test::arr_bd_str_out arg2
,
146 ::Test::arr_bd_str arg3
)
148 arg2
= ::Test::arr_bd_str_alloc ();
150 ::Test::arr_bd_str_slice
*res
=
151 ::Test::arr_bd_str_alloc ();
152 ACE_Auto_Ptr
< ::Test::arr_bd_str_slice
> safe (res
);
156 case ::Test::A::ARG1
:
157 // must be never reached.
159 case ::Test::A::ARG2
:
161 ::Test::arr_bd_str_slice
*& arg2_slice
= arg2
;
162 arg2_slice
[0] = CORBA::string_dup (::Test::FailStr
);
165 case ::Test::A::ARG3
:
166 arg3
[0] = CORBA::string_dup (::Test::FailStr
);
168 case ::Test::A::RETN
:
169 res
[0] = CORBA::string_dup (::Test::FailStr
);
177 ::Test::arr_bds_str_slice
*
178 A_i::arr_method_s (::Test::A::FailOn where
,
179 const ::Test::arr_bds_str
,
180 ::Test::arr_bds_str_out arg2
,
181 ::Test::arr_bds_str arg3
)
183 arg2
= ::Test::arr_bds_str_alloc ();
185 ::Test::arr_bds_str_slice
*res
=
186 ::Test::arr_bds_str_alloc ();
187 ACE_Auto_Ptr
< ::Test::arr_bds_str_slice
> safe (res
);
191 case ::Test::A::ARG1
:
192 // must be never reached.
194 case ::Test::A::ARG2
:
196 ::Test::arr_bds_str_slice
*& arg2_slice
= arg2
;
197 arg2_slice
[0] = CORBA::string_dup (::Test::FailStr
);
200 case ::Test::A::ARG3
:
201 arg3
[0] = CORBA::string_dup (::Test::FailStr
);
203 case ::Test::A::RETN
:
204 res
[0] = CORBA::string_dup (::Test::FailStr
);
213 A_i::sct_method (::Test::A::FailOn where
,
215 ::Test::sct_out arg2
,
218 ::Test::sct
*arg2_val
= 0;
219 ACE_NEW_THROW_EX (arg2_val
,
221 CORBA::NO_MEMORY ());
224 ::Test::sct
*res_val
= 0;
225 ACE_NEW_THROW_EX (res_val
,
227 CORBA::NO_MEMORY ());
228 ::Test::sct_var res
= res_val
;
232 case ::Test::A::ARG1
:
233 // must be never reached.
235 case ::Test::A::ARG2
:
236 arg2_val
->b
= CORBA::string_dup (::Test::FailStr
);
237 arg2_val
->c
= CORBA::string_dup (::Test::FailStr
);
239 case ::Test::A::ARG3
:
240 arg3
.b
= CORBA::string_dup (::Test::FailStr
);
241 arg3
.c
= CORBA::string_dup (::Test::FailStr
);
243 case ::Test::A::RETN
:
244 res
->b
= CORBA::string_dup (::Test::FailStr
);
245 res
->c
= CORBA::string_dup (::Test::FailStr
);
252 A_i::unn_method (::Test::A::FailOn where
,
254 ::Test::unn_out arg2
,
257 ::Test::unn
*arg2_val
= 0;
258 ACE_NEW_THROW_EX (arg2_val
,
260 CORBA::NO_MEMORY ());
263 ::Test::unn
*res_val
= 0;
264 ACE_NEW_THROW_EX (res_val
,
266 CORBA::NO_MEMORY ());
267 ::Test::unn_var res
= res_val
;
271 case ::Test::A::ARG1
:
272 // must be never reached.
274 case ::Test::A::ARG2
:
275 arg2
->b (CORBA::string_dup (::Test::FailStr
));
276 arg2
->c (CORBA::string_dup (::Test::FailStr
));
278 case ::Test::A::ARG3
:
279 arg3
.b (CORBA::string_dup (::Test::FailStr
));
280 arg3
.c (CORBA::string_dup (::Test::FailStr
));
282 case ::Test::A::RETN
:
283 res
->b (CORBA::string_dup (::Test::FailStr
));
284 res
->c (CORBA::string_dup (::Test::FailStr
));
291 A_i::vbx_method (::Test::A::FailOn where
,
292 ::Test::val_bd_str
*,
293 ::Test::val_bd_str_out arg2
,
294 ::Test::val_bd_str
*& arg3
)
296 ::Test::val_bd_str_var res
;
299 case ::Test::A::ARG1
:
300 // must be never reached.
302 case ::Test::A::ARG2
:
304 ::Test::val_bd_str
*arg2_val
= 0;
305 ACE_NEW_THROW_EX (arg2_val
,
307 CORBA::NO_MEMORY ());
309 *arg2
= CORBA::string_dup (::Test::FailStr
);
312 case ::Test::A::ARG3
:
314 ::Test::val_bd_str_var arg3_cleaner
= arg3
;
315 ::Test::val_bd_str
*arg3_val
= 0;
316 ACE_NEW_THROW_EX (arg3_val
,
318 CORBA::NO_MEMORY ());
320 *arg3
= CORBA::string_dup (::Test::FailStr
);
323 case ::Test::A::RETN
:
325 ::Test::val_bd_str
*res_val
= 0;
326 ACE_NEW_THROW_EX (res_val
,
328 CORBA::NO_MEMORY ());
330 *res_val
= CORBA::string_dup (::Test::FailStr
);
337 ::Test::val_bds_str
*
338 A_i::vbx_method_s (::Test::A::FailOn where
,
339 ::Test::val_bds_str
*,
340 ::Test::val_bds_str_out arg2
,
341 ::Test::val_bds_str
*& arg3
)
343 ::Test::val_bds_str_var res
;
346 case ::Test::A::ARG1
:
347 // must be never reached.
349 case ::Test::A::ARG2
:
351 ::Test::val_bds_str
*arg2_val
= 0;
352 ACE_NEW_THROW_EX (arg2_val
,
354 CORBA::NO_MEMORY ());
356 *arg2
= CORBA::string_dup (::Test::FailStr
);
359 case ::Test::A::ARG3
:
361 ::Test::val_bds_str_var arg3_cleaner
= arg3
;
362 ::Test::val_bds_str
*arg3_val
= 0;
363 ACE_NEW_THROW_EX (arg3_val
,
365 CORBA::NO_MEMORY ());
367 *arg3
= CORBA::string_dup (::Test::FailStr
);
370 case ::Test::A::RETN
:
372 ::Test::val_bds_str
*res_val
= 0;
373 ACE_NEW_THROW_EX (res_val
,
375 CORBA::NO_MEMORY ());
377 *res_val
= CORBA::string_dup (::Test::FailStr
);
385 A_i::vtp_method (::Test::A::FailOn where
,
387 ::Test::vtp_out arg2
,
390 ::Test::vtp
*res
= 0;
393 case ::Test::A::ARG1
:
394 // must be never reached.
396 case ::Test::A::ARG2
:
398 CORBA::ValueBase_var arg2_base
=
399 this->vtp_factory_
->create_for_unmarshal ();
400 arg2
= ::Test::vtp::_downcast (arg2_base
.in ());
401 arg2
->b (CORBA::string_dup (::Test::FailStr
));
402 arg2
->c (CORBA::string_dup (::Test::FailStr
));
406 case ::Test::A::ARG3
:
408 ::Test::vtp_var arg3_cleaner
= arg3
;
409 CORBA::ValueBase_var arg3_base
=
410 this->vtp_factory_
->create_for_unmarshal ();
411 arg3
= ::Test::vtp::_downcast (arg3_base
.in ());
412 arg3
->b (CORBA::string_dup (::Test::FailStr
));
413 arg3
->c (CORBA::string_dup (::Test::FailStr
));
417 case ::Test::A::RETN
:
419 CORBA::ValueBase_var res_base
=
420 this->vtp_factory_
->create_for_unmarshal ();
421 res
= ::Test::vtp::_downcast (res_base
.in ());
422 res
->b (CORBA::string_dup (::Test::FailStr
));
423 res
->c (CORBA::string_dup (::Test::FailStr
));
432 A_i::exc_method (::Test::string_field f
)
437 // not really tested.
439 case ::Test::BOUNDED
:
440 throw ::Test::exc (0,
444 case ::Test::TYPEDEFED
:
445 throw ::Test::exc (0,
455 this->orb_
->shutdown (0);