diff options
Diffstat (limited to 'cpp/test/Ice/slicing/exceptions/TestI.cpp')
-rw-r--r-- | cpp/test/Ice/slicing/exceptions/TestI.cpp | 150 |
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(); +} |