// // Copyright (c) ZeroC, Inc. All rights reserved. // #include #include using namespace Test; using namespace IceUtil; using namespace Ice; using namespace std; InitialI::InitialI() { } void InitialI::shutdown(const Current& current) { current.adapter->getCommunicator()->shutdown(); } #ifdef ICE_CPP11_MAPPING Test::Initial::PingPongMarshaledResult InitialI::pingPong(shared_ptr obj, const Current& current) { auto result = PingPongMarshaledResult(obj, current); if(dynamic_pointer_cast(obj)) { // Break cyclic reference count dynamic_pointer_cast(obj)->k = shared_ptr(); } return result; } #else Ice::ValuePtr InitialI::pingPong(const Ice::ValuePtr& obj, const Current&) { return obj; } #endif void InitialI::opOptionalException(ICE_IN(Optional) a, ICE_IN(Optional) b, ICE_IN(Optional) o, const Ice::Current&) { OptionalException ex; ex.a = a; ex.b = b; ex.o = o; throw ex; } void InitialI::opDerivedException(ICE_IN(Optional) a, ICE_IN(Optional) b, ICE_IN(Optional) o, const Ice::Current&) { DerivedException ex; ex.a = a; ex.b = b; ex.o = o; ex.ss = b; ex.o2 = o; ex.d1 = "d1"; ex.d2 = "d2"; throw ex; } void InitialI::opRequiredException(ICE_IN(Optional) a, ICE_IN(Optional) b, ICE_IN(Optional) o, const Ice::Current&) { RequiredException ex; ex.a = a; ex.b = b; ex.o = o; if(b) { ex.ss = b.value(); } if(o) { ex.o2 = o.value(); } throw ex; } Optional InitialI::opByte(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opBool(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opShort(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opInt(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opLong(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opFloat(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opDouble(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opString(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opCustomString(ICE_IN(Optional) p1, Optional& p3, const Current&) { if(p1) { p3 = p1->to_string(); } return p3; } Optional InitialI::opMyEnum(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opSmallStruct(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opFixedStruct(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opVarStruct(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opOneOptional(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opOneOptionalProxy(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p1; } Optional InitialI::opByteSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Ice::ByteSeq(p1->first, p1->second); } return p3; } Optional InitialI::opBoolSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Ice::BoolSeq(p1->first, p1->second); } return p3; } Optional InitialI::opShortSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Ice::ShortSeq(p1->first, p1->second); } return p3; } Optional InitialI::opIntSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Test::IntSeq(p1->first, p1->second); } return p3; } Optional InitialI::opLongSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Test::LongSeq(p1->first, p1->second); } return p3; } Optional InitialI::opFloatSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Test::FloatSeq(p1->first, p1->second); } return p3; } Optional InitialI::opDoubleSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = Test::DoubleSeq(p1->first, p1->second); } return p3; } #ifdef ICE_CPP11_MAPPING Ice::optional InitialI::opStringSeq(Ice::optional p1, Ice::optional& p3, const Current&) { if(p1) { p3 = p1; } return p3; } #else Optional InitialI::opStringSeq(const Optional >& p1, Optional& p3, const Current&) { if(p1) { p3 = Ice::StringSeq(p1->first, p1->second); } return p3; } #endif Optional InitialI::opSmallStructSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = SmallStructSeq(p1->first, p1->second); } return p3; } Optional InitialI::opSmallStructList(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = SmallStructList(p1->first, p1->second); } return p3; } Optional InitialI::opFixedStructSeq(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = FixedStructSeq(p1->first, p1->second); } return p3; } Optional InitialI::opFixedStructList(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = FixedStructList(p1->first, p1->second); } return p3; } #ifdef ICE_CPP11_MAPPING Ice::optional InitialI::opVarStructSeq(Ice::optional p1, Ice::optional& p3, const Current&) { if(p1) { p3 = p1; } return p3; } #else Optional InitialI::opVarStructSeq(const Optional >& p1, Optional& p3, const Current&) { if(p1) { p3 = VarStructSeq(p1->first, p1->second); } return p3; } #endif Optional InitialI::opSerializable(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p3; } Optional InitialI::opIntIntDict(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p3; } Optional InitialI::opStringIntDict(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p3; } Optional InitialI::opIntOneOptionalDict(ICE_IN(Optional) p1, Optional& p3, const Current&) { p3 = p1; return p3; } Optional InitialI::opCustomIntStringDict(ICE_IN(Optional >) p1, Optional& p3, const Current&) { if(p1) { p3 = IntStringDict(); for(std::map::const_iterator p = p1->begin(); p != p1->end(); ++p) { (*p3)[p->first] = p->second.to_string(); } } return p3; } void InitialI::opClassAndUnknownOptional(ICE_IN(APtr), const Ice::Current&) { } void InitialI::sendOptionalClass(bool, ICE_IN(Optional), const Ice::Current&) { } void InitialI::returnOptionalClass(bool, Optional& o, const Ice::Current&) { o = ICE_MAKE_SHARED(OneOptional, 53); } GPtr InitialI::opG(ICE_IN(GPtr) g, const Ice::Current&) { return g; } void InitialI::opVoid(const Ice::Current&) { } #ifdef ICE_CPP11_MAPPING InitialI::OpMStruct1MarshaledResult InitialI::opMStruct1(const Ice::Current& current) { return OpMStruct1MarshaledResult(Test::SmallStruct(), current); } InitialI::OpMStruct2MarshaledResult InitialI::opMStruct2(ICE_IN(IceUtil::Optional) p1, const Ice::Current& current) { return OpMStruct2MarshaledResult(p1, p1, current); } InitialI::OpMSeq1MarshaledResult InitialI::opMSeq1(const Ice::Current& current) { return OpMSeq1MarshaledResult(Test::StringSeq(), current); } InitialI::OpMSeq2MarshaledResult InitialI::opMSeq2(ICE_IN(IceUtil::Optional) p1, const Ice::Current& current) { return OpMSeq2MarshaledResult(p1, p1, current); } InitialI::OpMDict1MarshaledResult InitialI::opMDict1(const Ice::Current& current) { return OpMDict1MarshaledResult(Test::StringIntDict(), current); } InitialI::OpMDict2MarshaledResult InitialI::opMDict2(ICE_IN(IceUtil::Optional) p1, const Ice::Current& current) { return OpMDict2MarshaledResult(p1, p1, current); } InitialI::OpMG1MarshaledResult InitialI::opMG1(const Ice::Current& current) { return OpMG1MarshaledResult(ICE_MAKE_SHARED(G), current); } InitialI::OpMG2MarshaledResult InitialI::opMG2(ICE_IN(IceUtil::Optional) p1, const Ice::Current& current) { return OpMG2MarshaledResult(p1, p1, current); } #else IceUtil::Optional InitialI::opMStruct1(const Ice::Current&) { return Test::SmallStruct(); } IceUtil::Optional InitialI::opMStruct2(ICE_IN(IceUtil::Optional) p1, IceUtil::Optional& p2, const Ice::Current&) { p2 = p1; return p1; } IceUtil::Optional InitialI::opMSeq1(const Ice::Current&) { return Test::StringSeq(); } IceUtil::Optional InitialI::opMSeq2(ICE_IN(IceUtil::Optional) p1, IceUtil::Optional& p2, const Ice::Current&) { p2 = p1; return p1; } IceUtil::Optional InitialI::opMDict1(const Ice::Current&) { return Test::StringIntDict(); } IceUtil::Optional InitialI::opMDict2(ICE_IN(IceUtil::Optional) p1, IceUtil::Optional& p2, const Ice::Current&) { p2 = p1; return p1; } IceUtil::Optional InitialI::opMG1(const Ice::Current&) { return ICE_MAKE_SHARED(G); } IceUtil::Optional InitialI::opMG2(ICE_IN(IceUtil::Optional) p1, IceUtil::Optional& p2, const Ice::Current&) { p2 = p1; return p1; } #endif bool InitialI::supportsRequiredParams(const Ice::Current&) { return false; } bool InitialI::supportsJavaSerializable(const Ice::Current&) { return true; } bool InitialI::supportsCsharpSerializable(const Ice::Current&) { return true; } bool InitialI::supportsCppStringView(const Ice::Current&) { return true; } bool InitialI::supportsNullOptional(const Ice::Current&) { return true; }