24#ifndef INCLUDED_UNO_DISPATCHER_HXX
25#define INCLUDED_UNO_DISPATCHER_HXX
51class UnoInterfaceReference
57 {
return m_pUnoI != NULL; }
59 inline ~UnoInterfaceReference();
60 inline UnoInterfaceReference();
63 inline UnoInterfaceReference( UnoInterfaceReference
const & ref );
65#if defined LIBO_INTERNAL_ONLY
66 UnoInterfaceReference(UnoInterfaceReference && other) noexcept :
67 m_pUnoI(other.m_pUnoI)
68 { other.m_pUnoI =
nullptr; }
74 inline UnoInterfaceReference & set(
76 inline UnoInterfaceReference & set(
80 UnoInterfaceReference & operator = (
81 UnoInterfaceReference
const & ref )
82 {
return set( ref.m_pUnoI ); }
83 UnoInterfaceReference & operator = (
85 {
return set( pUnoI ); }
87#if defined LIBO_INTERNAL_ONLY
88 UnoInterfaceReference & operator =(UnoInterfaceReference && other) {
89 if (m_pUnoI !=
nullptr) {
90 (*m_pUnoI->release)(m_pUnoI);
92 m_pUnoI = other.m_pUnoI;
93 other.m_pUnoI =
nullptr;
100 void * pReturn,
void * pArgs [],
uno_Any ** ppException )
const;
104inline UnoInterfaceReference::~UnoInterfaceReference()
107 (*m_pUnoI->release)( m_pUnoI );
111inline UnoInterfaceReference::UnoInterfaceReference()
117inline UnoInterfaceReference::UnoInterfaceReference(
124inline UnoInterfaceReference::UnoInterfaceReference(
uno_Interface * pUnoI )
128 (*m_pUnoI->acquire)( m_pUnoI );
132inline UnoInterfaceReference::UnoInterfaceReference(
133 UnoInterfaceReference
const & ref )
134 : m_pUnoI( ref.m_pUnoI )
137 (*m_pUnoI->acquire)( m_pUnoI );
141inline UnoInterfaceReference & UnoInterfaceReference::set(
145 (*pUnoI->acquire)( pUnoI );
147 (*m_pUnoI->release)( m_pUnoI );
153inline UnoInterfaceReference & UnoInterfaceReference::set(
157 (*m_pUnoI->release)( m_pUnoI );
163inline void UnoInterfaceReference::clear()
167 (*m_pUnoI->release)( m_pUnoI );
173inline void UnoInterfaceReference::dispatch(
175 void * pReturn,
void * pArgs [],
uno_Any ** ppException )
const
177 (*m_pUnoI->pDispatcher)(
178 m_pUnoI, pMemberType, pReturn, pArgs, ppException );
__sal_NoAcquire
Definition types.h:353
struct SAL_DLLPUBLIC_RTTI _uno_Any uno_Any
This is the binary specification of a UNO any.
struct SAL_DLLPUBLIC_RTTI _uno_Interface uno_Interface
The binary C uno interface description.
Full type description of a type.
Definition typedescription.h:76