19 #ifndef INCLUDED_UNO_MAPPING_HXX
20 #define INCLUDED_UNO_MAPPING_HXX
56 inline static void * SAL_CALL
operator new (
size_t nSize )
58 inline static void SAL_CALL
operator delete (
void * pMem )
60 inline static void * SAL_CALL
operator new ( size_t,
void * pMem )
62 inline static void SAL_CALL
operator delete (
void *,
void * )
74 const ::rtl::OUString & rFrom, const ::rtl::OUString & rTo,
132 {
return _pMapping; }
138 inline bool SAL_CALL
is()
const
139 {
return (_pMapping != 0); }
143 inline void SAL_CALL
clear();
159 {
return mapInterface( pInterface, reinterpret_cast<typelib_InterfaceTypeDescription *>(pTypeDescr) ); }
168 void * pInterface, const ::com::sun::star::uno::Type & rType )
const;
177 { (*_pMapping->mapInterface)( _pMapping, ppOut, pInterface, pTypeDescr ); }
185 { (*_pMapping->mapInterface)( _pMapping, ppOut, pInterface, reinterpret_cast<typelib_InterfaceTypeDescription *>(pTypeDescr) ); }
193 inline void SAL_CALL
mapInterface(
void ** ppOut,
void * pInterface, const ::com::sun::star::uno::Type & rType )
const;
197 const ::rtl::OUString & rFrom, const ::rtl::OUString & rTo, const ::rtl::OUString & rAddPurpose )
218 : _pMapping( pMapping )
221 (*_pMapping->acquire)( _pMapping );
225 : _pMapping( rMapping._pMapping )
228 (*_pMapping->acquire)( _pMapping );
234 (*_pMapping->release)( _pMapping );
241 (*_pMapping->release)( _pMapping );
249 (*pMapping->acquire)( pMapping );
251 (*_pMapping->release)( _pMapping );
252 _pMapping = pMapping;
257 void ** ppOut,
void * pInterface, const ::com::sun::star::uno::Type & rType )
const
260 TYPELIB_DANGER_GET( &pTD, rType.getTypeLibType() );
263 (*_pMapping->mapInterface)( _pMapping, ppOut, pInterface, reinterpret_cast<typelib_InterfaceTypeDescription *>(pTD) );
264 TYPELIB_DANGER_RELEASE( pTD );
272 (*_pMapping->mapInterface)( _pMapping, &pOut, pInterface, pTypeDescr );
277 void * pInterface, const ::com::sun::star::uno::Type & rType )
const
305 return (0 != *ppRet);
328 return (0 != *ppRet);
void mapInterface(void **ppOut, void *pInterface, typelib_InterfaceTypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition: mapping.hxx:176
struct SAL_DLLPUBLIC_RTTI _uno_Interface uno_Interface
The binary C uno interface description.
C++ wrapper for C uno_Mapping.
Definition: mapping.hxx:49
#define UNO_LB_UNO
Environment type name for binary C UNO.
Definition: lbnames.h:45
SAL_DLLPUBLIC void rtl_freeMemory(void *Ptr) SAL_THROW_EXTERN_C()
Free memory.
void * mapInterface(void *pInterface, typelib_TypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition: mapping.hxx:158
Mapping & operator=(uno_Mapping *pMapping)
Sets a given mapping.
Definition: mapping.hxx:246
void * mapInterface(void *pInterface, typelib_InterfaceTypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition: mapping.hxx:268
struct SAL_DLLPUBLIC_RTTI _uno_Environment uno_Environment
The binary specification of an UNO environment.
~Mapping()
Destructor.
Definition: mapping.hxx:231
C++ wrapper for binary C uno_Environment.
Definition: environment.hxx:45
void clear()
Releases a set mapping.
Definition: mapping.hxx:237
uno_Environment * get() const
Provides UNacquired pointer to the set C environment.
Definition: environment.hxx:115
CPPU_DLLPUBLIC void uno_getMapping(struct _uno_Mapping **ppMapping, struct _uno_Environment *pFrom, struct _uno_Environment *pTo, rtl_uString *pAddPurpose) SAL_THROW_EXTERN_C()
Gets an interface mapping from one environment to another.
SAL_DLLPUBLIC void * rtl_allocateMemory(sal_Size Bytes) SAL_THROW_EXTERN_C()
Allocate memory.
struct SAL_DLLPUBLIC_RTTI _typelib_InterfaceTypeDescription typelib_InterfaceTypeDescription
Type description of an interface.
bool mapToUno(uno_Interface **ppRet, const Reference< C > &x)
Deprecated.
Definition: mapping.hxx:320
Type description of an interface.
Definition: typedescription.h:370
struct SAL_DLLPUBLIC_RTTI _uno_Mapping uno_Mapping
This is the binary specification of a mapping.
interface_type * get() const
Gets interface pointer.
Definition: Reference.h:410
void mapInterface(void **ppOut, void *pInterface, typelib_TypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition: mapping.hxx:184
Full type description of a type.
Definition: typedescription.h:71
struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescription typelib_TypeDescription
Full type description of a type.
CPPU_DLLPUBLIC void uno_getMappingByName(struct _uno_Mapping **ppMapping, rtl_uString *pFrom, rtl_uString *pTo, rtl_uString *pAddPurpose) SAL_THROW_EXTERN_C()
Gets an interface mapping from one language environment to another by corresponding environment type ...
Template reference class for interface type derived from BaseReference.
Definition: unotype.hxx:37
The binary C uno interface description.
Definition: dispatcher.h:61
#define OSL_ASSERT(c)
Definition: diagnose.h:99
This String class provides base functionality for C++ like Unicode character array handling...
Definition: ustring.hxx:104
bool mapToCpp(Reference< C > *ppRet, uno_Interface *pUnoI)
Deprecated.
Definition: mapping.hxx:297
bool is() const
Tests if a mapping is set.
Definition: mapping.hxx:138
::com::sun::star::uno::Type const & getTypeFavourUnsigned(SAL_UNUSED_PARAMETER T const *)
A working replacement for getCppuType (see there).
Definition: unotype.hxx:302
Mapping(const ::rtl::OUString &rFrom, const ::rtl::OUString &rTo, const ::rtl::OUString &rAddPurpose=::rtl::OUString())
Holds a mapping from the specified source to the specified destination by environment type names...
Definition: mapping.hxx:196