/src/libreoffice/include/cppuhelper/implbase10.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_IMPLBASE10_HXX |
24 | | #define INCLUDED_CPPUHELPER_IMPLBASE10_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_data10 |
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[ 10 + 1 ]; |
43 | | }; |
44 | | |
45 | | template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Ifc9, typename Ifc10, typename Impl > |
46 | | struct SAL_WARN_UNUSED ImplClassData10 |
47 | | { |
48 | | class_data* operator ()() |
49 | 0 | { |
50 | 0 | static class_data10 s_cd = |
51 | 0 | { |
52 | 0 | 10 +1, false, false, |
53 | 0 | { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, |
54 | 0 | { |
55 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc1), |
56 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc2), |
57 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc3), |
58 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc4), |
59 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc5), |
60 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc6), |
61 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc7), |
62 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc8), |
63 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc9), |
64 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(Ifc10), |
65 | 0 | CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider) |
66 | 0 | } |
67 | 0 | }; |
68 | 0 | return reinterpret_cast< class_data * >(&s_cd); |
69 | 0 | } Unexecuted instantiation: cppu::ImplClassData10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier, cppu::ImplHelper10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier> >::operator()() Unexecuted instantiation: cppu::ImplClassData10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo, cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo> >::operator()() |
70 | | }; |
71 | | |
72 | | /// @endcond |
73 | | |
74 | | /** Implementation helper implementing interface css::lang::XTypeProvider |
75 | | and method XInterface::queryInterface(), but no reference counting. |
76 | | |
77 | | @derive |
78 | | Inherit from this class giving your interface(s) to be implemented as template argument(s). |
79 | | Your sub class defines method implementations for these interface(s) including acquire()/ |
80 | | release() and delegates incoming queryInterface() calls to this base class. |
81 | | */ |
82 | | template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > |
83 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplHelper10 |
84 | | : public css::lang::XTypeProvider |
85 | | , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 |
86 | | { |
87 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, ImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; |
88 | | public: |
89 | | #if defined LIBO_INTERNAL_ONLY |
90 | 0 | ImplHelper10() = default; Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier>::ImplHelper10() Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::ImplHelper10() |
91 | | ImplHelper10(ImplHelper10 const &) = default; |
92 | | ImplHelper10(ImplHelper10 &&) = default; |
93 | | ImplHelper10 & operator =(ImplHelper10 const &) = default; |
94 | | ImplHelper10 & operator =(ImplHelper10 &&) = default; |
95 | | #endif |
96 | | |
97 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
98 | 0 | { return ImplHelper_query( rType, cd::get(), this ); }Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier>::queryInterface(com::sun::star::uno::Type const&) Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::queryInterface(com::sun::star::uno::Type const&) |
99 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
100 | 0 | { return ImplHelper_getTypes( cd::get() ); }Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier>::getTypes() Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::getTypes() |
101 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
102 | 0 | { return ImplHelper_getImplementationId( cd::get() ); }Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier>::getImplementationId() Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::getImplementationId() |
103 | | |
104 | | #if !defined _MSC_VER // public -> protected changes mangled names there |
105 | | protected: |
106 | | #endif |
107 | 0 | ~ImplHelper10() SAL_NOEXCEPT {}Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::form::XBoundComponent, com::sun::star::form::XGridControl, com::sun::star::util::XModifyBroadcaster, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::util::XModeSelector, com::sun::star::container::XContainer, com::sun::star::frame::XDispatchProvider, com::sun::star::frame::XDispatchProviderInterception, com::sun::star::view::XSelectionSupplier>::~ImplHelper10() Unexecuted instantiation: cppu::ImplHelper10<com::sun::star::container::XNameAccess, com::sun::star::container::XIndexAccess, com::sun::star::container::XEnumerationAccess, com::sun::star::container::XContainer, com::sun::star::sdbc::XColumnLocate, com::sun::star::util::XRefreshable, com::sun::star::sdbcx::XDataDescriptorFactory, com::sun::star::sdbcx::XAppend, com::sun::star::sdbcx::XDrop, com::sun::star::lang::XServiceInfo>::~ImplHelper10() |
108 | | }; |
109 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
110 | | css::uno::XInterface which supports weak mechanism to be held weakly |
111 | | (supporting css::uno::XWeak through ::cppu::OWeakObject). |
112 | | |
113 | | @derive |
114 | | Inherit from this class giving your interface(s) to be implemented as template argument(s). |
115 | | Your sub class defines method implementations for these interface(s). |
116 | | */ |
117 | | template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > |
118 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakImplHelper10 |
119 | | : public OWeakObject |
120 | | , public css::lang::XTypeProvider |
121 | | , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 |
122 | | { |
123 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, WeakImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; |
124 | | public: |
125 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
126 | | { return WeakImplHelper_query( rType, cd::get(), this, static_cast<OWeakObject *>(this) ); } |
127 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
128 | | { OWeakObject::acquire(); } |
129 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
130 | | { OWeakObject::release(); } |
131 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
132 | | { return WeakImplHelper_getTypes( cd::get() ); } |
133 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
134 | | { return ImplHelper_getImplementationId( cd::get() ); } |
135 | | }; |
136 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
137 | | css::uno::XInterface which supports weak mechanism to be held weakly |
138 | | (supporting css::uno::XWeak through ::cppu::OWeakAggObject). |
139 | | In addition, it supports also aggregation meaning object of this class can be aggregated |
140 | | (css::uno::XAggregation through ::cppu::OWeakAggObject). |
141 | | If a delegator is set (this object is aggregated), then incoming queryInterface() |
142 | | calls are delegated to the delegator object. If the delegator does not support the |
143 | | demanded interface, it calls queryAggregation() on its aggregated objects. |
144 | | |
145 | | @derive |
146 | | Inherit from this class giving your interface(s) to be implemented as template argument(s). |
147 | | Your sub class defines method implementations for these interface(s). |
148 | | */ |
149 | | template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > |
150 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakAggImplHelper10 |
151 | | : public OWeakAggObject |
152 | | , public css::lang::XTypeProvider |
153 | | , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 |
154 | | { |
155 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, WeakAggImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; |
156 | | public: |
157 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
158 | | { return OWeakAggObject::queryInterface( rType ); } |
159 | | virtual css::uno::Any SAL_CALL queryAggregation( css::uno::Type const & rType ) SAL_OVERRIDE |
160 | | { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, static_cast<OWeakAggObject *>(this) ); } |
161 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
162 | | { OWeakAggObject::acquire(); } |
163 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
164 | | { OWeakAggObject::release(); } |
165 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
166 | | { return WeakAggImplHelper_getTypes( cd::get() ); } |
167 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
168 | | { return ImplHelper_getImplementationId( cd::get() ); } |
169 | | }; |
170 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
171 | | css::uno::XInterface inheriting from a BaseClass. |
172 | | All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), |
173 | | if a demanded interface is not supported by this class directly, the request is |
174 | | delegated to the BaseClass. |
175 | | |
176 | | @attention |
177 | | The BaseClass has to be complete in a sense, that css::uno::XInterface |
178 | | and css::lang::XTypeProvider are implemented properly. The |
179 | | BaseClass must have at least one ctor that can be called with six or |
180 | | fewer arguments, of which none is of non-const reference type. |
181 | | |
182 | | @derive |
183 | | Inherit from this class giving your additional interface(s) to be implemented as |
184 | | template argument(s). Your sub class defines method implementations for these interface(s). |
185 | | */ |
186 | | template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > |
187 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplInheritanceHelper10 |
188 | | : public BaseClass |
189 | | , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 |
190 | | { |
191 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, ImplInheritanceHelper10<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; |
192 | | protected: |
193 | | template< typename T1 > |
194 | | explicit ImplInheritanceHelper10(T1 const & arg1): BaseClass(arg1) {} |
195 | | template< typename T1, typename T2 > |
196 | | ImplInheritanceHelper10(T1 const & arg1, T2 const & arg2): |
197 | | BaseClass(arg1, arg2) {} |
198 | | template< typename T1, typename T2, typename T3 > |
199 | | ImplInheritanceHelper10( |
200 | | T1 const & arg1, T2 const & arg2, T3 const & arg3): |
201 | | BaseClass(arg1, arg2, arg3) {} |
202 | | template< typename T1, typename T2, typename T3, typename T4 > |
203 | | ImplInheritanceHelper10( |
204 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): |
205 | | BaseClass(arg1, arg2, arg3, arg4) {} |
206 | | template< |
207 | | typename T1, typename T2, typename T3, typename T4, typename T5 > |
208 | | ImplInheritanceHelper10( |
209 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
210 | | T5 const & arg5): |
211 | | BaseClass(arg1, arg2, arg3, arg4, arg5) {} |
212 | | template< |
213 | | typename T1, typename T2, typename T3, typename T4, typename T5, |
214 | | typename T6 > |
215 | | ImplInheritanceHelper10( |
216 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
217 | | T5 const & arg5, T6 const & arg6): |
218 | | BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} |
219 | | public: |
220 | | ImplInheritanceHelper10() {} |
221 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
222 | | { |
223 | | css::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); |
224 | | if (aRet.hasValue()) |
225 | | return aRet; |
226 | | return BaseClass::queryInterface( rType ); |
227 | | } |
228 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
229 | | { BaseClass::acquire(); } |
230 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
231 | | { BaseClass::release(); } |
232 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
233 | | { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } |
234 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
235 | | { return ImplHelper_getImplementationId( cd::get() ); } |
236 | | }; |
237 | | /** Implementation helper implementing interfaces css::lang::XTypeProvider and |
238 | | css::uno::XInterface inheriting from a BaseClass. |
239 | | All acquire(), release() and queryInterface() calls are delegated to the BaseClass. |
240 | | Upon queryAggregation(), if a demanded interface is not supported by this class directly, |
241 | | the request is delegated to the BaseClass. |
242 | | |
243 | | @attention |
244 | | The BaseClass has to be complete in a sense, that css::uno::XInterface, |
245 | | css::uno::XAggregation and css::lang::XTypeProvider |
246 | | are implemented properly. The BaseClass must have at least one ctor |
247 | | that can be called with six or fewer arguments, of which none is of |
248 | | non-const reference type. |
249 | | |
250 | | @derive |
251 | | Inherit from this class giving your additional interface(s) to be implemented as |
252 | | template argument(s). Your sub class defines method implementations for these interface(s). |
253 | | */ |
254 | | template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > |
255 | | class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE AggImplInheritanceHelper10 |
256 | | : public BaseClass |
257 | | , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 |
258 | | { |
259 | | struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, AggImplInheritanceHelper10<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; |
260 | | protected: |
261 | | template< typename T1 > |
262 | | explicit AggImplInheritanceHelper10(T1 const & arg1): BaseClass(arg1) {} |
263 | | template< typename T1, typename T2 > |
264 | | AggImplInheritanceHelper10(T1 const & arg1, T2 const & arg2): |
265 | | BaseClass(arg1, arg2) {} |
266 | | template< typename T1, typename T2, typename T3 > |
267 | | AggImplInheritanceHelper10( |
268 | | T1 const & arg1, T2 const & arg2, T3 const & arg3): |
269 | | BaseClass(arg1, arg2, arg3) {} |
270 | | template< typename T1, typename T2, typename T3, typename T4 > |
271 | | AggImplInheritanceHelper10( |
272 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): |
273 | | BaseClass(arg1, arg2, arg3, arg4) {} |
274 | | template< |
275 | | typename T1, typename T2, typename T3, typename T4, typename T5 > |
276 | | AggImplInheritanceHelper10( |
277 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
278 | | T5 const & arg5): |
279 | | BaseClass(arg1, arg2, arg3, arg4, arg5) {} |
280 | | template< |
281 | | typename T1, typename T2, typename T3, typename T4, typename T5, |
282 | | typename T6 > |
283 | | AggImplInheritanceHelper10( |
284 | | T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, |
285 | | T5 const & arg5, T6 const & arg6): |
286 | | BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} |
287 | | public: |
288 | | AggImplInheritanceHelper10() {} |
289 | | virtual css::uno::Any SAL_CALL queryInterface( css::uno::Type const & rType ) SAL_OVERRIDE |
290 | | { return BaseClass::queryInterface( rType ); } |
291 | | virtual css::uno::Any SAL_CALL queryAggregation( css::uno::Type const & rType ) SAL_OVERRIDE |
292 | | { |
293 | | css::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); |
294 | | if (aRet.hasValue()) |
295 | | return aRet; |
296 | | return BaseClass::queryAggregation( rType ); |
297 | | } |
298 | | virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE |
299 | | { BaseClass::acquire(); } |
300 | | virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE |
301 | | { BaseClass::release(); } |
302 | | virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE |
303 | | { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } |
304 | | virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE |
305 | | { return ImplHelper_getImplementationId( cd::get() ); } |
306 | | }; |
307 | | } |
308 | | |
309 | | #endif |
310 | | |
311 | | /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |