23#ifndef INCLUDED_CPPUHELPER_IMPLBASE4_HXX
24#define INCLUDED_CPPUHELPER_IMPLBASE4_HXX
27#include "rtl/instance.hxx"
30#include "com/sun/star/lang/XTypeProvider.hpp"
42 type_entry m_typeEntries[ 4 + 1 ];
45 template<
typename Ifc1,
typename Ifc2,
typename Ifc3,
typename Ifc4,
typename Impl >
48 class_data* operator ()()
50 static class_data4 s_cd =
53 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
55 CPPUHELPER_DETAIL_TYPEENTRY(Ifc1),
56 CPPUHELPER_DETAIL_TYPEENTRY(Ifc2),
57 CPPUHELPER_DETAIL_TYPEENTRY(Ifc3),
58 CPPUHELPER_DETAIL_TYPEENTRY(Ifc4),
59 CPPUHELPER_DETAIL_TYPEENTRY(css::lang::XTypeProvider)
62 return reinterpret_cast< class_data *
>(&s_cd);
76 template<
class Ifc1,
class Ifc2,
class Ifc3,
class Ifc4 >
78 :
public css::lang::XTypeProvider
79 ,
public Ifc1,
public Ifc2,
public Ifc3,
public Ifc4
81 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, ImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {};
83#if defined LIBO_INTERNAL_ONLY
91 virtual css::uno::Any SAL_CALL
queryInterface( css::uno::Type
const & rType ) SAL_OVERRIDE
93 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes() SAL_OVERRIDE
111 template<
class Ifc1,
class Ifc2,
class Ifc3,
class Ifc4 >
114 ,
public css::lang::XTypeProvider
115 ,
public Ifc1,
public Ifc2,
public Ifc3,
public Ifc4
117 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, WeakImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {};
119 virtual css::uno::Any SAL_CALL
queryInterface( css::uno::Type
const & rType ) SAL_OVERRIDE
121 virtual void SAL_CALL
acquire() SAL_NOEXCEPT SAL_OVERRIDE
123 virtual void SAL_CALL
release() SAL_NOEXCEPT SAL_OVERRIDE
125 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes() SAL_OVERRIDE
143 template<
class Ifc1,
class Ifc2,
class Ifc3,
class Ifc4 >
146 ,
public css::lang::XTypeProvider
147 ,
public Ifc1,
public Ifc2,
public Ifc3,
public Ifc4
149 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, WeakAggImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {};
151 virtual css::uno::Any SAL_CALL
queryInterface( css::uno::Type
const & rType ) SAL_OVERRIDE
153 virtual css::uno::Any SAL_CALL
queryAggregation( css::uno::Type
const & rType ) SAL_OVERRIDE
155 virtual void SAL_CALL
acquire() SAL_NOEXCEPT SAL_OVERRIDE
157 virtual void SAL_CALL
release() SAL_NOEXCEPT SAL_OVERRIDE
159 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes() SAL_OVERRIDE
180 template<
class BaseClass,
class Ifc1,
class Ifc2,
class Ifc3,
class Ifc4 >
183 ,
public Ifc1,
public Ifc2,
public Ifc3,
public Ifc4
185 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, ImplInheritanceHelper4<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4> > > {};
187 template<
typename T1 >
189 template<
typename T1,
typename T2 >
191 BaseClass(arg1, arg2) {}
192 template<
typename T1,
typename T2,
typename T3 >
194 T1
const & arg1, T2
const & arg2, T3
const & arg3):
195 BaseClass(arg1, arg2, arg3) {}
196 template<
typename T1,
typename T2,
typename T3,
typename T4 >
198 T1
const & arg1, T2
const & arg2, T3
const & arg3, T4
const & arg4):
199 BaseClass(arg1, arg2, arg3, arg4) {}
201 typename T1,
typename T2,
typename T3,
typename T4,
typename T5 >
203 T1
const & arg1, T2
const & arg2, T3
const & arg3, T4
const & arg4,
205 BaseClass(arg1, arg2, arg3, arg4, arg5) {}
207 typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
210 T1
const & arg1, T2
const & arg2, T3
const & arg3, T4
const & arg4,
211 T5
const & arg5, T6
const & arg6):
212 BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
215 virtual css::uno::Any SAL_CALL
queryInterface( css::uno::Type
const & rType ) SAL_OVERRIDE
222 virtual void SAL_CALL
acquire() SAL_NOEXCEPT SAL_OVERRIDE
223 { BaseClass::acquire(); }
224 virtual void SAL_CALL
release() SAL_NOEXCEPT SAL_OVERRIDE
225 { BaseClass::release(); }
226 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes() SAL_OVERRIDE
248 template<
class BaseClass,
class Ifc1,
class Ifc2,
class Ifc3,
class Ifc4 >
251 ,
public Ifc1,
public Ifc2,
public Ifc3,
public Ifc4
253 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, AggImplInheritanceHelper4<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4> > > {};
255 template<
typename T1 >
257 template<
typename T1,
typename T2 >
259 BaseClass(arg1, arg2) {}
260 template<
typename T1,
typename T2,
typename T3 >
262 T1
const & arg1, T2
const & arg2, T3
const & arg3):
263 BaseClass(arg1, arg2, arg3) {}
264 template<
typename T1,
typename T2,
typename T3,
typename T4 >
266 T1
const & arg1, T2
const & arg2, T3
const & arg3, T4
const & arg4):
267 BaseClass(arg1, arg2, arg3, arg4) {}
269 typename T1,
typename T2,
typename T3,
typename T4,
typename T5 >
271 T1
const & arg1, T2
const & arg2, T3
const & arg3, T4
const & arg4,
273 BaseClass(arg1, arg2, arg3, arg4, arg5) {}
275 typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
278 T1
const & arg1, T2
const & arg2, T3
const & arg3, T4
const & arg4,
279 T5
const & arg5, T6
const & arg6):
280 BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {}
283 virtual css::uno::Any SAL_CALL
queryInterface( css::uno::Type
const & rType ) SAL_OVERRIDE
285 virtual css::uno::Any SAL_CALL
queryAggregation( css::uno::Type
const & rType ) SAL_OVERRIDE
290 return BaseClass::queryAggregation( rType );
292 virtual void SAL_CALL
acquire() SAL_NOEXCEPT SAL_OVERRIDE
293 { BaseClass::acquire(); }
294 virtual void SAL_CALL
release() SAL_NOEXCEPT SAL_OVERRIDE
295 { BaseClass::release(); }
296 virtual css::uno::Sequence< css::uno::Type > SAL_CALL
getTypes() SAL_OVERRIDE
Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface inher...
AggImplInheritanceHelper4(T1 const &arg1)
AggImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5)
AggImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4)
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
AggImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3)
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
virtual css::uno::Any SAL_CALL queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
AggImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5, T6 const &arg6)
AggImplInheritanceHelper4(T1 const &arg1, T2 const &arg2)
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
AggImplInheritanceHelper4()
Implementation helper implementing interface css::lang::XTypeProvider and method XInterface::queryInt...
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
~ImplHelper4() SAL_NOEXCEPT
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface inher...
ImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5, T6 const &arg6)
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
ImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4)
ImplInheritanceHelper4(T1 const &arg1)
ImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3)
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
ImplInheritanceHelper4(T1 const &arg1, T2 const &arg2)
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
ImplInheritanceHelper4(T1 const &arg1, T2 const &arg2, T3 const &arg3, T4 const &arg4, T5 const &arg5)
Base class to implement a UNO object supporting weak references, i.e.
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) SAL_OVERRIDE
If a delegator is set, then the delegator is queried for the demanded interface.
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets acquired.
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets released.
Base class to implement a UNO object supporting weak references, i.e.
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
increasing m_refCount
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
decreasing m_refCount
Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface which...
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets released.
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
If a delegator is set, then the delegator is queried for the demanded interface.
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
If a delegator is set, then the delegators gets acquired.
virtual css::uno::Any SAL_CALL queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
Called by the delegator or queryInterface.
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface which...
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
decreasing m_refCount
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() SAL_OVERRIDE
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
increasing m_refCount
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() SAL_OVERRIDE
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Basic queryInterface() implementation supporting com::sun::star::uno::XWeak and com::sun::star::uno::...
Sequence< Type > SAL_CALL ImplInhHelper_getTypes(class_data *cd, Sequence< Type > const &rAddTypes)
Sequence< Type > SAL_CALL ImplHelper_getTypes(class_data *cd)
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
Compares demanded type to given template argument types.
Any SAL_CALL WeakImplHelper_query(Type const &rType, class_data *cd, void *that, OWeakObject *pBase)
css::uno::Sequence< sal_Int8 > ImplHelper_getImplementationId(SAL_UNUSED_PARAMETER class_data *)
Any SAL_CALL WeakAggImplHelper_queryAgg(Type const &rType, class_data *cd, void *that, OWeakAggObject *pBase)
Sequence< Type > SAL_CALL WeakImplHelper_getTypes(class_data *cd)
Sequence< Type > SAL_CALL WeakAggImplHelper_getTypes(class_data *cd)
Any SAL_CALL ImplHelper_query(Type const &rType, class_data *cd, void *that)
Any SAL_CALL ImplHelper_queryNoXInterface(Type const &rType, class_data *cd, void *that)