diff options
Diffstat (limited to 'cpp/test/Ice/slicing/exceptions/TestI.cpp')
-rw-r--r-- | cpp/test/Ice/slicing/exceptions/TestI.cpp | 146 |
1 files changed, 146 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..517dec0371f --- /dev/null +++ b/cpp/test/Ice/slicing/exceptions/TestI.cpp @@ -0,0 +1,146 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#include <TestI.h> +#include <Ice/Ice.h> + +using namespace Test; + +TestI::TestI() +{ +} + +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& current) +{ + current.adapter->getCommunicator()->shutdown(); +} |