#include <com/sun/star/uno/XAggregation.hpp>
#include <comphelper/sequence.hxx>
Go to the source code of this file.
|
#define | DECLARE_UNO3_DEFAULTS(classname, baseclass) |
| used for declaring UNO3-Defaults, i.e. More...
|
|
#define | DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass) |
| used for declaring UNO3-Defaults, i.e. More...
|
|
#define | DECLARE_UNO3_XCOMPONENT_AGG_DEFAULTS(classname, baseclass, implhelper) |
| Use this macro to forward XComponent methods to base class. More...
|
|
#define | DECLARE_XINTERFACE() |
|
#define | IMPLEMENT_FORWARD_REFCOUNT(classname, refcountbase) |
|
#define | IMPLEMENT_FORWARD_XINTERFACE2(classname, refcountbase, baseclass2) |
|
#define | IMPLEMENT_FORWARD_XINTERFACE3(classname, refcountbase, baseclass2, baseclass3) |
|
#define | DECLARE_XTYPEPROVIDER() |
|
#define | IMPLEMENT_GET_IMPLEMENTATION_ID(classname) |
|
#define | IMPLEMENT_FORWARD_XTYPEPROVIDER2(classname, baseclass1, baseclass2) |
|
◆ DECLARE_UNO3_AGG_DEFAULTS
#define DECLARE_UNO3_AGG_DEFAULTS |
( |
|
classname, |
|
|
|
baseclass |
|
) |
| |
Value: virtual void SAL_CALL acquire() noexcept override { baseclass::acquire(); } \
virtual void SAL_CALL release() noexcept override { baseclass::release(); } \
virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& _rType)
override \
{ return baseclass::queryInterface(_rType); }
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
used for declaring UNO3-Defaults, i.e.
acquire/release if you want to forward all queryInterfaces to the base class, (e.g. if you override queryAggregation)
Definition at line 38 of file uno3.hxx.
◆ DECLARE_UNO3_DEFAULTS
#define DECLARE_UNO3_DEFAULTS |
( |
|
classname, |
|
|
|
baseclass |
|
) |
| |
Value: virtual void SAL_CALL acquire() noexcept override { baseclass::acquire(); } \
virtual void SAL_CALL release() noexcept override { baseclass::release(); }
used for declaring UNO3-Defaults, i.e.
acquire/release
Definition at line 31 of file uno3.hxx.
◆ DECLARE_UNO3_XCOMPONENT_AGG_DEFAULTS
#define DECLARE_UNO3_XCOMPONENT_AGG_DEFAULTS |
( |
|
classname, |
|
|
|
baseclass, |
|
|
|
implhelper |
|
) |
| |
Value: virtual void SAL_CALL acquire() noexcept override { baseclass::acquire(); } \
virtual void SAL_CALL release() noexcept override { baseclass::release(); } \
virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& _rType)
override \
{ return baseclass::queryInterface(_rType); } \
virtual
void SAL_CALL
dispose() override \
{ \
implhelper::dispose(); \
} \
virtual void SAL_CALL addEventListener( \
css::uno::Reference< css::lang::XEventListener > const & xListener ) override \
{ \
implhelper::addEventListener(xListener); \
} \
virtual void SAL_CALL removeEventListener( \
css::uno::Reference< css::lang::XEventListener > const & xListener ) override \
{ \
implhelper::removeEventListener(xListener); \
}
Use this macro to forward XComponent methods to base class.
When using the ::cppu::WeakComponentImplHelper base classes to implement a UNO interface, a problem occurs when the interface itself already derives from XComponent (like e.g. awt::XWindow or awt::XControl): ::cppu::WeakComponentImplHelper is then still abstract. Using this macro in the most derived class definition provides overrides for the XComponent methods, forwarding them to the given baseclass.
- Parameters
-
classname | Name of the class this macro is issued within |
baseclass | Name of the baseclass that should have the XInterface methods forwarded to - that's usually the WeakComponentImplHelperN base |
implhelper | Name of the baseclass that should have the XComponent methods forwarded to - in the case of the WeakComponentImplHelper, that would be ::cppu::WeakComponentImplHelperBase |
Definition at line 66 of file uno3.hxx.
◆ DECLARE_XINTERFACE
#define DECLARE_XINTERFACE |
( |
| ) |
|
Value: virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& aType )
override; \
virtual void SAL_CALL acquire() noexcept override; \
virtual void SAL_CALL release() noexcept override;
Definition at line 90 of file uno3.hxx.
◆ DECLARE_XTYPEPROVIDER
#define DECLARE_XTYPEPROVIDER |
( |
| ) |
|
Value: virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override; \
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) override;
Definition at line 126 of file uno3.hxx.
◆ IMPLEMENT_FORWARD_REFCOUNT
#define IMPLEMENT_FORWARD_REFCOUNT |
( |
|
classname, |
|
|
|
refcountbase |
|
) |
| |
Value: void SAL_CALL classname::acquire() noexcept { refcountbase::acquire(); } \
void SAL_CALL classname::release() noexcept { refcountbase::release(); }
Definition at line 95 of file uno3.hxx.
◆ IMPLEMENT_FORWARD_XINTERFACE2
#define IMPLEMENT_FORWARD_XINTERFACE2 |
( |
|
classname, |
|
|
|
refcountbase, |
|
|
|
baseclass2 |
|
) |
| |
Value:
css::uno::Any SAL_CALL classname::queryInterface( const css::uno::Type& _rType ) \
{ \
css::uno::Any aReturn = refcountbase::queryInterface( _rType ); \
if ( !aReturn.hasValue() ) \
aReturn = baseclass2::queryInterface( _rType ); \
return aReturn; \
}
#define IMPLEMENT_FORWARD_REFCOUNT(classname, refcountbase)
Definition at line 99 of file uno3.hxx.
◆ IMPLEMENT_FORWARD_XINTERFACE3
#define IMPLEMENT_FORWARD_XINTERFACE3 |
( |
|
classname, |
|
|
|
refcountbase, |
|
|
|
baseclass2, |
|
|
|
baseclass3 |
|
) |
| |
Value:
css::uno::Any SAL_CALL classname::queryInterface( const css::uno::Type& _rType ) \
{ \
css::uno::Any aReturn = refcountbase::queryInterface( _rType ); \
if ( !aReturn.hasValue() ) \
{ \
aReturn = baseclass2::queryInterface( _rType ); \
if ( !aReturn.hasValue() ) \
aReturn = baseclass3::queryInterface( _rType ); \
} \
return aReturn; \
}
Definition at line 109 of file uno3.hxx.
◆ IMPLEMENT_FORWARD_XTYPEPROVIDER2
#define IMPLEMENT_FORWARD_XTYPEPROVIDER2 |
( |
|
classname, |
|
|
|
baseclass1, |
|
|
|
baseclass2 |
|
) |
| |
Value: css::uno::Sequence< css::uno::Type > SAL_CALL classname::getTypes( ) \
{ \
return ::comphelper::concatSequences( \
baseclass1::getTypes(), \
baseclass2::getTypes() \
); \
#define IMPLEMENT_GET_IMPLEMENTATION_ID(classname)
Definition at line 136 of file uno3.hxx.
◆ IMPLEMENT_GET_IMPLEMENTATION_ID
#define IMPLEMENT_GET_IMPLEMENTATION_ID |
( |
|
classname | ) |
|
Value: css::uno::Sequence< sal_Int8 > SAL_CALL classname::getImplementationId( ) \
{ \
return css::uno::Sequence<sal_Int8>(); \
}
Definition at line 130 of file uno3.hxx.