1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4
5 #include <Ice/Communicator.h>
6 #include <TestI.h>
7
8 Test::DoubleSeq
opDoubleArray(ICE_IN (std::pair<const Ice::Double *,const Ice::Double * >)inSeq,Test::DoubleSeq & outSeq,const Ice::Current &)9 TestIntfI::opDoubleArray(ICE_IN(std::pair<const Ice::Double*, const Ice::Double*>) inSeq,
10 Test::DoubleSeq& outSeq,
11 const Ice::Current&)
12 {
13 Test::DoubleSeq(inSeq.first, inSeq.second).swap(outSeq);
14 return outSeq;
15 }
16
17 Test::BoolSeq
opBoolArray(ICE_IN (std::pair<const bool *,const bool * >)inSeq,Test::BoolSeq & outSeq,const Ice::Current &)18 TestIntfI::opBoolArray(ICE_IN(std::pair<const bool*, const bool*>) inSeq,
19 Test::BoolSeq& outSeq,
20 const Ice::Current&)
21 {
22 Test::BoolSeq(inSeq.first, inSeq.second).swap(outSeq);
23 return outSeq;
24 }
25
26 Test::ByteList
opByteArray(ICE_IN (std::pair<const Ice::Byte *,const Ice::Byte * >)inSeq,Test::ByteList & outSeq,const Ice::Current &)27 TestIntfI::opByteArray(ICE_IN(std::pair<const Ice::Byte*, const Ice::Byte*>) inSeq,
28 Test::ByteList& outSeq,
29 const Ice::Current&)
30 {
31 Test::ByteList(inSeq.first, inSeq.second).swap(outSeq);
32 return outSeq;
33 }
34
35 Test::VariableList
opVariableArray(ICE_IN (std::pair<const Test::Variable *,const Test::Variable * >)inSeq,Test::VariableList & outSeq,const Ice::Current &)36 TestIntfI::opVariableArray(ICE_IN(std::pair<const Test::Variable*, const Test::Variable*>) inSeq,
37 Test::VariableList& outSeq,
38 const Ice::Current&)
39 {
40 Test::VariableList(inSeq.first, inSeq.second).swap(outSeq);
41 return outSeq;
42 }
43
44 #ifdef ICE_CPP11_MAPPING
45
46 Test::BoolSeq
opBoolRange(Test::BoolSeq inSeq,Test::BoolSeq & outSeq,const Ice::Current &)47 TestIntfI::opBoolRange(Test::BoolSeq inSeq, Test::BoolSeq& outSeq, const Ice::Current&)
48 {
49 outSeq.swap(inSeq);
50 return outSeq;
51 }
52
53 Test::ByteList
opByteRange(Test::ByteList inSeq,Test::ByteList & outSeq,const Ice::Current &)54 TestIntfI::opByteRange(Test::ByteList inSeq, Test::ByteList& outSeq, const Ice::Current&)
55 {
56 outSeq.swap(inSeq);
57 return outSeq;
58 }
59
60 Test::VariableList
opVariableRange(Test::VariableList inSeq,Test::VariableList & outSeq,const Ice::Current &)61 TestIntfI::opVariableRange(Test::VariableList inSeq, Test::VariableList& outSeq, const Ice::Current&)
62 {
63 outSeq.swap(inSeq);
64 return outSeq;
65 }
66
67 Test::ByteList
opByteRangeType(Test::ByteList inSeq,Test::ByteList & outSeq,const Ice::Current &)68 TestIntfI::opByteRangeType(Test::ByteList inSeq, Test::ByteList& outSeq, const Ice::Current&)
69 {
70 outSeq.swap(inSeq);
71 return outSeq;
72 }
73
74 Test::VariableList
opVariableRangeType(Test::VariableList inSeq,Test::VariableList & outSeq,const Ice::Current &)75 TestIntfI::opVariableRangeType(Test::VariableList inSeq, Test::VariableList& outSeq, const Ice::Current&)
76 {
77 outSeq.swap(inSeq);
78 return outSeq;
79 }
80
81 #else
82
83 Test::BoolSeq
opBoolRange(const std::pair<Test::BoolSeq::const_iterator,Test::BoolSeq::const_iterator> & inSeq,Test::BoolSeq & outSeq,const Ice::Current &)84 TestIntfI::opBoolRange(const std::pair<Test::BoolSeq::const_iterator, Test::BoolSeq::const_iterator>& inSeq,
85 Test::BoolSeq& outSeq,
86 const Ice::Current&)
87 {
88 Test::BoolSeq(inSeq.first, inSeq.second).swap(outSeq);
89 return outSeq;
90 }
91
92 Test::ByteList
opByteRange(const std::pair<Test::ByteList::const_iterator,Test::ByteList::const_iterator> & inSeq,Test::ByteList & outSeq,const Ice::Current &)93 TestIntfI::opByteRange(const std::pair<Test::ByteList::const_iterator, Test::ByteList::const_iterator>& inSeq,
94 Test::ByteList& outSeq,
95 const Ice::Current&)
96 {
97 Test::ByteList(inSeq.first, inSeq.second).swap(outSeq);
98 return outSeq;
99 }
100
101 Test::VariableList
opVariableRange(const std::pair<Test::VariableList::const_iterator,Test::VariableList::const_iterator> & inSeq,Test::VariableList & outSeq,const Ice::Current &)102 TestIntfI::opVariableRange(
103 const std::pair<Test::VariableList::const_iterator, Test::VariableList::const_iterator>& inSeq,
104 Test::VariableList& outSeq,
105 const Ice::Current&)
106 {
107 Test::VariableList(inSeq.first, inSeq.second).swap(outSeq);
108 return outSeq;
109 }
110
111 Test::ByteList
opByteRangeType(const std::pair<Test::ByteList::const_iterator,Test::ByteList::const_iterator> & inSeq,Test::ByteList & outSeq,const Ice::Current &)112 TestIntfI::opByteRangeType(const std::pair<Test::ByteList::const_iterator, Test::ByteList::const_iterator>& inSeq,
113 Test::ByteList& outSeq,
114 const Ice::Current&)
115 {
116 Test::ByteList(inSeq.first, inSeq.second).swap(outSeq);
117 return outSeq;
118 }
119
120 Test::VariableList
opVariableRangeType(const std::pair<std::deque<Test::Variable>::const_iterator,std::deque<Test::Variable>::const_iterator> & inSeq,Test::VariableList & outSeq,const Ice::Current &)121 TestIntfI::opVariableRangeType(
122 const std::pair<std::deque<Test::Variable>::const_iterator, std::deque<Test::Variable>::const_iterator>& inSeq,
123 Test::VariableList& outSeq,
124 const Ice::Current&)
125 {
126 for(std::deque<Test::Variable>::const_iterator p = inSeq.first; p != inSeq.second; ++p)
127 {
128 outSeq.push_back(*p);
129 }
130 return outSeq;
131 }
132
133 #endif
134
135 std::deque<bool>
opBoolSeq(ICE_IN (std::deque<bool>)inSeq,std::deque<bool> & outSeq,const Ice::Current &)136 TestIntfI::opBoolSeq(ICE_IN(std::deque<bool>) inSeq,
137 std::deque<bool>& outSeq,
138 const Ice::Current&)
139 {
140 outSeq = inSeq;
141 return inSeq;
142 }
143
144 std::list<bool>
opBoolList(ICE_IN (std::list<bool>)inSeq,std::list<bool> & outSeq,const Ice::Current &)145 TestIntfI::opBoolList(ICE_IN(std::list<bool>) inSeq,
146 std::list<bool>& outSeq,
147 const Ice::Current&)
148 {
149 outSeq = inSeq;
150 return inSeq;
151 }
152
153 ::Test::BoolDequeList
opBoolDequeList(ICE_IN (::Test::BoolDequeList)inSeq,::Test::BoolDequeList & outSeq,const Ice::Current &)154 TestIntfI::opBoolDequeList(ICE_IN(::Test::BoolDequeList) inSeq, ::Test::BoolDequeList& outSeq, const Ice::Current&)
155 {
156 outSeq = inSeq;
157 return inSeq;
158 }
159
160 ::Test::BoolDequeList
opBoolDequeListArray(ICE_IN (::std::pair<const std::deque<bool> *,const std::deque<bool> * >)inSeq,::Test::BoolDequeList & outSeq,const::Ice::Current &)161 TestIntfI::opBoolDequeListArray(ICE_IN(::std::pair<const std::deque<bool>*, const std::deque<bool>*>) inSeq,
162 ::Test::BoolDequeList& outSeq,
163 const ::Ice::Current&)
164 {
165 for(const std::deque<bool>* p = inSeq.first; p != inSeq.second; ++p)
166 {
167 outSeq.push_back(*p);
168 }
169 return outSeq;
170 }
171
172 #ifdef ICE_CPP11_MAPPING
173 Test::BoolDequeList
opBoolDequeListRange(Test::BoolDequeList inSeq,Test::BoolDequeList & outSeq,const::Ice::Current &)174 TestIntfI::opBoolDequeListRange(Test::BoolDequeList inSeq, Test::BoolDequeList& outSeq, const ::Ice::Current&)
175 {
176 outSeq.swap(inSeq);
177 return outSeq;
178 }
179 #else
180 ::Test::BoolDequeList
opBoolDequeListRange(const::std::pair<::Test::BoolDequeList::const_iterator,::Test::BoolDequeList::const_iterator> & inSeq,::Test::BoolDequeList & outSeq,const::Ice::Current &)181 TestIntfI::opBoolDequeListRange(const ::std::pair< ::Test::BoolDequeList::const_iterator,
182 ::Test::BoolDequeList::const_iterator>& inSeq,
183 ::Test::BoolDequeList& outSeq,
184 const ::Ice::Current&)
185 {
186 for(::Test::BoolDequeList::const_iterator p = inSeq.first; p != inSeq.second; ++p)
187 {
188 outSeq.push_back(*p);
189 }
190 return outSeq;
191 }
192 #endif
193
194 std::deque< ::Ice::Byte>
opByteSeq(ICE_IN (std::deque<::Ice::Byte>)inSeq,std::deque<::Ice::Byte> & outSeq,const Ice::Current &)195 TestIntfI::opByteSeq(ICE_IN(std::deque< ::Ice::Byte>) inSeq,
196 std::deque< ::Ice::Byte>& outSeq,
197 const Ice::Current&)
198 {
199 outSeq = inSeq;
200 return inSeq;
201 }
202
203 std::list< ::Ice::Byte>
opByteList(ICE_IN (std::list<::Ice::Byte>)inSeq,std::list<::Ice::Byte> & outSeq,const Ice::Current &)204 TestIntfI::opByteList(ICE_IN(std::list< ::Ice::Byte>) inSeq,
205 std::list< ::Ice::Byte>& outSeq,
206 const Ice::Current&)
207 {
208 outSeq = inSeq;
209 return inSeq;
210 }
211
212 MyByteSeq
opMyByteSeq(ICE_IN (MyByteSeq)inSeq,MyByteSeq & outSeq,const Ice::Current &)213 TestIntfI::opMyByteSeq(ICE_IN(MyByteSeq) inSeq,
214 MyByteSeq& outSeq,
215 const Ice::Current&)
216 {
217 outSeq = inSeq;
218 return inSeq;
219 }
220
221 std::string
opString(ICE_IN (Util::string_view)inString,std::string & outString,const Ice::Current &)222 TestIntfI::opString(ICE_IN(Util::string_view) inString,
223 std::string& outString,
224 const Ice::Current&)
225 {
226 outString = inString.to_string();
227 return outString;
228 }
229
230 std::deque< ::std::string>
opStringSeq(ICE_IN (std::deque<::std::string>)inSeq,std::deque<::std::string> & outSeq,const Ice::Current &)231 TestIntfI::opStringSeq(ICE_IN(std::deque< ::std::string>) inSeq,
232 std::deque< ::std::string>& outSeq,
233 const Ice::Current&)
234 {
235 outSeq = inSeq;
236 return inSeq;
237 }
238
239 std::list< ::std::string>
opStringList(ICE_IN (std::list<::std::string>)inSeq,std::list<::std::string> & outSeq,const Ice::Current &)240 TestIntfI::opStringList(ICE_IN(std::list< ::std::string>) inSeq,
241 std::list< ::std::string>& outSeq,
242 const Ice::Current&)
243 {
244 outSeq = inSeq;
245 return inSeq;
246 }
247
248 std::deque< ::Test::Fixed>
opFixedSeq(ICE_IN (std::deque<::Test::Fixed>)inSeq,std::deque<::Test::Fixed> & outSeq,const Ice::Current &)249 TestIntfI::opFixedSeq(ICE_IN(std::deque< ::Test::Fixed>) inSeq,
250 std::deque< ::Test::Fixed>& outSeq,
251 const Ice::Current&)
252 {
253 outSeq = inSeq;
254 return inSeq;
255 }
256
257 std::list< ::Test::Fixed>
opFixedList(ICE_IN (std::list<::Test::Fixed>)inSeq,std::list<::Test::Fixed> & outSeq,const Ice::Current &)258 TestIntfI::opFixedList(ICE_IN(std::list< ::Test::Fixed>) inSeq,
259 std::list< ::Test::Fixed>& outSeq,
260 const Ice::Current&)
261 {
262 outSeq = inSeq;
263 return inSeq;
264 }
265
266 std::deque< ::Test::Variable>
opVariableSeq(ICE_IN (std::deque<::Test::Variable>)inSeq,std::deque<::Test::Variable> & outSeq,const Ice::Current &)267 TestIntfI::opVariableSeq(ICE_IN(std::deque< ::Test::Variable>) inSeq,
268 std::deque< ::Test::Variable>& outSeq,
269 const Ice::Current&)
270 {
271 outSeq = inSeq;
272 return inSeq;
273 }
274
275 std::list< ::Test::Variable>
opVariableList(ICE_IN (std::list<::Test::Variable>)inSeq,std::list<::Test::Variable> & outSeq,const Ice::Current &)276 TestIntfI::opVariableList(ICE_IN(std::list< ::Test::Variable>) inSeq,
277 std::list< ::Test::Variable>& outSeq,
278 const Ice::Current&)
279 {
280 outSeq = inSeq;
281 return inSeq;
282 }
283
284 std::deque< ::Test::StringStringDict>
opStringStringDictSeq(ICE_IN (std::deque<::Test::StringStringDict>)inSeq,std::deque<::Test::StringStringDict> & outSeq,const Ice::Current &)285 TestIntfI::opStringStringDictSeq(ICE_IN(std::deque< ::Test::StringStringDict>) inSeq,
286 std::deque< ::Test::StringStringDict>& outSeq,
287 const Ice::Current&)
288 {
289 outSeq = inSeq;
290 return inSeq;
291 }
292
293 std::list< ::Test::StringStringDict>
opStringStringDictList(ICE_IN (std::list<::Test::StringStringDict>)inSeq,std::list<::Test::StringStringDict> & outSeq,const Ice::Current &)294 TestIntfI::opStringStringDictList(ICE_IN(std::list< ::Test::StringStringDict>) inSeq,
295 std::list< ::Test::StringStringDict>& outSeq,
296 const Ice::Current&)
297 {
298 outSeq = inSeq;
299 return inSeq;
300 }
301
302 std::deque< ::Test::E>
opESeq(ICE_IN (std::deque<::Test::E>)inSeq,std::deque<::Test::E> & outSeq,const Ice::Current &)303 TestIntfI::opESeq(ICE_IN(std::deque< ::Test::E>) inSeq,
304 std::deque< ::Test::E>& outSeq,
305 const Ice::Current&)
306 {
307 outSeq = inSeq;
308 return inSeq;
309 }
310
311 std::list< ::Test::E>
opEList(ICE_IN (std::list<::Test::E>)inSeq,std::list<::Test::E> & outSeq,const Ice::Current &)312 TestIntfI::opEList(ICE_IN(std::list< ::Test::E>) inSeq,
313 std::list< ::Test::E>& outSeq,
314 const Ice::Current&)
315 {
316 outSeq = inSeq;
317 return inSeq;
318 }
319
320 std::deque< ::Test::DPrxPtr>
opDPrxSeq(ICE_IN (std::deque<::Test::DPrxPtr>)inSeq,std::deque<::Test::DPrxPtr> & outSeq,const Ice::Current &)321 TestIntfI::opDPrxSeq(ICE_IN(std::deque< ::Test::DPrxPtr>) inSeq,
322 std::deque< ::Test::DPrxPtr>& outSeq,
323 const Ice::Current&)
324 {
325 outSeq = inSeq;
326 return inSeq;
327 }
328
329 std::list< ::Test::DPrxPtr>
opDPrxList(ICE_IN (std::list<::Test::DPrxPtr>)inSeq,std::list<::Test::DPrxPtr> & outSeq,const Ice::Current &)330 TestIntfI::opDPrxList(ICE_IN(std::list< ::Test::DPrxPtr>) inSeq,
331 std::list< ::Test::DPrxPtr>& outSeq,
332 const Ice::Current&)
333 {
334 outSeq = inSeq;
335 return inSeq;
336 }
337
338 std::deque< ::Test::CPtr>
opCSeq(ICE_IN (std::deque<::Test::CPtr>)inSeq,std::deque<::Test::CPtr> & outSeq,const Ice::Current &)339 TestIntfI::opCSeq(ICE_IN(std::deque< ::Test::CPtr>) inSeq,
340 std::deque< ::Test::CPtr>& outSeq,
341 const Ice::Current&)
342 {
343 outSeq = inSeq;
344 return inSeq;
345 }
346
347 std::list< ::Test::CPtr>
opCList(ICE_IN (std::list<::Test::CPtr>)inSeq,std::list<::Test::CPtr> & outSeq,const Ice::Current &)348 TestIntfI::opCList(ICE_IN(std::list< ::Test::CPtr>) inSeq,
349 std::list< ::Test::CPtr>& outSeq,
350 const Ice::Current&)
351 {
352 outSeq = inSeq;
353 return inSeq;
354 }
355
356 #ifdef ICE_CPP11_MAPPING
357 Test::ClassStruct
opClassStruct(Test::ClassStruct inS,Test::ClassStructSeq inSeq,Test::ClassStruct & out,Test::ClassStructSeq & outSeq,const Ice::Current &)358 TestIntfI::opClassStruct(Test::ClassStruct inS,
359 Test::ClassStructSeq inSeq,
360 Test::ClassStruct& out,
361 Test::ClassStructSeq& outSeq,
362 const Ice::Current&)
363 {
364 outSeq = std::move(inSeq);
365 out = inS;
366 return inS;
367 }
368
369 #else
370 ::Test::ClassStructPtr
opClassStruct(const::Test::ClassStructPtr & inS,const::Test::ClassStructSeq & inSeq,::Test::ClassStructPtr & out,::Test::ClassStructSeq & outSeq,const Ice::Current &)371 TestIntfI::opClassStruct(const ::Test::ClassStructPtr& inS,
372 const ::Test::ClassStructSeq& inSeq,
373 ::Test::ClassStructPtr& out,
374 ::Test::ClassStructSeq& outSeq,
375 const Ice::Current&)
376 {
377 outSeq = inSeq;
378 out = inS;
379 return inS;
380 }
381 #endif
382
383 void
opOutArrayByteSeq(ICE_IN (Test::ByteSeq)data,Test::ByteSeq & copy,const Ice::Current &)384 TestIntfI::opOutArrayByteSeq(ICE_IN(Test::ByteSeq) data, Test::ByteSeq& copy, const Ice::Current&)
385 {
386 copy = data;
387 }
388
389 void
opOutRangeByteSeq(ICE_IN (Test::ByteSeq)data,Test::ByteSeq & copy,const Ice::Current &)390 TestIntfI::opOutRangeByteSeq(ICE_IN(Test::ByteSeq) data, Test::ByteSeq& copy, const Ice::Current&)
391 {
392 copy = data;
393 }
394
395 Test::IntStringDict
opIntStringDict(ICE_IN (Test::IntStringDict)data,Test::IntStringDict & copy,const Ice::Current &)396 TestIntfI::opIntStringDict(ICE_IN(Test::IntStringDict) data, Test::IntStringDict& copy, const Ice::Current&)
397 {
398 copy = data;
399 return data;
400 }
401
402 Test::CustomMap<Ice::Long, Ice::Long>
opVarDict(ICE_IN (Test::CustomMap<std::string,Ice::Int>)data,Test::CustomMap<std::string,Ice::Int> & copy,const Ice::Current &)403 TestIntfI::opVarDict(ICE_IN(Test::CustomMap<std::string, Ice::Int>) data,
404 Test::CustomMap<std::string, Ice::Int>& copy, const Ice::Current&)
405 {
406 copy = data;
407
408 Test::CustomMap<Ice::Long, Ice::Long> result;
409 for(Ice::Long i = 0; i < 1000; ++i)
410 {
411 result[i] = i*i;
412 }
413 return result;
414 }
415
416 Test::CustomMap<Ice::Int, std::string>
opCustomIntStringDict(ICE_IN (std::map<Ice::Int,Util::string_view>)data,Test::CustomMap<Ice::Int,std::string> & copy,const Ice::Current &)417 TestIntfI::opCustomIntStringDict(
418 ICE_IN(std::map<Ice::Int, Util::string_view>) data,
419 Test::CustomMap<Ice::Int, std::string>& copy,
420 const Ice::Current&)
421 {
422 copy.clear();
423
424 for(std::map<Ice::Int, Util::string_view>::const_iterator p = data.begin();
425 p != data.end(); ++p)
426 {
427 copy[p->first] = p->second.to_string();
428 }
429
430 return copy;
431 }
432
433 Test::ShortBuffer
opShortBuffer(ICE_IN (Test::ShortBuffer)inS,Test::ShortBuffer & outS,const Ice::Current &)434 TestIntfI::opShortBuffer(ICE_IN(Test::ShortBuffer) inS, Test::ShortBuffer& outS, const Ice::Current&)
435 {
436 outS = inS;
437 return outS;
438 }
439
440 Test::CustomBuffer<bool>
opBoolBuffer(ICE_IN (Test::CustomBuffer<bool>)inS,Test::CustomBuffer<bool> & outS,const Ice::Current &)441 TestIntfI::opBoolBuffer(ICE_IN(Test::CustomBuffer<bool>) inS, Test::CustomBuffer<bool>& outS, const Ice::Current&)
442 {
443 outS = inS;
444 return outS;
445 }
446
447 Test::BufferStruct
opBufferStruct(ICE_IN (Test::BufferStruct)bs,const Ice::Current &)448 TestIntfI::opBufferStruct(ICE_IN(Test::BufferStruct) bs, const Ice::Current&)
449 {
450 return bs;
451 }
452
453 void
shutdown(const Ice::Current & current)454 TestIntfI::shutdown(const Ice::Current& current)
455 {
456 current.adapter->getCommunicator()->shutdown();
457 }
458