LibreOffice Module bridges (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
bridges::cpp_uno::shared::UnoInterfaceProxy Class Reference

A uno proxy wrapping a cpp interface. More...

#include <unointerfaceproxy.hxx>

Inheritance diagram for bridges::cpp_uno::shared::UnoInterfaceProxy:
[legend]
Collaboration diagram for bridges::cpp_uno::shared::UnoInterfaceProxy:
[legend]

Public Member Functions

BridgegetBridge ()
 
com::sun::star::uno::XInterface * getCppI ()
 

Static Public Member Functions

static UnoInterfaceProxycreate (Bridge *pBridge, com::sun::star::uno::XInterface *pCppI, typelib_InterfaceTypeDescription *pTypeDescr, OUString const &rOId)
 

Private Member Functions

 UnoInterfaceProxy (UnoInterfaceProxy const &)=delete
 
UnoInterfaceProxyoperator= (const UnoInterfaceProxy &)=delete
 
 UnoInterfaceProxy (Bridge *pBridge_, com::sun::star::uno::XInterface *pCppI_, typelib_InterfaceTypeDescription *pTypeDescr_, OUString const &rOId_)
 
 ~UnoInterfaceProxy ()
 

Private Attributes

std::atomic< std::size_t > nRef
 
BridgepBridge
 
com::sun::star::uno::XInterface * pCppI
 
typelib_InterfaceTypeDescription * pTypeDescr
 
OUString oid
 

Friends

void freeUnoInterfaceProxy (uno_ExtEnvironment *pEnv, void *pProxy)
 
void unoInterfaceProxyDispatch (uno_Interface *pUnoI, typelib_TypeDescription const *pMemberDescr, void *pReturn, void *pArgs[], uno_Any **ppException)
 
void acquireProxy (uno_Interface *pUnoI)
 
void releaseProxy (uno_Interface *pUnoI)
 

Detailed Description

A uno proxy wrapping a cpp interface.

Definition at line 58 of file unointerfaceproxy.hxx.

Constructor & Destructor Documentation

bridges::cpp_uno::shared::UnoInterfaceProxy::UnoInterfaceProxy ( UnoInterfaceProxy const &  )
privatedelete

Referenced by create().

bridges::cpp_uno::shared::UnoInterfaceProxy::UnoInterfaceProxy ( Bridge pBridge_,
com::sun::star::uno::XInterface *  pCppI_,
typelib_InterfaceTypeDescription *  pTypeDescr_,
OUString const &  rOId_ 
)
private
bridges::cpp_uno::shared::UnoInterfaceProxy::~UnoInterfaceProxy ( )
private

Definition at line 120 of file unointerfaceproxy.cxx.

Member Function Documentation

UnoInterfaceProxy * bridges::cpp_uno::shared::UnoInterfaceProxy::create ( Bridge pBridge,
com::sun::star::uno::XInterface *  pCppI,
typelib_InterfaceTypeDescription *  pTypeDescr,
OUString const &  rOId 
)
static

Definition at line 84 of file unointerfaceproxy.cxx.

References UnoInterfaceProxy().

Referenced by bridges::cpp_uno::shared::cpp2unoMapping().

Bridge* bridges::cpp_uno::shared::UnoInterfaceProxy::getBridge ( )
inline

Definition at line 69 of file unointerfaceproxy.hxx.

References pBridge.

Referenced by cpp_call().

com::sun::star::uno::XInterface* bridges::cpp_uno::shared::UnoInterfaceProxy::getCppI ( )
inline

Definition at line 70 of file unointerfaceproxy.hxx.

References pCppI.

Referenced by cpp_call().

UnoInterfaceProxy& bridges::cpp_uno::shared::UnoInterfaceProxy::operator= ( const UnoInterfaceProxy )
privatedelete

Friends And Related Function Documentation

void acquireProxy ( uno_Interface *  pUnoI)
friend

Definition at line 51 of file unointerfaceproxy.cxx.

Referenced by UnoInterfaceProxy().

void freeUnoInterfaceProxy ( uno_ExtEnvironment *  pEnv,
void pProxy 
)
friend

Definition at line 30 of file unointerfaceproxy.cxx.

void releaseProxy ( uno_Interface *  pUnoI)
friend

Definition at line 72 of file unointerfaceproxy.cxx.

Referenced by UnoInterfaceProxy().

void unoInterfaceProxyDispatch ( uno_Interface *  pUnoI,
typelib_TypeDescription const *  pMemberDescr,
void pReturn,
void pArgs[],
uno_Any **  ppException 
)
friend

Referenced by UnoInterfaceProxy().

Member Data Documentation

std::atomic<std::size_t> bridges::cpp_uno::shared::UnoInterfaceProxy::nRef
private

Definition at line 83 of file unointerfaceproxy.hxx.

OUString bridges::cpp_uno::shared::UnoInterfaceProxy::oid
private
Bridge* bridges::cpp_uno::shared::UnoInterfaceProxy::pBridge
private
com::sun::star::uno::XInterface* bridges::cpp_uno::shared::UnoInterfaceProxy::pCppI
private
typelib_InterfaceTypeDescription* bridges::cpp_uno::shared::UnoInterfaceProxy::pTypeDescr
private

The documentation for this class was generated from the following files: