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

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

#include <cppinterfaceproxy.hxx>

Collaboration diagram for bridges::cpp_uno::shared::CppInterfaceProxy:
[legend]

Public Member Functions

BridgegetBridge ()
 
uno_Interface * getUnoI ()
 
typelib_InterfaceTypeDescription * getTypeDescr ()
 
const OUString & getOid () const
 
void acquireProxy ()
 
void releaseProxy ()
 

Static Public Member Functions

static com::sun::star::uno::XInterface * create (Bridge *pBridge, uno_Interface *pUnoI, typelib_InterfaceTypeDescription *pTypeDescr, OUString const &rOId)
 
static CppInterfaceProxycastInterfaceToProxy (void *pInterface)
 

Private Member Functions

 CppInterfaceProxy (CppInterfaceProxy const &)=delete
 
CppInterfaceProxyoperator= (const CppInterfaceProxy &)=delete
 
 CppInterfaceProxy (Bridge *pBridge_, uno_Interface *pUnoI_, typelib_InterfaceTypeDescription *pTypeDescr_, OUString aOId_)
 
 ~CppInterfaceProxy ()
 

Static Private Member Functions

static com::sun::star::uno::XInterface * castProxyToInterface (CppInterfaceProxy *pProxy)
 

Private Attributes

std::atomic< std::size_t > nRef
 
BridgepBridge
 
uno_Interface * pUnoI
 
typelib_InterfaceTypeDescription * pTypeDescr
 
OUString oid
 
VtableFactory::Slotvtables [1] = {}
 

Friends

void freeCppInterfaceProxy (uno_ExtEnvironment *pEnv, void *pInterface)
 

Detailed Description

A cpp proxy wrapping a uno interface.

Definition at line 46 of file cppinterfaceproxy.hxx.

Constructor & Destructor Documentation

◆ CppInterfaceProxy() [1/2]

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

Referenced by create().

◆ CppInterfaceProxy() [2/2]

bridges::cpp_uno::shared::CppInterfaceProxy::CppInterfaceProxy ( Bridge pBridge_,
uno_Interface *  pUnoI_,
typelib_InterfaceTypeDescription *  pTypeDescr_,
OUString  aOId_ 
)
private

◆ ~CppInterfaceProxy()

bridges::cpp_uno::shared::CppInterfaceProxy::~CppInterfaceProxy ( )
private

Definition at line 122 of file cppinterfaceproxy.cxx.

Member Function Documentation

◆ acquireProxy()

void bridges::cpp_uno::shared::CppInterfaceProxy::acquireProxy ( )

◆ castInterfaceToProxy()

CppInterfaceProxy * bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy ( void *  pInterface)
static

Definition at line 132 of file cppinterfaceproxy.cxx.

References base, and vtables.

Referenced by cpp_mediate(), cpp_vtable_call(), and vtableCall().

◆ castProxyToInterface()

com::sun::star::uno::XInterface * bridges::cpp_uno::shared::CppInterfaceProxy::castProxyToInterface ( CppInterfaceProxy pProxy)
staticprivate

Definition at line 125 of file cppinterfaceproxy.cxx.

References vtables.

Referenced by acquireProxy(), create(), and releaseProxy().

◆ create()

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

◆ getBridge()

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

Definition at line 57 of file cppinterfaceproxy.hxx.

References pBridge.

Referenced by cpp2uno_call(), cpp_mediate(), cpp_vtable_call(), and vtableCall().

◆ getOid()

const OUString & bridges::cpp_uno::shared::CppInterfaceProxy::getOid ( ) const
inline

Definition at line 60 of file cppinterfaceproxy.hxx.

References oid.

Referenced by cpp_mediate(), cpp_vtable_call(), and vtableCall().

◆ getTypeDescr()

typelib_InterfaceTypeDescription * bridges::cpp_uno::shared::CppInterfaceProxy::getTypeDescr ( )
inline

Definition at line 59 of file cppinterfaceproxy.hxx.

References pTypeDescr.

Referenced by cpp_mediate(), cpp_vtable_call(), and vtableCall().

◆ getUnoI()

uno_Interface * bridges::cpp_uno::shared::CppInterfaceProxy::getUnoI ( )
inline

Definition at line 58 of file cppinterfaceproxy.hxx.

References pUnoI.

Referenced by cpp2uno_call().

◆ operator=()

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

◆ releaseProxy()

void bridges::cpp_uno::shared::CppInterfaceProxy::releaseProxy ( )

Friends And Related Function Documentation

◆ freeCppInterfaceProxy

void freeCppInterfaceProxy ( uno_ExtEnvironment *  pEnv,
void *  pInterface 
)
friend

Definition at line 35 of file cppinterfaceproxy.cxx.

Referenced by acquireProxy().

Member Data Documentation

◆ nRef

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

Definition at line 82 of file cppinterfaceproxy.hxx.

Referenced by acquireProxy(), and releaseProxy().

◆ oid

OUString bridges::cpp_uno::shared::CppInterfaceProxy::oid
private

Definition at line 88 of file cppinterfaceproxy.hxx.

Referenced by acquireProxy(), CppInterfaceProxy(), and getOid().

◆ pBridge

Bridge* bridges::cpp_uno::shared::CppInterfaceProxy::pBridge
private

◆ pTypeDescr

typelib_InterfaceTypeDescription* bridges::cpp_uno::shared::CppInterfaceProxy::pTypeDescr
private

Definition at line 87 of file cppinterfaceproxy.hxx.

Referenced by acquireProxy(), CppInterfaceProxy(), create(), and getTypeDescr().

◆ pUnoI

uno_Interface* bridges::cpp_uno::shared::CppInterfaceProxy::pUnoI
private

Definition at line 86 of file cppinterfaceproxy.hxx.

Referenced by CppInterfaceProxy(), create(), and getUnoI().

◆ vtables

VtableFactory::Slot* bridges::cpp_uno::shared::CppInterfaceProxy::vtables[1] = {}
private

Definition at line 90 of file cppinterfaceproxy.hxx.

Referenced by castInterfaceToProxy(), castProxyToInterface(), and create().


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