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.cpp150
1 files changed, 150 insertions, 0 deletions
diff --git a/cpp/test/Ice/slicing/exceptions/TestI.cpp b/cpp/test/Ice/slicing/exceptions/TestI.cpp
new file mode 100644
index 00000000000..c59804f24de
--- /dev/null
+++ b/cpp/test/Ice/slicing/exceptions/TestI.cpp
@@ -0,0 +1,150 @@
+// **********************************************************************
+//
+// Copyright (c) 2003
+// ZeroC, Inc.
+// Billerica, MA, USA
+//
+// All Rights Reserved.
+//
+// Ice is free software; you can redistribute it and/or modify it under
+// the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation.
+//
+// **********************************************************************
+
+#include <TestI.h>
+#include <Ice/Ice.h>
+
+TestI::TestI(const Ice::ObjectAdapterPtr& adapter) :
+ _adapter(adapter)
+{
+}
+
+void
+TestI::baseAsBase(const ::Ice::Current&)
+{
+ Base b;
+ b.b = "Base.b";
+ throw b;
+}
+
+void
+TestI::unknownDerivedAsBase(const ::Ice::Current&)
+{
+ UnknownDerived d;
+ d.b = "UnknownDerived.b";
+ d.ud = "UnknownDerived.ud";
+ throw d;
+}
+
+void
+TestI::knownDerivedAsBase(const ::Ice::Current&)
+{
+ KnownDerived d;
+ d.b = "KnownDerived.b";
+ d.kd = "KnownDerived.kd";
+ throw d;
+}
+
+void
+TestI::knownDerivedAsKnownDerived(const ::Ice::Current&)
+{
+ KnownDerived d;
+ d.b = "KnownDerived.b";
+ d.kd = "KnownDerived.kd";
+ throw d;
+}
+
+void
+TestI::unknownIntermediateAsBase(const ::Ice::Current&)
+{
+ UnknownIntermediate ui;
+ ui.b = "UnknownIntermediate.b";
+ ui.ui = "UnknownIntermediate.ui";
+ throw ui;
+}
+
+void
+TestI::knownIntermediateAsBase(const ::Ice::Current&)
+{
+ KnownIntermediate ki;
+ ki.b = "KnownIntermediate.b";
+ ki.ki = "KnownIntermediate.ki";
+ throw ki;
+}
+
+void
+TestI::knownMostDerivedAsBase(const ::Ice::Current&)
+{
+ KnownMostDerived kmd;
+ kmd.b = "KnownMostDerived.b";
+ kmd.ki = "KnownMostDerived.ki";
+ kmd.kmd = "KnownMostDerived.kmd";
+ throw kmd;
+}
+
+void
+TestI::knownIntermediateAsknownIntermediate(const ::Ice::Current&)
+{
+ KnownIntermediate ki;
+ ki.b = "KnownIntermediate.b";
+ ki.ki = "KnownIntermediate.ki";
+ throw ki;
+}
+
+void
+TestI::knownMostDerivedAsKnownIntermediate(const ::Ice::Current&)
+{
+ KnownMostDerived kmd;
+ kmd.b = "KnownMostDerived.b";
+ kmd.ki = "KnownMostDerived.ki";
+ kmd.kmd = "KnownMostDerived.kmd";
+ throw kmd;
+}
+
+void
+TestI::
+knownMostDerivedAsKnownMostDerived(const ::Ice::Current&)
+{
+ KnownMostDerived kmd;
+ kmd.b = "KnownMostDerived.b";
+ kmd.ki = "KnownMostDerived.ki";
+ kmd.kmd = "KnownMostDerived.kmd";
+ throw kmd;
+}
+
+void
+TestI::unknownMostDerived1AsBase(const ::Ice::Current&)
+{
+ UnknownMostDerived1 umd1;
+ umd1.b = "UnknownMostDerived1.b";
+ umd1.ki = "UnknownMostDerived1.ki";
+ umd1.umd1 = "UnknownMostDerived1.umd1";
+ throw umd1;
+}
+
+void
+TestI::unknownMostDerived1AsKnownIntermediate(const ::Ice::Current&)
+{
+ UnknownMostDerived1 umd1;
+ umd1.b = "UnknownMostDerived1.b";
+ umd1.ki = "UnknownMostDerived1.ki";
+ umd1.umd1 = "UnknownMostDerived1.umd1";
+ throw umd1;
+}
+
+void
+TestI::unknownMostDerived2AsBase(const ::Ice::Current&)
+{
+ UnknownMostDerived2 umd2;
+ umd2.b = "UnknownMostDerived2.b";
+ umd2.ui = "UnknownMostDerived2.ui";
+ umd2.umd2 = "UnknownMostDerived2.umd2";
+ throw umd2;
+}
+
+void
+TestI::shutdown(const ::Ice::Current&)
+{
+ _adapter->getCommunicator()->shutdown();
+}