23#ifndef INCLUDED_UNO_MAPPING_HXX
24#define INCLUDED_UNO_MAPPING_HXX
64 static void * SAL_CALL
operator new (
size_t nSize )
65 { return ::rtl_allocateMemory( nSize ); }
66 static void SAL_CALL
operator delete (
void * pMem )
68 static void * SAL_CALL
operator new ( size_t,
void * pMem )
70 static void SAL_CALL
operator delete (
void *,
void * )
82 const ::rtl::OUString & rFrom, const ::rtl::OUString & rTo,
117#if defined LIBO_INTERNAL_ONLY
119 { other._pMapping =
nullptr; }
140#if defined LIBO_INTERNAL_ONLY
142 if (_pMapping !=
nullptr) {
143 (*_pMapping->release)(_pMapping);
145 _pMapping = other._pMapping;
146 other._pMapping =
nullptr;
156 {
return _pMapping; }
162 bool SAL_CALL
is()
const
163 {
return (_pMapping != NULL); }
167 inline void SAL_CALL
clear();
192 void * pInterface,
const css::uno::Type & rType )
const;
201 { (*_pMapping->mapInterface)( _pMapping, ppOut, pInterface, pTypeDescr ); }
217 inline void SAL_CALL
mapInterface(
void ** ppOut,
void * pInterface,
const css::uno::Type & rType )
const;
221 const ::rtl::OUString & rFrom, const ::rtl::OUString & rTo, const ::rtl::OUString & rAddPurpose )
242 : _pMapping( pMapping )
245 (*_pMapping->acquire)( _pMapping );
249 : _pMapping( rMapping._pMapping )
252 (*_pMapping->acquire)( _pMapping );
258 (*_pMapping->release)( _pMapping );
265 (*_pMapping->release)( _pMapping );
273 (*pMapping->acquire)( pMapping );
275 (*_pMapping->release)( _pMapping );
276 _pMapping = pMapping;
281 void ** ppOut,
void * pInterface,
const css::uno::Type & rType )
const
284 TYPELIB_DANGER_GET( &pTD, rType.getTypeLibType() );
288 TYPELIB_DANGER_RELEASE( pTD );
296 (*_pMapping->mapInterface)( _pMapping, &pOut, pInterface, pTypeDescr );
301 void * pInterface,
const css::uno::Type & rType )
const
328 return (0 != *ppRet);
350 return (NULL != *ppRet);
#define SAL_DEPRECATED(message)
Use as follows: SAL_DEPRECATED("Don't use, it's evil.") void doit(int nPara);.
Definition types.h:492
SAL_DLLPUBLIC void rtl_freeMemory(void *Ptr) SAL_THROW_EXTERN_C()
Free memory.
Provides simple diagnostic support.
struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescription typelib_TypeDescription
Full type description of a type.
struct SAL_DLLPUBLIC_RTTI _typelib_InterfaceTypeDescription typelib_InterfaceTypeDescription
Type description of an interface.
#define UNO_LB_UNO
Environment type name for binary C UNO.
Definition lbnames.h:49
struct SAL_DLLPUBLIC_RTTI _uno_Environment uno_Environment
The binary specification of a UNO environment.
struct SAL_DLLPUBLIC_RTTI _uno_Interface uno_Interface
The binary C uno interface description.
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.
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 ...
struct SAL_DLLPUBLIC_RTTI _uno_Mapping uno_Mapping
This is the binary specification of a mapping.
#define OSL_ASSERT(c)
If cond is false, reports an error.
Definition diagnose.h:84
bool mapToCpp(Reference< C > *ppRet, uno_Interface *pUnoI)
Deprecated.
Definition mapping.hxx:322
bool mapToUno(uno_Interface **ppRet, const Reference< C > &x)
Deprecated.
Definition mapping.hxx:344
css::uno::Type const & getTypeFavourUnsigned(SAL_UNUSED_PARAMETER T const *)
A working replacement for getCppuType (see there).
Definition unotype.hxx:324
This String class provides base functionality for C++ like Unicode character array handling.
Definition ustring.hxx:172
Full type description of a type.
Definition typedescription.h:76
Type description of an interface.
Definition typedescription.h:375
The binary C uno interface description.
Definition dispatcher.h:66
C++ wrapper for binary C uno_Environment.
Definition environment.hxx:50
uno_Environment * get() const
Provides UNacquired pointer to the set C environment.
Definition environment.hxx:135
C++ wrapper for C uno_Mapping.
Definition mapping.hxx:58
~Mapping()
Destructor.
Definition mapping.hxx:255
void * mapInterface(void *pInterface, typelib_InterfaceTypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition mapping.hxx:292
uno_Mapping * get() const
Provides a pointer to the C mapping.
Definition mapping.hxx:155
bool is() const
Tests if a mapping is set.
Definition mapping.hxx:162
void * mapInterface(void *pInterface, typelib_TypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition mapping.hxx:182
void mapInterface(void **ppOut, void *pInterface, typelib_TypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition mapping.hxx:208
void clear()
Releases a set mapping.
Definition mapping.hxx:261
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:220
Mapping & operator=(uno_Mapping *pMapping)
Sets a given mapping.
Definition mapping.hxx:270
void mapInterface(void **ppOut, void *pInterface, typelib_InterfaceTypeDescription *pTypeDescr) const
Maps an interface from one environment to another.
Definition mapping.hxx:200
Template reference class for interface type derived from BaseReference.
Definition Reference.h:184