1 // **********************************************************************
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
8 // **********************************************************************
21 TestI::SBaseAsObject(const ::Ice::Current
&)
23 SBasePtr sb
= new SBase
;
29 TestI::SBaseAsSBase(const ::Ice::Current
&)
31 SBasePtr sb
= new SBase
;
37 TestI::SBSKnownDerivedAsSBase(const ::Ice::Current
&)
39 SBSKnownDerivedPtr sbskd
= new SBSKnownDerived
;
40 sbskd
->sb
= "SBSKnownDerived.sb";
41 sbskd
->sbskd
= "SBSKnownDerived.sbskd";
46 TestI::SBSKnownDerivedAsSBSKnownDerived(const ::Ice::Current
&)
48 SBSKnownDerivedPtr sbskd
= new SBSKnownDerived
;
49 sbskd
->sb
= "SBSKnownDerived.sb";
50 sbskd
->sbskd
= "SBSKnownDerived.sbskd";
55 TestI::SBSUnknownDerivedAsSBase(const ::Ice::Current
&)
57 SBSUnknownDerivedPtr sbsud
= new SBSUnknownDerived
;
58 sbsud
->sb
= "SBSUnknownDerived.sb";
59 sbsud
->sbsud
= "SBSUnknownDerived.sbsud";
64 TestI::SUnknownAsObject(const ::Ice::Current
&)
66 SUnknownPtr su
= new SUnknown
;
67 su
->su
= "SUnknown.su";
72 TestI::oneElementCycle(const ::Ice::Current
&)
81 TestI::twoElementCycle(const ::Ice::Current
&)
93 TestI::D1AsB(const ::Ice::Current
&)
109 TestI::D1AsD1(const ::Ice::Current
&)
125 TestI::D2AsB(const ::Ice::Current
&)
141 TestI::paramTest1(BPtr
& p1
, BPtr
& p2
, const ::Ice::Current
&)
158 TestI::paramTest2(BPtr
& p1
, BPtr
& p2
, const ::Ice::Current
&)
161 paramTest1(p2
, p1
, c
);
165 TestI::paramTest3(BPtr
& p1
, BPtr
& p2
, const ::Ice::Current
&)
168 d2
->sb
= "D2.sb (p1 1)";
170 d2
->sd2
= "D2.sd2 (p1 1)";
174 d1
->sb
= "D1.sb (p1 2)";
176 d1
->sd1
= "D1.sd2 (p1 2)";
181 d4
->sb
= "D2.sb (p2 1)";
183 d4
->sd2
= "D2.sd2 (p2 1)";
187 d3
->sb
= "D1.sb (p2 2)";
189 d3
->sd1
= "D1.sd2 (p2 2)";
197 TestI::paramTest4(BPtr
& p1
, const ::Ice::Current
&)
200 d4
->sb
= "D4.sb (1)";
203 d4
->p1
->sb
= "B.sb (1)";
205 d4
->p2
->sb
= "B.sb (2)";
211 TestI::returnTest1(BPtr
& p1
, BPtr
& p2
, const ::Ice::Current
&)
214 paramTest1(p1
, p2
, c
);
219 TestI::returnTest2(BPtr
& p1
, BPtr
& p2
, const ::Ice::Current
&)
222 paramTest1(p2
, p1
, c
);
227 TestI::returnTest3(const BPtr
& p1
, const BPtr
& p2
, const ::Ice::Current
&)
233 TestI::sequenceTest(const SS1Ptr
& p1
, const SS2Ptr
& p2
, const ::Ice::Current
&)
242 TestI::dictionaryTest(const BDict
& bin
, BDict
& bout
, const ::Ice::Current
&)
245 for(i
= 0; i
< 10; ++i
)
247 BPtr b
= bin
.find(i
)->second
;
256 for(i
= 0; i
< 10; ++i
)
258 std::ostringstream s
;
259 s
<< "D1." << i
* 20;
262 d1
->pb
= (i
== 0 ? BPtr(0) : r
.find((i
- 1) * 20)->second
);
271 TestI::throwBaseAsBase(const ::Ice::Current
&)
282 TestI::throwDerivedAsBase(const ::Ice::Current
&)
294 de
.pd1
->pd1
= de
.pd1
;
299 TestI::throwDerivedAsDerived(const ::Ice::Current
&)
311 de
.pd1
->pd1
= de
.pd1
;
316 TestI::throwUnknownDerivedAsBase(const ::Ice::Current
&)
324 UnknownDerivedException ude
;
333 TestI::useForward(ForwardPtr
& f
, const ::Ice::Current
&)
341 TestI::shutdown(const ::Ice::Current
& current
)
343 current
.adapter
->getCommunicator()->shutdown();