22#include <typelib/typedescription.h>
23#include <uno/mapping.h>
24#include <uno/environment.hxx>
27#include <osl/interlck.h>
37 uno::Environment m_env;
39 explicit IdentityMapping(uno::Environment aEnv);
49 delete static_cast<IdentityMapping *
>(
pMapping);
54 static OUString s_purpose;
56 if (1 == osl_atomic_increment(&
static_cast<IdentityMapping *
>(
pMapping)->
m_nRef))
61 static_cast<IdentityMapping *
>(
pMapping)->m_env.get(),
62 static_cast<IdentityMapping *
>(
pMapping)->m_env.get(),
69 if (!osl_atomic_decrement(&
static_cast<IdentityMapping *
>(
pMapping )->
m_nRef))
76 SAL_UNUSED_PARAMETER typelib_InterfaceTypeDescription * )
82 IdentityMapping * that =
static_cast<IdentityMapping *
>(
pMapping);
84 (that->m_env.get()->pExtEnv->acquireInterface)(that->m_env.get()->pExtEnv, pInterface);
90IdentityMapping::IdentityMapping(uno::Environment aEnv)
92 m_env(
std::move(aEnv))
102 return new IdentityMapping(rEnv);
static void s_release(uno_Mapping *pMapping)
static void s_free(uno_Mapping *pMapping)
static void s_mapInterface(uno_Mapping *pMapping, void **ppOut, void *pInterface, SAL_UNUSED_PARAMETER typelib_InterfaceTypeDescription *)
uno_Mapping * createIdentityMapping(uno::Environment const &rEnv)
static void s_acquire(uno_Mapping *pMapping)
oslInterlockedCount m_nRef
void SAL_CALL uno_registerMapping(uno_Mapping **ppMapping, uno_freeMappingFunc freeMapping, uno_Environment *pFrom, uno_Environment *pTo, rtl_uString *pAddPurpose) SAL_THROW_EXTERN_C()
void SAL_CALL uno_revokeMapping(uno_Mapping *pMapping) SAL_THROW_EXTERN_C()
struct _uno_Mapping uno_Mapping