Branch data Line data Source code
1 : : #ifndef INCLUDED_EXCEPTION2B_HPP
2 : : #define INCLUDED_EXCEPTION2B_HPP
3 : :
4 : : #include "sal/config.h"
5 : :
6 : : #include "Exception2b.hdl"
7 : :
8 : : #include "Exception2a.hpp"
9 : : #include "com/sun/star/uno/Type.hxx"
10 : : #include "cppu/unotype.hxx"
11 : : #include "osl/mutex.hxx"
12 : : #include "rtl/instance.hxx"
13 : :
14 : :
15 : : inline Exception2b::Exception2b() SAL_THROW(())
16 : : : Exception2a()
17 : : {
18 : : ::cppu::UnoType< Exception2b >::get();
19 : : }
20 : :
21 : 5 : inline Exception2b::Exception2b(const ::rtl::OUString& Message_, const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Context_, const ::sal_Int32& member_, const ::sal_Int32& member2_) SAL_THROW(())
22 : 5 : : Exception2a(Message_, Context_, member_, member2_)
23 : : {
24 [ + - ]: 5 : ::cppu::UnoType< Exception2b >::get();
25 : 5 : }
26 : :
27 : : Exception2b::Exception2b(Exception2b const & the_other): Exception2a(the_other) {}
28 : :
29 : 5 : Exception2b::~Exception2b() {}
30 : :
31 : : Exception2b & Exception2b::operator =(Exception2b const & the_other) {
32 : : //TODO: Just like its implicitly-defined counterpart, this function definition is not exception-safe
33 : : Exception2a::operator =(the_other);
34 : : return *this;
35 : : }
36 : :
37 : :
38 : : namespace detail {
39 : :
40 : : struct theException2bType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theException2bType >
41 : : {
42 : 5 : ::com::sun::star::uno::Type * operator()() const
43 : : {
44 [ + - ]: 5 : ::rtl::OUString sTypeName( RTL_CONSTASCII_USTRINGPARAM("Exception2b") );
45 : :
46 : : // Start inline typedescription generation
47 : 5 : typelib_TypeDescription * pTD = 0;
48 [ + - ]: 5 : const ::com::sun::star::uno::Type& rSuperType = ::cppu::UnoType< Exception2a >::get();
49 : :
50 : : typelib_typedescription_new(
51 : : &pTD,
52 : : (typelib_TypeClass)::com::sun::star::uno::TypeClass_EXCEPTION, sTypeName.pData,
53 : : rSuperType.getTypeLibType(),
54 : : 0,
55 : 5 : 0 );
56 : :
57 : 5 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
58 : :
59 : 5 : typelib_typedescription_release( pTD );
60 : : // End inline typedescription generation
61 : :
62 : 5 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_EXCEPTION, sTypeName ); // leaked
63 : : }
64 : : };
65 : :
66 : : }
67 : :
68 : 10 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER Exception2b const *) {
69 : 10 : return *detail::theException2bType::get();
70 : : }
71 : :
72 : : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER Exception2b const *) SAL_THROW(()) {
73 : : return ::cppu::UnoType< Exception2b >::get();
74 : : }
75 : :
76 : : #endif // INCLUDED_EXCEPTION2B_HPP
|