LibreOffice Module bridges (master)
1
|
Namespaces | |
bridges | |
Classes | |
class | Bridge |
Holding environments and mappings. More... | |
class | CppInterfaceProxy |
A cpp proxy wrapping a uno interface. More... | |
class | UnoInterfaceProxy |
A uno proxy wrapping a cpp interface. More... | |
class | VtableFactory |
Hand out vtable structures for interface type descriptions. More... | |
struct | VtableSlot |
Represents a vtable slot of a C++ class. More... | |
Functions | |
void | unoInterfaceProxyDispatch (uno_Interface *pUnoI, const typelib_TypeDescription *pMemberDescr, void *pReturn, void *pArgs[], uno_Any **ppException) |
void | unoInterfaceProxyDispatch (uno_Interface *pUnoI, typelib_TypeDescription const *pMemberDescr, void *pReturn, void **pArgs, uno_Any **ppException) |
void | freeMapping (uno_Mapping *pMapping) |
void | acquireMapping (uno_Mapping *pMapping) |
void | releaseMapping (uno_Mapping *pMapping) |
void | cpp2unoMapping (uno_Mapping *pMapping, void **ppUnoI, void *pCppI, typelib_InterfaceTypeDescription *pTypeDescr) |
void | uno2cppMapping (uno_Mapping *pMapping, void **ppCppI, void *pUnoI, typelib_InterfaceTypeDescription *pTypeDescr) |
void | freeCppInterfaceProxy (uno_ExtEnvironment *pEnv, void *pInterface) |
bool | isSimpleType (typelib_TypeClass typeClass) |
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, CHAR, or an enum type). More... | |
bool | isSimpleType (typelib_TypeDescriptionReference const *type) |
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, CHAR, or an enum type). More... | |
bool | isSimpleType (typelib_TypeDescription const *type) |
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, CHAR, or an enum type). More... | |
bool | relatesToInterfaceType (typelib_TypeDescription const *type) |
Determines whether a type relates to an interface type (is itself an interface type, or might contain entities of interface type). More... | |
void | freeUnoInterfaceProxy (uno_ExtEnvironment *pEnv, void *pProxy) |
void | acquireProxy (uno_Interface *pUnoI) |
void | releaseProxy (uno_Interface *pUnoI) |
sal_Int32 | getLocalFunctions (typelib_InterfaceTypeDescription const *type) |
Calculate the number of local functions of an interface type. More... | |
sal_Int32 | getPrimaryFunctions (typelib_InterfaceTypeDescription *type) |
Calculate the number of primary functions of an interface type. More... | |
VtableSlot | getVtableSlot (typelib_InterfaceAttributeTypeDescription const *ifcMember) |
Calculates the vtable slot associated with an interface attribute member. More... | |
VtableSlot | getVtableSlot (typelib_InterfaceMethodTypeDescription const *ifcMember) |
Calculates the vtable slot associated with an interface method member. More... | |
void | unoInterfaceProxyDispatch (uno_Interface *pUnoI, typelib_TypeDescription const *pMemberDescr, void *pReturn, void *pArgs[], uno_Any **ppException) |
void bridges::cpp_uno::shared::acquireMapping | ( | uno_Mapping * | pMapping | ) |
Definition at line 41 of file bridge.cxx.
void bridges::cpp_uno::shared::acquireProxy | ( | uno_Interface * | pUnoI | ) |
Definition at line 51 of file unointerfaceproxy.cxx.
References assert(), freeUnoInterfaceProxy(), and nRef.
void bridges::cpp_uno::shared::cpp2unoMapping | ( | uno_Mapping * | pMapping, |
void ** | ppUnoI, | ||
void * | pCppI, | ||
typelib_InterfaceTypeDescription * | pTypeDescr | ||
) |
Definition at line 51 of file bridge.cxx.
References assert(), bridges::cpp_uno::shared::UnoInterfaceProxy::create(), freeUnoInterfaceProxy(), bridges::cpp_uno::shared::Bridge::pCppEnv, and bridges::cpp_uno::shared::Bridge::pUnoEnv.
void bridges::cpp_uno::shared::freeCppInterfaceProxy | ( | uno_ExtEnvironment * | pEnv, |
void * | pInterface | ||
) |
Definition at line 34 of file cppinterfaceproxy.cxx.
References assert(), bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(), bridges::cpp_uno::shared::Bridge::getCppEnv(), bridges::cpp_uno::shared::Bridge::getUnoEnv(), bridges::cpp_uno::shared::CppInterfaceProxy::pBridge, bridges::cpp_uno::shared::CppInterfaceProxy::pTypeDescr, bridges::cpp_uno::shared::CppInterfaceProxy::pUnoI, bridges::cpp_uno::shared::Bridge::release(), and bridges::cpp_uno::shared::CppInterfaceProxy::~CppInterfaceProxy().
Referenced by uno2cppMapping().
void bridges::cpp_uno::shared::freeMapping | ( | uno_Mapping * | pMapping | ) |
Definition at line 36 of file bridge.cxx.
Referenced by uno_ext_getMapping().
Definition at line 30 of file unointerfaceproxy.cxx.
References assert(), bridges::cpp_uno::shared::Bridge::getCppEnv(), bridges::cpp_uno::shared::Bridge::getUnoEnv(), bridges::cpp_uno::shared::UnoInterfaceProxy::pBridge, bridges::cpp_uno::shared::UnoInterfaceProxy::pCppI, bridges::cpp_uno::shared::UnoInterfaceProxy::pTypeDescr, and bridges::cpp_uno::shared::Bridge::release().
Referenced by acquireProxy(), and cpp2unoMapping().
sal_Int32 bridges::cpp_uno::shared::getLocalFunctions | ( | typelib_InterfaceTypeDescription const * | type | ) |
Calculate the number of local functions of an interface type.
Local functions are those not inherited from any base types. The number of functions is potentially larger than the number of members, as each read–write attribute member counts as two functions.
type | a non-null pointer to an interface type description, for which typelib_typedescription_complete must already have been executed |
Definition at line 114 of file vtables.cxx.
Referenced by bridges::cpp_uno::shared::VtableFactory::BaseOffset::calculate(), bridges::cpp_uno::shared::VtableFactory::createVtables(), and getPrimaryFunctions().
sal_Int32 bridges::cpp_uno::shared::getPrimaryFunctions | ( | typelib_InterfaceTypeDescription * | type | ) |
Calculate the number of primary functions of an interface type.
The number of primary functions of an interface is the number of local functions of that interface (see getLocalFunctions
), plus the number of primary functions of that interface's first base type (if it has at least one base type).
type | a pointer to an interface type description; may be null |
Definition at line 122 of file vtables.cxx.
References getLocalFunctions(), n, and typelib_typedescription_complete().
Referenced by bridges::cpp_uno::shared::VtableFactory::createVtables().
VtableSlot bridges::cpp_uno::shared::getVtableSlot | ( | typelib_InterfaceAttributeTypeDescription const * | ifcMember | ) |
Calculates the vtable slot associated with an interface attribute member.
ifcMember | a non-null pointer to an interface attribute member description |
Definition at line 132 of file vtables.cxx.
Referenced by unoInterfaceProxyDispatch().
VtableSlot bridges::cpp_uno::shared::getVtableSlot | ( | typelib_InterfaceMethodTypeDescription const * | ifcMember | ) |
Calculates the vtable slot associated with an interface method member.
ifcMember | a non-null pointer to an interface method member description |
Definition at line 138 of file vtables.cxx.
bool bridges::cpp_uno::shared::isSimpleType | ( | typelib_TypeClass | typeClass | ) |
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, CHAR, or an enum type).
typeClass | a type class |
Definition at line 28 of file types.cxx.
Referenced by bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(), cpp2uno_call(), cpp_call(), CPPU_CURRENT_NAMESPACE::is_complex_struct(), ia64::is_complex_struct(), arm::is_complex_struct(), hppa::is_complex_struct(), hppa::isRegisterReturn(), x86::isSimpleReturnType(), isSimpleType(), CPPU_CURRENT_NAMESPACE::return_in_hidden_param(), ppc64::return_in_hidden_param(), ia64::return_in_hidden_param(), and arm::return_in_hidden_param().
bool bridges::cpp_uno::shared::isSimpleType | ( | typelib_TypeDescriptionReference const * | type | ) |
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, CHAR, or an enum type).
type | a non-null pointer to a type description reference |
Definition at line 33 of file types.cxx.
References isSimpleType().
bool bridges::cpp_uno::shared::isSimpleType | ( | typelib_TypeDescription const * | type | ) |
Determines whether a type is a "simple" type (VOID, BOOLEAN, BYTE, SHORT, UNSIGNED SHORT, LONG, UNSIGNED LONG, HYPER, UNSIGNED HYPER, FLOAT, DOUBLE, CHAR, or an enum type).
type | a non-null pointer to a type description |
Definition at line 37 of file types.cxx.
References isSimpleType().
bool bridges::cpp_uno::shared::relatesToInterfaceType | ( | typelib_TypeDescription const * | type | ) |
Determines whether a type relates to an interface type (is itself an interface type, or might contain entities of interface type).
type | a non-null pointer to a type description |
Definition at line 41 of file types.cxx.
Referenced by cpp2uno_call(), and cpp_call().
void bridges::cpp_uno::shared::releaseMapping | ( | uno_Mapping * | pMapping | ) |
Definition at line 46 of file bridge.cxx.
void bridges::cpp_uno::shared::releaseProxy | ( | uno_Interface * | pUnoI | ) |
Definition at line 72 of file unointerfaceproxy.cxx.
References nRef.
void bridges::cpp_uno::shared::uno2cppMapping | ( | uno_Mapping * | pMapping, |
void ** | ppCppI, | ||
void * | pUnoI, | ||
typelib_InterfaceTypeDescription * | pTypeDescr | ||
) |
Definition at line 97 of file bridge.cxx.
References assert(), bridges::cpp_uno::shared::CppInterfaceProxy::create(), freeCppInterfaceProxy(), bridges::cpp_uno::shared::Bridge::pCppEnv, and bridges::cpp_uno::shared::Bridge::pUnoEnv.
void bridges::cpp_uno::shared::unoInterfaceProxyDispatch | ( | uno_Interface * | pUnoI, |
typelib_TypeDescription const * | pMemberDescr, | ||
void * | pReturn, | ||
void * | pArgs[], | ||
uno_Any ** | ppException | ||
) |
void bridges::cpp_uno::shared::unoInterfaceProxyDispatch | ( | uno_Interface * | pUnoI, |
const typelib_TypeDescription * | pMemberDescr, | ||
void * | pReturn, | ||
void * | pArgs[], | ||
uno_Any ** | ppException | ||
) |
Definition at line 376 of file gcc3_aix_powerpc/uno2cpp.cxx.
References cpp_call(), bridges::cpp_uno::shared::Bridge::getUnoEnv(), getVtableSlot(), bridges::cpp_uno::shared::VtableSlot::index, bridges::cpp_uno::shared::UnoInterfaceProxy::oid, bridges::cpp_uno::shared::UnoInterfaceProxy::pBridge, sal_False, sal_True, typelib_typedescriptionreference_new(), and typelib_typedescriptionreference_release().
void bridges::cpp_uno::shared::unoInterfaceProxyDispatch | ( | uno_Interface * | pUnoI, |
typelib_TypeDescription const * | pMemberDescr, | ||
void * | pReturn, | ||
void ** | pArgs, | ||
uno_Any ** | ppException | ||
) |
Definition at line 432 of file gcc3_linux_aarch64/uno2cpp.cxx.
References assert(), bridges::cpp_uno::shared::Bridge::getUnoEnv(), getVtableSlot(), bridges::cpp_uno::shared::VtableSlot::index, bridges::cpp_uno::shared::UnoInterfaceProxy::oid, bridges::cpp_uno::shared::UnoInterfaceProxy::pBridge, pData, typelib_typedescriptionreference_new(), typelib_typedescriptionreference_release(), and uno_any_construct().