diff options
Diffstat (limited to 'cpp/test/Ice/slicing/exceptions/TestI.cpp')
-rw-r--r-- | cpp/test/Ice/slicing/exceptions/TestI.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/cpp/test/Ice/slicing/exceptions/TestI.cpp b/cpp/test/Ice/slicing/exceptions/TestI.cpp index 7a982738d21..6cbff79f8cc 100644 --- a/cpp/test/Ice/slicing/exceptions/TestI.cpp +++ b/cpp/test/Ice/slicing/exceptions/TestI.cpp @@ -151,6 +151,26 @@ TestI::unknownMostDerived2AsBaseCompact(const ::Ice::Current&) } void +TestI::knownPreservedAsBase(const ::Ice::Current&) +{ + KnownPreservedDerived ex; + ex.b = "base"; + ex.kp = "preserved"; + ex.kpd = "derived"; + throw ex; +} + +void +TestI::knownPreservedAsKnownPreserved(const ::Ice::Current&) +{ + KnownPreservedDerived ex; + ex.b = "base"; + ex.kp = "preserved"; + ex.kpd = "derived"; + throw ex; +} + +void TestI::relayKnownPreservedAsBase(const RelayPrx& r, const ::Ice::Current&) { r->knownPreservedAsBase(); @@ -165,6 +185,30 @@ TestI::relayKnownPreservedAsKnownPreserved(const RelayPrx& r, const ::Ice::Curre } void +TestI::unknownPreservedAsBase(const ::Ice::Current&) +{ + SPreserved2 ex; + ex.b = "base"; + ex.kp = "preserved"; + ex.kpd = "derived"; + ex.p1 = new SPreservedClass("bc", "spc"); + ex.p2 = ex.p1; + throw ex; +} + +void +TestI::unknownPreservedAsKnownPreserved(const ::Ice::Current&) +{ + SPreserved2 ex; + ex.b = "base"; + ex.kp = "preserved"; + ex.kpd = "derived"; + ex.p1 = new SPreservedClass("bc", "spc"); + ex.p2 = ex.p1; + throw ex; +} + +void TestI::relayUnknownPreservedAsBase(const RelayPrx& r, const ::Ice::Current&) { r->unknownPreservedAsBase(); |