Teach symstore more duplicated DLLs
[LibreOffice.git] / ios / source / ios.cxx
blobbc89150e7ed67cd9dbabe925e01eb982e79cdeee
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #include <cassert>
11 #include <iostream>
13 #include "com/sun/star/uno/Any.hxx"
14 #include "com/sun/star/ucb/InteractiveAugmentedIOException.hpp"
15 #include "com/sun/star/ucb/NameClashException.hpp"
16 #include "ios/ios.hxx"
18 namespace
20 template <class E> void tryThrow(css::uno::Any const& aException)
22 E aSpecificException;
23 if (aException >>= aSpecificException)
24 throw aSpecificException;
28 void lo_ios_throwException(css::uno::Any const& aException)
30 assert(aException.getValueTypeClass() == css::uno::TypeClass_EXCEPTION);
32 tryThrow<css::ucb::InteractiveAugmentedIOException>(aException);
33 tryThrow<css::ucb::NameClashException>(aException);
34 tryThrow<css::uno::RuntimeException>(aException);
36 std::cerr << "lo_ios_throwException: Unhandled exception type " << aException.getValueTypeName()
37 << std::endl;
39 assert(false);
42 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */