4 #ifndef INCLUDED_UNO_DISPATCHER_HXX
5 #define INCLUDED_UNO_DISPATCHER_HXX
31 class UnoInterfaceReference
37 {
return m_pUnoI != NULL; }
39 inline ~UnoInterfaceReference();
40 inline UnoInterfaceReference();
43 inline UnoInterfaceReference( UnoInterfaceReference
const & ref );
45 #if defined LIBO_INTERNAL_ONLY
46 UnoInterfaceReference(UnoInterfaceReference && other) noexcept :
47 m_pUnoI(other.m_pUnoI)
48 { other.m_pUnoI =
nullptr; }
54 inline UnoInterfaceReference & set(
56 inline UnoInterfaceReference & set(
60 UnoInterfaceReference & operator = (
61 UnoInterfaceReference
const & ref )
62 {
return set( ref.m_pUnoI ); }
63 UnoInterfaceReference & operator = (
65 {
return set( pUnoI ); }
67 #if defined LIBO_INTERNAL_ONLY
68 UnoInterfaceReference & operator =(UnoInterfaceReference && other) {
69 if (m_pUnoI !=
nullptr) {
70 (*m_pUnoI->release)(m_pUnoI);
72 m_pUnoI = other.m_pUnoI;
73 other.m_pUnoI =
nullptr;
80 void * pReturn,
void * pArgs [],
uno_Any ** ppException )
const;
84 inline UnoInterfaceReference::~UnoInterfaceReference()
87 (*m_pUnoI->release)( m_pUnoI );
91 inline UnoInterfaceReference::UnoInterfaceReference()
97 inline UnoInterfaceReference::UnoInterfaceReference(
104 inline UnoInterfaceReference::UnoInterfaceReference(
uno_Interface * pUnoI )
108 (*m_pUnoI->acquire)( m_pUnoI );
112 inline UnoInterfaceReference::UnoInterfaceReference(
113 UnoInterfaceReference
const & ref )
114 : m_pUnoI( ref.m_pUnoI )
117 (*m_pUnoI->acquire)( m_pUnoI );
121 inline UnoInterfaceReference & UnoInterfaceReference::set(
125 (*pUnoI->acquire)( pUnoI );
127 (*m_pUnoI->release)( m_pUnoI );
133 inline UnoInterfaceReference & UnoInterfaceReference::set(
137 (*m_pUnoI->release)( m_pUnoI );
143 inline void UnoInterfaceReference::clear()
147 (*m_pUnoI->release)( m_pUnoI );
153 inline void UnoInterfaceReference::dispatch(
155 void * pReturn,
void * pArgs [],
uno_Any ** ppException )
const
157 (*m_pUnoI->pDispatcher)(
158 m_pUnoI, pMemberType, pReturn, pArgs, ppException );
struct SAL_DLLPUBLIC_RTTI _uno_Interface uno_Interface
The binary C uno interface description.
__sal_NoAcquire
Definition: types.h:332
struct SAL_DLLPUBLIC_RTTI _uno_Any uno_Any
This is the binary specification of a UNO any.
Full type description of a type.
Definition: typedescription.h:55