1*74f1be36SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*74f1be36SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*74f1be36SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*74f1be36SAndrew Rist * distributed with this work for additional information 6*74f1be36SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*74f1be36SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*74f1be36SAndrew Rist * "License"); you may not use this file except in compliance 9*74f1be36SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*74f1be36SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*74f1be36SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*74f1be36SAndrew Rist * software distributed under the License is distributed on an 15*74f1be36SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*74f1be36SAndrew Rist * KIND, either express or implied. See the License for the 17*74f1be36SAndrew Rist * specific language governing permissions and limitations 18*74f1be36SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*74f1be36SAndrew Rist *************************************************************/ 21*74f1be36SAndrew Rist 22*74f1be36SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef INCLUDED_BRIDGES_SOURCE_CPP_UNO_CC5_SOLARIS_SPARC64_EXCEPTIONS_HXX 25cdf0e10cSrcweir #define INCLUDED_BRIDGES_SOURCE_CPP_UNO_CC5_SOLARIS_SPARC64_EXCEPTIONS_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "sal/config.h" 28cdf0e10cSrcweir 29cdf0e10cSrcweir #include <cstddef> 30cdf0e10cSrcweir 31cdf0e10cSrcweir #include "typelib/typedescription.h" 32cdf0e10cSrcweir #include "uno/any2.h" 33cdf0e10cSrcweir #include "uno/mapping.h" 34cdf0e10cSrcweir 35cdf0e10cSrcweir // Private CC5 structures and functions: 36cdf0e10cSrcweir namespace __Crun { 37cdf0e10cSrcweir struct class_base_descr { 38cdf0e10cSrcweir int type_hash[4]; 39cdf0e10cSrcweir std::size_t offset; 40cdf0e10cSrcweir }; 41cdf0e10cSrcweir struct static_type_info { 42cdf0e10cSrcweir std::ptrdiff_t ty_name; 43cdf0e10cSrcweir std::ptrdiff_t reserved; 44cdf0e10cSrcweir std::ptrdiff_t base_table; 45cdf0e10cSrcweir int type_hash[4]; 46cdf0e10cSrcweir unsigned int flags; 47cdf0e10cSrcweir unsigned int cv_qualifiers; 48cdf0e10cSrcweir }; 49cdf0e10cSrcweir void * ex_alloc(unsigned long); 50cdf0e10cSrcweir void ex_throw(void *, static_type_info const *, void (*)(void *)); 51cdf0e10cSrcweir void * ex_get(); 52cdf0e10cSrcweir void ex_rethrow_q() throw (); 53cdf0e10cSrcweir } 54cdf0e10cSrcweir namespace __Cimpl { 55cdf0e10cSrcweir char const * ex_name(); 56cdf0e10cSrcweir } 57cdf0e10cSrcweir 58cdf0e10cSrcweir namespace bridges { namespace cpp_uno { namespace cc5_solaris_sparc64 { 59cdf0e10cSrcweir 60cdf0e10cSrcweir void raiseException(uno_Any * exception, uno_Mapping * unoToCpp); 61cdf0e10cSrcweir 62cdf0e10cSrcweir void fillUnoException( 63cdf0e10cSrcweir void * cppException, char const * cppName, uno_Any * unoException, 64cdf0e10cSrcweir uno_Mapping * cppToUno); 65cdf0e10cSrcweir 66cdf0e10cSrcweir } } } 67cdf0e10cSrcweir 68cdf0e10cSrcweir #endif 69