1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4
5 #include <Ice/Ice.h>
6 #include <TestI.h>
7
8 using namespace Test;
9 using namespace IceUtil;
10 using namespace Ice;
11 using namespace std;
12
InitialI()13 InitialI::InitialI()
14 {
15 }
16
17 void
shutdown(const Current & current)18 InitialI::shutdown(const Current& current)
19 {
20 current.adapter->getCommunicator()->shutdown();
21 }
22
23 #ifdef ICE_CPP11_MAPPING
24 Test::Initial::PingPongMarshaledResult
pingPong(shared_ptr<Value> obj,const Current & current)25 InitialI::pingPong(shared_ptr<Value> obj, const Current& current)
26 {
27 auto result = PingPongMarshaledResult(obj, current);
28 if(dynamic_pointer_cast<MultiOptional>(obj))
29 {
30 // Break cyclic reference count
31 dynamic_pointer_cast<MultiOptional>(obj)->k = shared_ptr<MultiOptional>();
32 }
33 return result;
34 }
35 #else
36 Ice::ValuePtr
pingPong(const Ice::ValuePtr & obj,const Current &)37 InitialI::pingPong(const Ice::ValuePtr& obj, const Current&)
38 {
39 return obj;
40 }
41 #endif
42
43 void
opOptionalException(ICE_IN (Optional<Int>)a,ICE_IN (Optional<string>)b,ICE_IN (Optional<OneOptionalPtr>)o,const Ice::Current &)44 InitialI::opOptionalException(ICE_IN(Optional<Int>) a,
45 ICE_IN(Optional<string>) b,
46 ICE_IN(Optional<OneOptionalPtr>) o,
47 const Ice::Current&)
48 {
49 OptionalException ex;
50 ex.a = a;
51 ex.b = b;
52 ex.o = o;
53 throw ex;
54 }
55
56 void
opDerivedException(ICE_IN (Optional<Int>)a,ICE_IN (Optional<string>)b,ICE_IN (Optional<OneOptionalPtr>)o,const Ice::Current &)57 InitialI::opDerivedException(ICE_IN(Optional<Int>) a,
58 ICE_IN(Optional<string>) b,
59 ICE_IN(Optional<OneOptionalPtr>) o,
60 const Ice::Current&)
61 {
62 DerivedException ex;
63 ex.a = a;
64 ex.b = b;
65 ex.o = o;
66 ex.ss = b;
67 ex.o2 = o;
68 throw ex;
69 }
70
71 void
opRequiredException(ICE_IN (Optional<Int>)a,ICE_IN (Optional<string>)b,ICE_IN (Optional<OneOptionalPtr>)o,const Ice::Current &)72 InitialI::opRequiredException(ICE_IN(Optional<Int>) a,
73 ICE_IN(Optional<string>) b,
74 ICE_IN(Optional<OneOptionalPtr>) o,
75 const Ice::Current&)
76 {
77 RequiredException ex;
78 ex.a = a;
79 ex.b = b;
80 ex.o = o;
81 if(b)
82 {
83 ex.ss = b.value();
84 }
85 if(o)
86 {
87 ex.o2 = o.value();
88 }
89 throw ex;
90 }
91
92 Optional<Ice::Byte>
opByte(ICE_IN (Optional<Ice::Byte>)p1,Optional<Ice::Byte> & p3,const Current &)93 InitialI::opByte(ICE_IN(Optional<Ice::Byte>) p1, Optional<Ice::Byte>& p3, const Current&)
94 {
95 p3 = p1;
96 return p1;
97 }
98
99 Optional<bool>
opBool(ICE_IN (Optional<bool>)p1,Optional<bool> & p3,const Current &)100 InitialI::opBool(ICE_IN(Optional<bool>) p1, Optional<bool>& p3, const Current&)
101 {
102 p3 = p1;
103 return p1;
104 }
105
106 Optional<Short>
opShort(ICE_IN (Optional<Short>)p1,Optional<Short> & p3,const Current &)107 InitialI::opShort(ICE_IN(Optional<Short>) p1, Optional<Short>& p3, const Current&)
108 {
109 p3 = p1;
110 return p1;
111 }
112
113 Optional<Int>
opInt(ICE_IN (Optional<Int>)p1,Optional<Int> & p3,const Current &)114 InitialI::opInt(ICE_IN(Optional<Int>) p1, Optional<Int>& p3, const Current&)
115 {
116 p3 = p1;
117 return p1;
118 }
119
120 Optional<Long>
opLong(ICE_IN (Optional<Long>)p1,Optional<Long> & p3,const Current &)121 InitialI::opLong(ICE_IN(Optional<Long>) p1, Optional<Long>& p3, const Current&)
122 {
123 p3 = p1;
124 return p1;
125 }
126
127 Optional<Float>
opFloat(ICE_IN (Optional<Float>)p1,Optional<Float> & p3,const Current &)128 InitialI::opFloat(ICE_IN(Optional<Float>) p1, Optional<Float>& p3, const Current&)
129 {
130 p3 = p1;
131 return p1;
132 }
133
134 Optional<Double>
opDouble(ICE_IN (Optional<Double>)p1,Optional<Double> & p3,const Current &)135 InitialI::opDouble(ICE_IN(Optional<Double>) p1, Optional<Double>& p3, const Current&)
136 {
137 p3 = p1;
138 return p1;
139 }
140
141 Optional<string>
opString(ICE_IN (Optional<string>)p1,Optional<string> & p3,const Current &)142 InitialI::opString(ICE_IN(Optional<string>) p1, Optional<string>& p3, const Current&)
143 {
144 p3 = p1;
145 return p1;
146 }
147
148 Optional<string>
opCustomString(ICE_IN (Optional<Util::string_view>)p1,Optional<string> & p3,const Current &)149 InitialI::opCustomString(ICE_IN(Optional<Util::string_view>) p1, Optional<string>& p3, const Current&)
150 {
151 if(p1)
152 {
153 p3 = p1->to_string();
154 }
155 return p3;
156 }
157
158 Optional<MyEnum>
opMyEnum(ICE_IN (Optional<MyEnum>)p1,Optional<MyEnum> & p3,const Current &)159 InitialI::opMyEnum(ICE_IN(Optional<MyEnum>) p1, Optional<MyEnum>& p3, const Current&)
160 {
161 p3 = p1;
162 return p1;
163 }
164
165 Optional<SmallStruct>
opSmallStruct(ICE_IN (Optional<SmallStruct>)p1,Optional<SmallStruct> & p3,const Current &)166 InitialI::opSmallStruct(ICE_IN(Optional<SmallStruct>) p1, Optional<SmallStruct>& p3, const Current&)
167 {
168 p3 = p1;
169 return p1;
170 }
171
172 Optional<FixedStruct>
opFixedStruct(ICE_IN (Optional<FixedStruct>)p1,Optional<FixedStruct> & p3,const Current &)173 InitialI::opFixedStruct(ICE_IN(Optional<FixedStruct>) p1, Optional<FixedStruct>& p3, const Current&)
174 {
175 p3 = p1;
176 return p1;
177 }
178
179 Optional<VarStruct>
opVarStruct(ICE_IN (Optional<VarStruct>)p1,Optional<VarStruct> & p3,const Current &)180 InitialI::opVarStruct(ICE_IN(Optional<VarStruct>) p1, Optional<VarStruct>& p3, const Current&)
181 {
182 p3 = p1;
183 return p1;
184 }
185
186 Optional<OneOptionalPtr>
opOneOptional(ICE_IN (Optional<OneOptionalPtr>)p1,Optional<OneOptionalPtr> & p3,const Current &)187 InitialI::opOneOptional(ICE_IN(Optional<OneOptionalPtr>) p1, Optional<OneOptionalPtr>& p3, const Current&)
188 {
189 p3 = p1;
190 return p1;
191 }
192
193 Optional<OneOptionalPrxPtr>
opOneOptionalProxy(ICE_IN (Optional<OneOptionalPrxPtr>)p1,Optional<OneOptionalPrxPtr> & p3,const Current &)194 InitialI::opOneOptionalProxy(ICE_IN(Optional<OneOptionalPrxPtr>) p1, Optional<OneOptionalPrxPtr>& p3, const Current&)
195 {
196 p3 = p1;
197 return p1;
198 }
199
200 Optional<Test::ByteSeq>
opByteSeq(ICE_IN (Optional<pair<const Ice::Byte *,const Ice::Byte * >>)p1,Optional<Test::ByteSeq> & p3,const Current &)201 InitialI::opByteSeq(ICE_IN(Optional<pair<const Ice::Byte*, const Ice::Byte*> >) p1, Optional<Test::ByteSeq>& p3,
202 const Current&)
203 {
204 if(p1)
205 {
206 p3 = Ice::ByteSeq(p1->first, p1->second);
207 }
208 return p3;
209 }
210
211 Optional<Test::BoolSeq>
opBoolSeq(ICE_IN (Optional<pair<const bool *,const bool * >>)p1,Optional<Test::BoolSeq> & p3,const Current &)212 InitialI::opBoolSeq(ICE_IN(Optional<pair<const bool*, const bool*> >) p1, Optional<Test::BoolSeq>& p3, const Current&)
213 {
214 if(p1)
215 {
216 p3 = Ice::BoolSeq(p1->first, p1->second);
217 }
218 return p3;
219 }
220
221 Optional<Test::ShortSeq>
opShortSeq(ICE_IN (Optional<pair<const Short *,const Short * >>)p1,Optional<Test::ShortSeq> & p3,const Current &)222 InitialI::opShortSeq(ICE_IN(Optional<pair<const Short*, const Short*> >) p1, Optional<Test::ShortSeq>& p3,
223 const Current&)
224 {
225 if(p1)
226 {
227 p3 = Ice::ShortSeq(p1->first, p1->second);
228 }
229 return p3;
230 }
231
232 Optional<Test::IntSeq>
opIntSeq(ICE_IN (Optional<pair<const Int *,const Int * >>)p1,Optional<Test::IntSeq> & p3,const Current &)233 InitialI::opIntSeq(ICE_IN(Optional<pair<const Int*, const Int*> >) p1, Optional<Test::IntSeq>& p3, const Current&)
234 {
235 if(p1)
236 {
237 p3 = Test::IntSeq(p1->first, p1->second);
238 }
239 return p3;
240 }
241
242 Optional<Test::LongSeq>
opLongSeq(ICE_IN (Optional<pair<const Long *,const Long * >>)p1,Optional<Test::LongSeq> & p3,const Current &)243 InitialI::opLongSeq(ICE_IN(Optional<pair<const Long*, const Long*> >) p1, Optional<Test::LongSeq>& p3, const Current&)
244 {
245 if(p1)
246 {
247 p3 = Test::LongSeq(p1->first, p1->second);
248 }
249 return p3;
250 }
251
252 Optional<Test::FloatSeq>
opFloatSeq(ICE_IN (Optional<pair<const Float *,const Float * >>)p1,Optional<Test::FloatSeq> & p3,const Current &)253 InitialI::opFloatSeq(ICE_IN(Optional<pair<const Float*, const Float*> >) p1, Optional<Test::FloatSeq>& p3,
254 const Current&)
255 {
256 if(p1)
257 {
258 p3 = Test::FloatSeq(p1->first, p1->second);
259 }
260 return p3;
261 }
262
263 Optional<Test::DoubleSeq>
opDoubleSeq(ICE_IN (Optional<pair<const Double *,const Double * >>)p1,Optional<Test::DoubleSeq> & p3,const Current &)264 InitialI::opDoubleSeq(ICE_IN(Optional<pair<const Double*, const Double*> >) p1, Optional<Test::DoubleSeq>& p3,
265 const Current&)
266 {
267 if(p1)
268 {
269 p3 = Test::DoubleSeq(p1->first, p1->second);
270 }
271 return p3;
272 }
273
274 #ifdef ICE_CPP11_MAPPING
275 Ice::optional<Ice::StringSeq>
opStringSeq(Ice::optional<Ice::StringSeq> p1,Ice::optional<Ice::StringSeq> & p3,const Current &)276 InitialI::opStringSeq(Ice::optional<Ice::StringSeq> p1,
277 Ice::optional<Ice::StringSeq>& p3, const Current&)
278 {
279 if(p1)
280 {
281 p3 = p1;
282 }
283 return p3;
284 }
285 #else
286 Optional<Ice::StringSeq>
opStringSeq(const Optional<pair<Ice::StringSeq::const_iterator,Ice::StringSeq::const_iterator>> & p1,Optional<Ice::StringSeq> & p3,const Current &)287 InitialI::opStringSeq(const Optional<pair<Ice::StringSeq::const_iterator, Ice::StringSeq::const_iterator> >& p1,
288 Optional<Ice::StringSeq>& p3, const Current&)
289 {
290 if(p1)
291 {
292 p3 = Ice::StringSeq(p1->first, p1->second);
293 }
294 return p3;
295 }
296 #endif
297
298 Optional<SmallStructSeq>
opSmallStructSeq(ICE_IN (Optional<pair<const SmallStruct *,const SmallStruct * >>)p1,Optional<SmallStructSeq> & p3,const Current &)299 InitialI::opSmallStructSeq(ICE_IN(Optional<pair<const SmallStruct*, const SmallStruct*> >) p1,
300 Optional<SmallStructSeq>& p3, const Current&)
301 {
302 if(p1)
303 {
304 p3 = SmallStructSeq(p1->first, p1->second);
305 }
306 return p3;
307 }
308
309 Optional<SmallStructList>
opSmallStructList(ICE_IN (Optional<pair<const SmallStruct *,const SmallStruct * >>)p1,Optional<SmallStructList> & p3,const Current &)310 InitialI::opSmallStructList(ICE_IN(Optional<pair<const SmallStruct*, const SmallStruct*> >) p1,
311 Optional<SmallStructList>& p3, const Current&)
312 {
313 if(p1)
314 {
315 p3 = SmallStructList(p1->first, p1->second);
316 }
317 return p3;
318 }
319
320 Optional<FixedStructSeq>
opFixedStructSeq(ICE_IN (Optional<pair<const FixedStruct *,const FixedStruct * >>)p1,Optional<FixedStructSeq> & p3,const Current &)321 InitialI::opFixedStructSeq(ICE_IN(Optional<pair<const FixedStruct*, const FixedStruct*> >) p1,
322 Optional<FixedStructSeq>& p3, const Current&)
323 {
324 if(p1)
325 {
326 p3 = FixedStructSeq(p1->first, p1->second);
327 }
328 return p3;
329 }
330
331 Optional<FixedStructList>
opFixedStructList(ICE_IN (Optional<pair<const FixedStruct *,const FixedStruct * >>)p1,Optional<FixedStructList> & p3,const Current &)332 InitialI::opFixedStructList(ICE_IN(Optional<pair<const FixedStruct*, const FixedStruct*> >) p1,
333 Optional<FixedStructList>& p3, const Current&)
334 {
335 if(p1)
336 {
337 p3 = FixedStructList(p1->first, p1->second);
338 }
339 return p3;
340 }
341
342 #ifdef ICE_CPP11_MAPPING
343 Ice::optional<VarStructSeq>
opVarStructSeq(Ice::optional<VarStructSeq> p1,Ice::optional<VarStructSeq> & p3,const Current &)344 InitialI::opVarStructSeq(Ice::optional<VarStructSeq> p1,
345 Ice::optional<VarStructSeq>& p3, const Current&)
346 {
347 if(p1)
348 {
349 p3 = p1;
350 }
351 return p3;
352 }
353 #else
354 Optional<VarStructSeq>
opVarStructSeq(const Optional<pair<VarStructSeq::const_iterator,VarStructSeq::const_iterator>> & p1,Optional<VarStructSeq> & p3,const Current &)355 InitialI::opVarStructSeq(const Optional<pair<VarStructSeq::const_iterator, VarStructSeq::const_iterator> >& p1,
356 Optional<VarStructSeq>& p3, const Current&)
357 {
358 if(p1)
359 {
360 p3 = VarStructSeq(p1->first, p1->second);
361 }
362 return p3;
363 }
364 #endif
365
366 Optional<Serializable>
opSerializable(ICE_IN (Optional<Serializable>)p1,Optional<Serializable> & p3,const Current &)367 InitialI::opSerializable(ICE_IN(Optional<Serializable>) p1, Optional<Serializable>& p3, const Current&)
368 {
369 p3 = p1;
370 return p3;
371 }
372
373 Optional<IntIntDict>
opIntIntDict(ICE_IN (Optional<IntIntDict>)p1,Optional<IntIntDict> & p3,const Current &)374 InitialI::opIntIntDict(ICE_IN(Optional<IntIntDict>) p1, Optional<IntIntDict>& p3, const Current&)
375 {
376 p3 = p1;
377 return p3;
378 }
379
380 Optional<StringIntDict>
opStringIntDict(ICE_IN (Optional<StringIntDict>)p1,Optional<StringIntDict> & p3,const Current &)381 InitialI::opStringIntDict(ICE_IN(Optional<StringIntDict>) p1, Optional<StringIntDict>& p3, const Current&)
382 {
383 p3 = p1;
384 return p3;
385 }
386
387 Optional<IntOneOptionalDict>
opIntOneOptionalDict(ICE_IN (Optional<IntOneOptionalDict>)p1,Optional<IntOneOptionalDict> & p3,const Current &)388 InitialI::opIntOneOptionalDict(ICE_IN(Optional<IntOneOptionalDict>) p1, Optional<IntOneOptionalDict>& p3, const Current&)
389 {
390 p3 = p1;
391 return p3;
392 }
393
394 Optional<IntStringDict>
opCustomIntStringDict(ICE_IN (Optional<std::map<int,Util::string_view>>)p1,Optional<IntStringDict> & p3,const Current &)395 InitialI::opCustomIntStringDict(ICE_IN(Optional<std::map<int, Util::string_view> >) p1,
396 Optional<IntStringDict>& p3, const Current&)
397 {
398 if(p1)
399 {
400 p3 = IntStringDict();
401 for(std::map<int, Util::string_view>::const_iterator p = p1->begin();
402 p != p1->end(); ++p)
403 {
404 (*p3)[p->first] = p->second.to_string();
405 }
406 }
407 return p3;
408 }
409
410 void
opClassAndUnknownOptional(ICE_IN (APtr),const Ice::Current &)411 InitialI::opClassAndUnknownOptional(ICE_IN(APtr), const Ice::Current&)
412 {
413 }
414
415 void
sendOptionalClass(bool,ICE_IN (Optional<OneOptionalPtr>),const Ice::Current &)416 InitialI::sendOptionalClass(bool, ICE_IN(Optional<OneOptionalPtr>), const Ice::Current&)
417 {
418 }
419
420 void
returnOptionalClass(bool,Optional<OneOptionalPtr> & o,const Ice::Current &)421 InitialI::returnOptionalClass(bool, Optional<OneOptionalPtr>& o, const Ice::Current&)
422 {
423 o = ICE_MAKE_SHARED(OneOptional, 53);
424 }
425
426 GPtr
opG(ICE_IN (GPtr)g,const Ice::Current &)427 InitialI::opG(ICE_IN(GPtr) g, const Ice::Current&)
428 {
429 return g;
430 }
431
432 void
opVoid(const Ice::Current &)433 InitialI::opVoid(const Ice::Current&)
434 {
435 }
436
437 #ifdef ICE_CPP11_MAPPING
438 InitialI::OpMStruct1MarshaledResult
opMStruct1(const Ice::Current & current)439 InitialI::opMStruct1(const Ice::Current& current)
440 {
441 return OpMStruct1MarshaledResult(Test::SmallStruct(), current);
442 }
443
444 InitialI::OpMStruct2MarshaledResult
opMStruct2(ICE_IN (IceUtil::Optional<Test::SmallStruct>)p1,const Ice::Current & current)445 InitialI::opMStruct2(ICE_IN(IceUtil::Optional<Test::SmallStruct>) p1, const Ice::Current& current)
446 {
447 return OpMStruct2MarshaledResult(p1, p1, current);
448 }
449
450 InitialI::OpMSeq1MarshaledResult
opMSeq1(const Ice::Current & current)451 InitialI::opMSeq1(const Ice::Current& current)
452 {
453 return OpMSeq1MarshaledResult(Test::StringSeq(), current);
454 }
455
456 InitialI::OpMSeq2MarshaledResult
opMSeq2(ICE_IN (IceUtil::Optional<Test::StringSeq>)p1,const Ice::Current & current)457 InitialI::opMSeq2(ICE_IN(IceUtil::Optional<Test::StringSeq>) p1, const Ice::Current& current)
458 {
459 return OpMSeq2MarshaledResult(p1, p1, current);
460 }
461
462 InitialI::OpMDict1MarshaledResult
opMDict1(const Ice::Current & current)463 InitialI::opMDict1(const Ice::Current& current)
464 {
465 return OpMDict1MarshaledResult(Test::StringIntDict(), current);
466 }
467
468 InitialI::OpMDict2MarshaledResult
opMDict2(ICE_IN (IceUtil::Optional<Test::StringIntDict>)p1,const Ice::Current & current)469 InitialI::opMDict2(ICE_IN(IceUtil::Optional<Test::StringIntDict>) p1, const Ice::Current& current)
470 {
471 return OpMDict2MarshaledResult(p1, p1, current);
472 }
473
474 InitialI::OpMG1MarshaledResult
opMG1(const Ice::Current & current)475 InitialI::opMG1(const Ice::Current& current)
476 {
477 return OpMG1MarshaledResult(ICE_MAKE_SHARED(G), current);
478 }
479
480 InitialI::OpMG2MarshaledResult
opMG2(ICE_IN (IceUtil::Optional<Test::GPtr>)p1,const Ice::Current & current)481 InitialI::opMG2(ICE_IN(IceUtil::Optional<Test::GPtr>) p1, const Ice::Current& current)
482 {
483 return OpMG2MarshaledResult(p1, p1, current);
484 }
485 #else
486 IceUtil::Optional<Test::SmallStruct>
opMStruct1(const Ice::Current &)487 InitialI::opMStruct1(const Ice::Current&)
488 {
489 return Test::SmallStruct();
490 }
491
492 IceUtil::Optional<Test::SmallStruct>
opMStruct2(ICE_IN (IceUtil::Optional<Test::SmallStruct>)p1,IceUtil::Optional<Test::SmallStruct> & p2,const Ice::Current &)493 InitialI::opMStruct2(ICE_IN(IceUtil::Optional<Test::SmallStruct>) p1,
494 IceUtil::Optional<Test::SmallStruct>& p2,
495 const Ice::Current&)
496 {
497 p2 = p1;
498 return p1;
499 }
500
501 IceUtil::Optional<Test::StringSeq>
opMSeq1(const Ice::Current &)502 InitialI::opMSeq1(const Ice::Current&)
503 {
504 return Test::StringSeq();
505 }
506
507 IceUtil::Optional<Test::StringSeq>
opMSeq2(ICE_IN (IceUtil::Optional<Test::StringSeq>)p1,IceUtil::Optional<Test::StringSeq> & p2,const Ice::Current &)508 InitialI::opMSeq2(ICE_IN(IceUtil::Optional<Test::StringSeq>) p1,
509 IceUtil::Optional<Test::StringSeq>& p2,
510 const Ice::Current&)
511 {
512 p2 = p1;
513 return p1;
514 }
515
516 IceUtil::Optional<Test::StringIntDict>
opMDict1(const Ice::Current &)517 InitialI::opMDict1(const Ice::Current&)
518 {
519 return Test::StringIntDict();
520 }
521
522 IceUtil::Optional<Test::StringIntDict>
opMDict2(ICE_IN (IceUtil::Optional<Test::StringIntDict>)p1,IceUtil::Optional<Test::StringIntDict> & p2,const Ice::Current &)523 InitialI::opMDict2(ICE_IN(IceUtil::Optional<Test::StringIntDict>) p1,
524 IceUtil::Optional<Test::StringIntDict>& p2,
525 const Ice::Current&)
526 {
527 p2 = p1;
528 return p1;
529 }
530
531 IceUtil::Optional<Test::GPtr>
opMG1(const Ice::Current &)532 InitialI::opMG1(const Ice::Current&)
533 {
534 return ICE_MAKE_SHARED(G);
535 }
536
537 IceUtil::Optional<Test::GPtr>
opMG2(ICE_IN (IceUtil::Optional<Test::GPtr>)p1,IceUtil::Optional<Test::GPtr> & p2,const Ice::Current &)538 InitialI::opMG2(ICE_IN(IceUtil::Optional<Test::GPtr>) p1,
539 IceUtil::Optional<Test::GPtr>& p2,
540 const Ice::Current&)
541 {
542 p2 = p1;
543 return p1;
544 }
545 #endif
546
547 bool
supportsRequiredParams(const Ice::Current &)548 InitialI::supportsRequiredParams(const Ice::Current&)
549 {
550 return false;
551 }
552
553 bool
supportsJavaSerializable(const Ice::Current &)554 InitialI::supportsJavaSerializable(const Ice::Current&)
555 {
556 return true;
557 }
558
559 bool
supportsCsharpSerializable(const Ice::Current &)560 InitialI::supportsCsharpSerializable(const Ice::Current&)
561 {
562 return true;
563 }
564
565 bool
supportsCppStringView(const Ice::Current &)566 InitialI::supportsCppStringView(const Ice::Current&)
567 {
568 return true;
569 }
570
571 bool
supportsNullOptional(const Ice::Current &)572 InitialI::supportsNullOptional(const Ice::Current&)
573 {
574 return true;
575 }
576