20#ifndef INCLUDED_CPPUHELPER_COMPBASE_HXX
21#define INCLUDED_CPPUHELPER_COMPBASE_HXX
25#include "com/sun/star/lang/XTypeProvider.hpp"
26#include "com/sun/star/uno/Any.h"
27#include "com/sun/star/uno/Reference.h"
28#include "com/sun/star/uno/Sequence.h"
29#include "com/sun/star/uno/Type.h"
32#include "rtl/instance.hxx"
35namespace com {
namespace sun {
namespace star {
namespace lang {
38namespace osl {
class Mutex; }
40#if defined LIBO_INTERNAL_ONLY
64template<
typename... Ifc>
65class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE PartialWeakComponentImplHelper:
66 public WeakComponentImplHelperBase,
public css::lang::XTypeProvider,
72 detail::ImplClassData<PartialWeakComponentImplHelper, Ifc...>>
76 PartialWeakComponentImplHelper(osl::Mutex & mutex) SAL_NOEXCEPT:
77 WeakComponentImplHelperBase(mutex) {}
79 css::uno::Any SAL_CALL
queryInterface(css::uno::Type
const & aType) SAL_OVERRIDE
82 void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
83 { WeakComponentImplHelperBase::acquire(); }
85 void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
86 { WeakComponentImplHelperBase::release(); }
90 { WeakComponentImplHelperBase::dispose(); }
92 css::uno::Sequence<css::uno::Type> SAL_CALL getTypes() SAL_OVERRIDE
95 css::uno::Sequence<sal_Int8> SAL_CALL getImplementationId() SAL_OVERRIDE
96 {
return css::uno::Sequence<sal_Int8>(); }
110template<
typename... Ifc>
111class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakComponentImplHelper:
112 public PartialWeakComponentImplHelper<Ifc...>
115 WeakComponentImplHelper(osl::Mutex & mutex) SAL_NOEXCEPT:
116 PartialWeakComponentImplHelper<Ifc...>(
mutex) {}
118 void SAL_CALL addEventListener(
119 css::uno::Reference<css::lang::XEventListener>
const & xListener) SAL_OVERRIDE
120 { WeakComponentImplHelperBase::addEventListener(xListener); }
122 void SAL_CALL removeEventListener(
123 css::uno::Reference<css::lang::XEventListener>
const & aListener) SAL_OVERRIDE
124 { WeakComponentImplHelperBase::removeEventListener(aListener); }
Any SAL_CALL WeakComponentImplHelper_query(Type const &rType, class_data *cd, void *that, WeakComponentImplHelperBase *pBase)
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
Compares demanded type to given template argument types.
Sequence< Type > SAL_CALL WeakComponentImplHelper_getTypes(class_data *cd)