LibreOffice Module bridges (master) 1
|
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, typelib_TypeDescription const *pMemberDescr, void *pReturn, void **pArgs, uno_Any **ppException) |
void | unoInterfaceProxyDispatch (uno_Interface *pUnoI, const typelib_TypeDescription *pMemberDescr, void *pReturn, void *pArgs[], uno_Any **ppException) |
static sal_uInt32 | imageRelative (void const *p) |
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 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 52 of file unointerfaceproxy.cxx.
void bridges::cpp_uno::shared::cpp2unoMapping | ( | uno_Mapping * | pMapping, |
void ** | ppUnoI, | ||
void * | pCppI, | ||
typelib_InterfaceTypeDescription * | pTypeDescr | ||
) |
Definition at line 51 of file bridge.cxx.
void bridges::cpp_uno::shared::freeCppInterfaceProxy | ( | uno_ExtEnvironment * | pEnv, |
void * | pInterface | ||
) |
Definition at line 35 of file cppinterfaceproxy.cxx.
void bridges::cpp_uno::shared::freeMapping | ( | uno_Mapping * | pMapping | ) |
Definition at line 36 of file bridge.cxx.
Referenced by uno_ext_getMapping().
void bridges::cpp_uno::shared::freeUnoInterfaceProxy | ( | uno_ExtEnvironment * | pEnv, |
void * | pProxy | ||
) |
Definition at line 31 of file unointerfaceproxy.cxx.
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.
References type.
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, type, 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.
|
static |
Definition at line 364 of file msvc_win32_arm64/cpp2uno.cxx.
References __ImageBase, and p.
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 cpp2uno_call(), cpp_call(), arm::is_complex_struct(), hppa::is_complex_struct(), ia64::is_complex_struct(), CPPU_CURRENT_NAMESPACE::is_complex_struct(), hppa::isRegisterReturn(), x86::isSimpleReturnType(), isSimpleType(), arm::return_in_hidden_param(), ia64::return_in_hidden_param(), CPPU_CURRENT_NAMESPACE::return_in_hidden_param(), and ppc64::return_in_hidden_param().
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(), and type.
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(), and type.
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.
References i, p, relatesToInterfaceType(), t, and type.
Referenced by cpp2uno_call(), cpp_call(), and relatesToInterfaceType().
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 73 of file unointerfaceproxy.cxx.
void bridges::cpp_uno::shared::uno2cppMapping | ( | uno_Mapping * | pMapping, |
void ** | ppCppI, | ||
void * | pUnoI, | ||
typelib_InterfaceTypeDescription * | pTypeDescr | ||
) |
Definition at line 97 of file bridge.cxx.
void bridges::cpp_uno::shared::unoInterfaceProxyDispatch | ( | uno_Interface * | pUnoI, |
const typelib_TypeDescription * | pMemberDescr, | ||
void * | pReturn, | ||
void * | pArgs[], | ||
uno_Any ** | ppException | ||
) |
Definition at line 407 of file gcc3_linux_alpha/uno2cpp.cxx.
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 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().