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