summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/slicing/exceptions/TestI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/slicing/exceptions/TestI.cpp')
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.cpp44
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();