/src/libreoffice/include/cppuhelper/implbase2.hxx
Line | Count | Source |
1 | | /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
2 | | /* |
3 | | * This file is part of the LibreOffice project. |
4 | | * |
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 | | * |
9 | | * This file incorporates work covered by the following license notice: |
10 | | * |
11 | | * Licensed to the Apache Software Foundation (ASF) under one or more |
12 | | * contributor license agreements. See the NOTICE file distributed |
13 | | * with this work for additional information regarding copyright |
14 | | * ownership. The ASF licenses this file to you under the Apache |
15 | | * License, Version 2.0 (the "License"); you may not use this file |
16 | | * except in compliance with the License. You may obtain a copy of |
17 | | * the License at http://www.apache.org/licenses/LICENSE-2.0 . |
18 | | */ |
19 | | |
20 | | /* |
21 | | * This file is part of LibreOffice published API. |
22 | | */ |
23 | | #ifndef INCLUDED_CPPUHELPER_IMPLBASE2_HXX |
24 | | #define INCLUDED_CPPUHELPER_IMPLBASE2_HXX |
25 | | |
26 | | #include "cppuhelper/implbase_ex.hxx" |
27 | | #include "rtl/instance.hxx" |
28 | | #include "cppuhelper/weak.hxx" |
29 | | #include "cppuhelper/weakagg.hxx" |
30 | | #include "com/sun/star/lang/XTypeProvider.hpp" |
31 | | |
32 | | namespace cppu |
33 | | { |
34 | | /// @cond INTERNAL |
35 | | |
36 | | struct class_data2 |
37 | | { |
38 | | sal_Int16 m_nTypes; |
39 | | sal_Bool m_storedTypeRefs; |
40 | | sal_Bool m_storedId; |
41 | | sal_Int8 m_id[ 16 ]; |
42 | | type_entry m_typeEntries[ 2 + 1 ]; |
43 | | }; |
44 | | |
45 | | template< typename Ifc1, typename Ifc2, typename Impl > struct SAL_WARN_UNUSED ImplClassData2 |
46 | | { |
47 | | class_data* operator ()() |
48 | 13 | { |
49 | 13 | static class_data2 s_cd = |
50 | 13 | { |
51 | 13 | 2 +1, false, false, |
52 | 13 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
53 | 13 | { |
54 | 13 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc1), |
55 | 13 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc2), |
56 | 13 | CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider) |
57 | 13 | } |
58 | 13 | }; |
59 | 13 | return reinterpret_cast< class_data * >(&s_cd); |
60 | 13 | } cppu::ImplClassData2<com::sun::star::util::XNumberFormatsSupplier, com::sun::star::lang::XUnoTunnel, cppu::WeakAggImplHelper2<com::sun::star::util::XNumberFormatsSupplier, com::sun::star::lang::XUnoTunnel> >::operator()() Line | Count | Source | 48 | 8 | { | 49 | 8 | static class_data2 s_cd = | 50 | 8 | { | 51 | 8 | 2 +1, false, false, | 52 | 8 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | 53 | 8 | { | 54 | 8 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc1), | 55 | 8 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc2), | 56 | 8 | CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider) | 57 | 8 | } | 58 | 8 | }; | 59 | 8 | return reinterpret_cast< class_data * >(&s_cd); | 60 | 8 | } |
Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes, cppu::ImplHelper2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes> >::operator()() cppu::ImplClassData2<com::sun::star::table::XCellRange, com::sun::star::container::XNamed, cppu::ImplInheritanceHelper2<sdr::table::FastPropertySet, com::sun::star::table::XCellRange, com::sun::star::container::XNamed> >::operator()() Line | Count | Source | 48 | 3 | { | 49 | 3 | static class_data2 s_cd = | 50 | 3 | { | 51 | 3 | 2 +1, false, false, | 52 | 3 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | 53 | 3 | { | 54 | 3 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc1), | 55 | 3 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc2), | 56 | 3 | CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider) | 57 | 3 | } | 58 | 3 | }; | 59 | 3 | return reinterpret_cast< class_data * >(&s_cd); | 60 | 3 | } |
Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl, cppu::ImplHelper2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster, cppu::ImplHelper2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton, cppu::ImplHelper2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition, cppu::ImplHelper2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo, cppu::ImplHelper2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo> >::operator()() cppu::ImplClassData2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo, cppu::ImplHelper2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo> >::operator()() Line | Count | Source | 48 | 1 | { | 49 | 1 | static class_data2 s_cd = | 50 | 1 | { | 51 | 1 | 2 +1, false, false, | 52 | 1 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | 53 | 1 | { | 54 | 1 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc1), | 55 | 1 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc2), | 56 | 1 | CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider) | 57 | 1 | } | 58 | 1 | }; | 59 | 1 | return reinterpret_cast< class_data * >(&s_cd); | 60 | 1 | } |
cppu::ImplClassData2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows, cppu::ImplHelper2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows> >::operator()() Line | Count | Source | 48 | 1 | { | 49 | 1 | static class_data2 s_cd = | 50 | 1 | { | 51 | 1 | 2 +1, false, false, | 52 | 1 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | 53 | 1 | { | 54 | 1 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc1), | 55 | 1 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc2), | 56 | 1 | CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider) | 57 | 1 | } | 58 | 1 | }; | 59 | 1 | return reinterpret_cast< class_data * >(&s_cd); | 60 | 1 | } |
Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener, cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::util::XCloneable, com::sun::star::script::XScriptEventsSupplier, cppu::WeakAggComponentImplHelper2<com::sun::star::util::XCloneable, com::sun::star::script::XScriptEventsSupplier> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue, cppu::ImplHelper2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection, cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener, cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener, cppu::ImplHelper2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener> >::operator()() Unexecuted instantiation: cppu::ImplClassData2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster, cppu::ImplHelper2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster> >::operator()() |
61 | | }; |
62 | | |
63 | | /// @endcond |
64 | | |
65 | | /** Implementation helper implementing interface css::lang::XTypeProvider |
66 | | and queryInterface(), but no reference counting. |
67 | | |
68 | | @derive |
69 | | Inherit from this class giving your interface(s) to be implemented as template argument(s). |
70 | | Your base class defines method implementations, acquire(), release() and delegates incoming |
71 | | queryInterface() calls to this base class. |
72 | | */ |
73 | | template< class Ifc1, class Ifc2 > |
74 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplHelper2 |
75 | | : public css::lang::XTypeProvider |
76 | | , public Ifc1, public Ifc2 |
77 | | { |
78 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, ImplHelper2<Ifc1, Ifc2> > > {}; |
79 | | public: |
80 | | #if defined LIBO_INTERNAL_ONLY |
81 | 28.7k | ImplHelper2() = default; Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo>::ImplHelper2() cppu::ImplHelper2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo>::ImplHelper2() Line | Count | Source | 81 | 9.59k | ImplHelper2() = default; |
cppu::ImplHelper2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows>::ImplHelper2() Line | Count | Source | 81 | 19.1k | ImplHelper2() = default; |
Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener>::ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster>::ImplHelper2() |
82 | | ImplHelper2(ImplHelper2 const &) = default; |
83 | | ImplHelper2(ImplHelper2 &&) = default; |
84 | | ImplHelper2 & operator =(ImplHelper2 const &) = default; |
85 | | ImplHelper2 & operator =(ImplHelper2 &&) = default; |
86 | | #endif |
87 | | |
88 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
89 | 153k | { return ImplHelper_query( rType, cd::get(), this ); }Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo>::queryInterface(com::sun::star::uno::Type const&) cppu::ImplHelper2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo>::queryInterface(com::sun::star::uno::Type const&) Line | Count | Source | 89 | 38.3k | { return ImplHelper_query( rType, cd::get(), this ); } |
cppu::ImplHelper2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows>::queryInterface(com::sun::star::uno::Type const&) Line | Count | Source | 89 | 114k | { return ImplHelper_query( rType, cd::get(), this ); } |
Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster>::queryInterface(com::sun::star::uno::Type const&) |
90 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
91 | 0 | { return ImplHelper_getTypes( cd::get() ); }Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener>::getTypes() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster>::getTypes() |
92 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
93 | 0 | { return ImplHelper_getImplementationId( cd::get() ); }Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster>::getImplementationId() |
94 | | |
95 | | #if !defined _MSC_VER // public -> protected changes mangled names there |
96 | | protected: |
97 | | #endif |
98 | 28.7k | ~ImplHelper2() SAL_NOEXCEPT {}Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::accessibility::XAccessibleText, com::sun::star::accessibility::XAccessibleTextAttributes>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XControl, com::sun::star::form::XBoundControl>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XTextComponent, com::sun::star::form::XChangeBroadcaster>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XCheckBox, com::sun::star::awt::XButton>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XRename, com::sun::star::sdb::XQueryDefinition>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::lang::XServiceInfo>::~ImplHelper2() cppu::ImplHelper2<com::sun::star::sdbc::XStatement, com::sun::star::lang::XServiceInfo>::~ImplHelper2() Line | Count | Source | 98 | 9.59k | ~ImplHelper2() SAL_NOEXCEPT {} |
cppu::ImplHelper2<com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XDeleteRows>::~ImplHelper2() Line | Count | Source | 98 | 19.1k | ~ImplHelper2() SAL_NOEXCEPT {} |
Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::XAdjustmentListener, com::sun::star::awt::XSpinValue>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::awt::grid::XGridDataListener, com::sun::star::container::XContainerListener>::~ImplHelper2() Unexecuted instantiation: cppu::ImplHelper2<com::sun::star::document::XUndoManager, com::sun::star::util::XModifyBroadcaster>::~ImplHelper2() |
99 | | }; |
100 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
101 | | css::uno::XInterface which supports weak mechanism to be held weakly |
102 | | (supporting css::uno::XWeak through ::cppu::OWeakObject). |
103 | | |
104 | | @derive |
105 | | Inherit from this class giving your interface(s) to be implemented as template argument(s). |
106 | | Your sub class defines method implementations for these interface(s). |
107 | | */ |
108 | | template< class Ifc1, class Ifc2 > |
109 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE SAL_DLLPUBLIC_EXPORT WeakImplHelper2 |
110 | | : public OWeakObject |
111 | | , public css::lang::XTypeProvider |
112 | | , public Ifc1, public Ifc2 |
113 | | { |
114 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, WeakImplHelper2<Ifc1, Ifc2> > > {}; |
115 | | public: |
116 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
117 | | { return WeakImplHelper_query( rType, cd::get(), this, static_cast<OWeakObject *>(this) ); } |
118 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
119 | | { OWeakObject::acquire(); } |
120 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
121 | | { OWeakObject::release(); } |
122 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
123 | | { return WeakImplHelper_getTypes( cd::get() ); } |
124 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
125 | | { return ImplHelper_getImplementationId( cd::get() ); } |
126 | | }; |
127 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
128 | | css::uno::XInterface which supports weak mechanism to be held weakly |
129 | | (supporting css::uno::XWeak through ::cppu::OWeakAggObject). |
130 | | In addition, it supports also aggregation meaning object of this class can be aggregated |
131 | | (css::uno::XAggregation through ::cppu::OWeakAggObject). |
132 | | If a delegator is set (this object is aggregated), then incoming queryInterface() |
133 | | calls are delegated to the delegator object. If the delegator does not support the |
134 | | demanded interface, it calls queryAggregation() on its aggregated objects. |
135 | | |
136 | | @derive |
137 | | Inherit from this class giving your interface(s) to be implemented as template argument(s). |
138 | | Your sub class defines method implementations for these interface(s). |
139 | | */ |
140 | | template< class Ifc1, class Ifc2 > |
141 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakAggImplHelper2 |
142 | | : public OWeakAggObject |
143 | | , public css::lang::XTypeProvider |
144 | | , public Ifc1, public Ifc2 |
145 | | { |
146 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, WeakAggImplHelper2<Ifc1, Ifc2> > > {}; |
147 | | public: |
148 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
149 | 81.8k | { return OWeakAggObject::queryInterface( rType ); } |
150 | | virtual css::uno::Any SAL_CALL queryAggregation( css::uno::Type const & rType ) SAL_OVERRIDE |
151 | 201k | { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, static_cast<OWeakAggObject *>(this) ); } |
152 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
153 | 397k | { OWeakAggObject::acquire(); } |
154 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
155 | 397k | { OWeakAggObject::release(); } |
156 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
157 | 0 | { return WeakAggImplHelper_getTypes( cd::get() ); } |
158 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
159 | 0 | { return ImplHelper_getImplementationId( cd::get() ); } |
160 | | }; |
161 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
162 | | css::uno::XInterface inheriting from a BaseClass. |
163 | | All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), |
164 | | if a demanded interface is not supported by this class directly, the request is |
165 | | delegated to the BaseClass. |
166 | | |
167 | | @attention |
168 | | The BaseClass has to be complete in a sense, that css::uno::XInterface |
169 | | and css::lang::XTypeProvider are implemented properly. The |
170 | | BaseClass must have at least one ctor that can be called with six or |
171 | | fewer arguments, of which none is of non-const reference type. |
172 | | |
173 | | @derive |
174 | | Inherit from this class giving your additional interface(s) to be implemented as |
175 | | template argument(s). Your sub class defines method implementations for these interface(s). |
176 | | */ |
177 | | template< class BaseClass, class Ifc1, class Ifc2 > |
178 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplInheritanceHelper2 |
179 | | : public BaseClass |
180 | | , public Ifc1, public Ifc2 |
181 | | { |
182 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, ImplInheritanceHelper2<BaseClass, Ifc1, Ifc2> > > {}; |
183 | | protected: |
184 | | template< typename T1 > |
185 | 49.0k | explicit ImplInheritanceHelper2(T1 const & arg1): BaseClass(arg1) {} |
186 | | template< typename T1, typename T2 > |
187 | | ImplInheritanceHelper2(T1 const & arg1, T2 const & arg2): |
188 | | BaseClass(arg1, arg2) {} |
189 | | template< typename T1, typename T2, typename T3 > |
190 | | ImplInheritanceHelper2( |
191 | | T1 const & arg1, T2 const & arg2, T3 const & arg3): |
192 | | BaseClass(arg1, arg2, arg3) {} |
193 | | template< typename T1, typename T2, typename T3, typename T4 > |
194 | | ImplInheritanceHelper2( |
195 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): |
196 | | BaseClass(arg1, arg2, arg3, arg4) {} |
197 | | template< |
198 | | typename T1, typename T2, typename T3, typename T4, typename T5 > |
199 | | ImplInheritanceHelper2( |
200 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
201 | | T5 const & arg5): |
202 | | BaseClass(arg1, arg2, arg3, arg4, arg5) {} |
203 | | template< |
204 | | typename T1, typename T2, typename T3, typename T4, typename T5, |
205 | | typename T6 > |
206 | | ImplInheritanceHelper2( |
207 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
208 | | T5 const & arg5, T6 const & arg6): |
209 | | BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} |
210 | | public: |
211 | | ImplInheritanceHelper2() {} |
212 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
213 | 27.0k | { |
214 | 27.0k | css::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); |
215 | 27.0k | if (aRet.hasValue()) |
216 | 0 | return aRet; |
217 | 27.0k | return BaseClass::queryInterface( rType ); |
218 | 27.0k | } |
219 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
220 | 158k | { BaseClass::acquire(); } |
221 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
222 | 158k | { BaseClass::release(); } |
223 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
224 | 0 | { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } |
225 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
226 | 0 | { return ImplHelper_getImplementationId( cd::get() ); } |
227 | | }; |
228 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
229 | | css::uno::XInterface inheriting from a BaseClass. |
230 | | All acquire(), release() and queryInterface() calls are delegated to the BaseClass. |
231 | | Upon queryAggregation(), if a demanded interface is not supported by this class directly, |
232 | | the request is delegated to the BaseClass. |
233 | | |
234 | | @attention |
235 | | The BaseClass has to be complete in a sense, that css::uno::XInterface, |
236 | | css::uno::XAggregation and css::lang::XTypeProvider |
237 | | are implemented properly. The BaseClass must have at least one ctor |
238 | | that can be called with six or fewer arguments, of which none is of |
239 | | non-const reference type. |
240 | | |
241 | | @derive |
242 | | Inherit from this class giving your additional interface(s) to be implemented as |
243 | | template argument(s). Your sub class defines method implementations for these interface(s). |
244 | | */ |
245 | | template< class BaseClass, class Ifc1, class Ifc2 > |
246 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE AggImplInheritanceHelper2 |
247 | | : public BaseClass |
248 | | , public Ifc1, public Ifc2 |
249 | | { |
250 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, AggImplInheritanceHelper2<BaseClass, Ifc1, Ifc2> > > {}; |
251 | | protected: |
252 | | template< typename T1 > |
253 | 0 | explicit AggImplInheritanceHelper2(T1 const & arg1): BaseClass(arg1) {}Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::AggImplInheritanceHelper2<com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> >(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::AggImplInheritanceHelper2<com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> >(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) |
254 | | template< typename T1, typename T2 > |
255 | | AggImplInheritanceHelper2(T1 const & arg1, T2 const & arg2): |
256 | | BaseClass(arg1, arg2) {} |
257 | | template< typename T1, typename T2, typename T3 > |
258 | | AggImplInheritanceHelper2( |
259 | | T1 const & arg1, T2 const & arg2, T3 const & arg3): |
260 | | BaseClass(arg1, arg2, arg3) {} |
261 | | template< typename T1, typename T2, typename T3, typename T4 > |
262 | | AggImplInheritanceHelper2( |
263 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): |
264 | | BaseClass(arg1, arg2, arg3, arg4) {} |
265 | | template< |
266 | | typename T1, typename T2, typename T3, typename T4, typename T5 > |
267 | | AggImplInheritanceHelper2( |
268 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
269 | | T5 const & arg5): |
270 | | BaseClass(arg1, arg2, arg3, arg4, arg5) {} |
271 | | template< |
272 | | typename T1, typename T2, typename T3, typename T4, typename T5, |
273 | | typename T6 > |
274 | | AggImplInheritanceHelper2( |
275 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
276 | | T5 const & arg5, T6 const & arg6): |
277 | | BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} |
278 | | public: |
279 | 0 | AggImplInheritanceHelper2() {} |
280 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
281 | 0 | { return BaseClass::queryInterface( rType ); }Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::queryInterface(com::sun::star::uno::Type const&) |
282 | | virtual css::uno::Any SAL_CALL queryAggregation( css::uno::Type const & rType ) SAL_OVERRIDE |
283 | 0 | { |
284 | 0 | css::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); |
285 | 0 | if (aRet.hasValue()) |
286 | 0 | return aRet; |
287 | 0 | return BaseClass::queryAggregation( rType ); |
288 | 0 | } Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::queryAggregation(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection>::queryAggregation(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::queryAggregation(com::sun::star::uno::Type const&) |
289 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
290 | 0 | { BaseClass::acquire(); }Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::acquire() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection>::acquire() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::acquire() |
291 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
292 | 0 | { BaseClass::release(); }Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::release() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection>::release() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::release() |
293 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
294 | 0 | { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); }Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::getTypes() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection>::getTypes() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::getTypes() |
295 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
296 | 0 | { return ImplHelper_getImplementationId( cd::get() ); }Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::XUnoControlDialog, com::sun::star::awt::XWindowListener>::getImplementationId() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<UnoControlBase, com::sun::star::awt::grid::XGridControl, com::sun::star::awt::grid::XGridRowSelection>::getImplementationId() Unexecuted instantiation: cppu::AggImplInheritanceHelper2<ControlContainerBase, com::sun::star::awt::tab::XTabPage, com::sun::star::awt::XWindowListener>::getImplementationId() |
297 | | }; |
298 | | } |
299 | | |
300 | | #endif |
301 | | |
302 | | /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |