LibreOffice
LibreOffice 4.1 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros
implbase.hxx File Reference
#include <osl/mutex.hxx>
#include <cppuhelper/weak.hxx>
#include <cppuhelper/weakagg.hxx>
#include <rtl/instance.hxx>
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include "cppuhelperdllapi.h"

Go to the source code of this file.

Macros

#define CPPUHELPER_DETAIL_IMPLHELPER_PROTECTED   protected
 
#define __DEF_IMPLHELPER_PRE(N)
 
#define __IFC_WRITEOFFSET(N)
 
#define __DEF_IMPLHELPER_POST_A(N)
 
#define __DEF_IMPLHELPER_POST_B(N)
 
#define __DEF_IMPLHELPER_POST_C(N)   }
 
#define __DEF_IMPLHELPER_POST(N)
 

Macro Definition Documentation

#define __DEF_IMPLHELPER_POST (   N)
Value:
__DEF_IMPLHELPER_POST_B( N ) \
__DEF_IMPLHELPER_POST_C( N )
#define __DEF_IMPLHELPER_POST_A (   N)
#define __DEF_IMPLHELPER_POST_B (   N)
Value:
template< __CLASS_IFC##N > \
ClassData##N ImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 0 ); \
template< __CLASS_IFC##N > \
ClassData##N WeakImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 1 ); \
template< __CLASS_IFC##N > \
ClassData##N WeakAggImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 2 );
#define __DEF_IMPLHELPER_POST_C (   N)    }
#define __DEF_IMPLHELPER_PRE (   N)
Value:
namespace cppu \
{ \
struct ClassData##N : public ClassDataBase \
{ \
Type_Offset arType2Offset[ N ]; \
ClassData##N( sal_Int32 nInClassCode ) SAL_THROW(()) \
: ClassDataBase( nInClassCode ) \
{} \
}; \
template< __CLASS_IFC##N > \
class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplHelperBase##N \
: public ::com::sun::star::lang::XTypeProvider \
, __PUBLIC_IFC##N \
{ \
CPPUHELPER_DETAIL_IMPLHELPER_PROTECTED: \
~ImplHelperBase##N() throw () {} \
protected: \
ClassData & SAL_CALL getClassData( ClassDataBase & s_aCD ) SAL_THROW(()) \
{ \
ClassData & rCD = * static_cast< ClassData * >( &s_aCD ); \
if (! rCD.bOffsetsInit) \
{ \
::osl::MutexGuard aGuard( getImplHelperInitMutex() ); \
if (! rCD.bOffsetsInit) \
{ \
char * pBase = (char *)this;
#define __IFC_WRITEOFFSET (   N)
Value:
rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< Ifc##N > *)0 ), \
(char *)(Ifc##N *)this - pBase );
#define CPPUHELPER_DETAIL_IMPLHELPER_PROTECTED   protected