23 #ifndef INCLUDED_CPPUHELPER_COMPBASE3_HXX
24 #define INCLUDED_CPPUHELPER_COMPBASE3_HXX
46 template<
class Ifc1,
class Ifc2,
class Ifc3 >
48 :
public WeakComponentImplHelperBase
49 ,
public css::lang::XTypeProvider
50 ,
public Ifc1,
public Ifc2,
public Ifc3
52 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, WeakComponentImplHelper3<Ifc1, Ifc2, Ifc3> > > {};
55 : WeakComponentImplHelperBase( rMutex )
58 {
return WeakComponentImplHelper_query( rType, cd::get(),
this,
static_cast<WeakComponentImplHelperBase *
>(
this) ); }
60 { WeakComponentImplHelperBase::acquire(); }
62 { WeakComponentImplHelperBase::release(); }
64 { WeakComponentImplHelperBase::dispose(); }
66 { WeakComponentImplHelperBase::addEventListener(xListener); }
68 { WeakComponentImplHelperBase::removeEventListener(xListener); }
70 {
return WeakComponentImplHelper_getTypes( cd::get() ); }
72 {
return ImplHelper_getImplementationId( cd::get() ); }
84 template<
class Ifc1,
class Ifc2,
class Ifc3 >
86 :
public WeakComponentImplHelperBase
87 ,
public css::lang::XTypeProvider
88 ,
public Ifc1,
public Ifc2,
public Ifc3
90 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, PartialWeakComponentImplHelper3<Ifc1, Ifc2, Ifc3> > > {};
93 : WeakComponentImplHelperBase( rMutex )
96 {
return WeakComponentImplHelper_query( rType, cd::get(),
this,
static_cast<WeakComponentImplHelperBase *
>(
this) ); }
98 { WeakComponentImplHelperBase::acquire(); }
100 { WeakComponentImplHelperBase::release(); }
102 {
return WeakComponentImplHelper_getTypes( cd::get() ); }
104 {
return ImplHelper_getImplementationId( cd::get() ); }
124 template<
class Ifc1,
class Ifc2,
class Ifc3 >
126 :
public WeakAggComponentImplHelperBase
127 ,
public css::lang::XTypeProvider
128 ,
public Ifc1,
public Ifc2,
public Ifc3
130 struct cd :
public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, WeakAggComponentImplHelper3<Ifc1, Ifc2, Ifc3> > > {};
133 : WeakAggComponentImplHelperBase( rMutex )
138 {
return WeakAggComponentImplHelper_queryAgg( rType, cd::get(),
this,
static_cast<WeakAggComponentImplHelperBase *
>(
this) ); }
140 { WeakAggComponentImplHelperBase::acquire(); }
142 { WeakAggComponentImplHelperBase::release(); }
144 {
return WeakAggComponentImplHelper_getTypes( cd::get() ); }
146 {
return ImplHelper_getImplementationId( cd::get() ); }
#define SAL_NOEXCEPT
Macro for C++11 "noexcept" vs.
Definition: types.h:416
#define SAL_NO_VTABLE
Use this for pure virtual classes, e.g.
Definition: types.h:294
#define SAL_OVERRIDE
C++11 "override" feature.
Definition: types.h:391
Definition: Enterable.hxx:31
css::uno::Any queryInterface(const css::uno::Type &rType, Interface1 *p1)
Compares demanded type to given template argument types.
Definition: queryinterface.hxx:43
Helper class for a late-initialized static aggregate, e.g.
Definition: instance.hxx:548
A mutual exclusion synchronization object.
Definition: mutex.hxx:35
Implementation helper supporting css::lang::XTypeProvider and css::lang::XComponent.
Definition: compbase3.hxx:51
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
Definition: compbase3.hxx:61
virtual void addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) SAL_OVERRIDE
Definition: compbase3.hxx:65
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition: compbase3.hxx:71
virtual void removeEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) SAL_OVERRIDE
Definition: compbase3.hxx:67
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
Definition: compbase3.hxx:59
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition: compbase3.hxx:69
virtual void dispose() SAL_OVERRIDE
Definition: compbase3.hxx:63
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Definition: compbase3.hxx:57
WeakComponentImplHelper3(::osl::Mutex &rMutex) SAL_NOEXCEPT
Definition: compbase3.hxx:54
Same as WeakComponentImplHelper3, except doesn't implement addEventListener, removeEventListener and ...
Definition: compbase3.hxx:89
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition: compbase3.hxx:101
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
Definition: compbase3.hxx:97
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition: compbase3.hxx:103
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Definition: compbase3.hxx:95
PartialWeakComponentImplHelper3(::osl::Mutex &rMutex) SAL_NOEXCEPT
Definition: compbase3.hxx:92
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
Definition: compbase3.hxx:99
Implementation helper supporting css::lang::XTypeProvider and css::lang::XComponent.
Definition: compbase3.hxx:129
WeakAggComponentImplHelper3(::osl::Mutex &rMutex) SAL_NOEXCEPT
Definition: compbase3.hxx:132
virtual css::uno::Any queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
Definition: compbase3.hxx:137
virtual css::uno::Any queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
Definition: compbase3.hxx:135
virtual void release() SAL_NOEXCEPT SAL_OVERRIDE
Definition: compbase3.hxx:141
virtual css::uno::Sequence< css::uno::Type > getTypes() SAL_OVERRIDE
Definition: compbase3.hxx:143
virtual void acquire() SAL_NOEXCEPT SAL_OVERRIDE
Definition: compbase3.hxx:139
virtual css::uno::Sequence< sal_Int8 > getImplementationId() SAL_OVERRIDE
Definition: compbase3.hxx:145