Overview | Namespace | Class | Index | Help |
DEFINES | MACROS |
Defined As | "component_canUnload" |
In File | unload.h |
component_canUnload
.
If the function returns sal_True
then the module can be safely unloaded.
That is the case when there are no external references to code within the
library. In case a module houses UNO components then the function must return
sal_False
after the first factory has been handed out. The function then
continues to return sal_False
as long as there is at least one object (factory
or service instance) which originated from the module.
Libraries which not only contain UNO components (or none at all) have to provide a means to control whether they can be unloaded or not, e.g. However, there is no concept yet.
The argument pTime
is an optional out-parameter. If the return value is
sal_True
then pTime
reflects a point in time since
when the module could have
been unloaded. Since that time the function would have continually returned
sal_True
up to the present. The value of pTime
is
important for the decision
as to a module will be unloaded. When someone initiates the unloading of
modules by calling rtl_unloadUnusedModules
then the caller can specify a time
span with the effect that only those modules are unloaded which are unused at
least for that amount of time. If component_canUnload
does not
fill in pTime
then the module is unloaded immediately.
component_canUnload
is implicitly called by rtl_unloadUnusedModules
. There is no need to call the function directly.
Defined As | CPPU_STRINGIFY( CPPU_ENV ) |
In File | lbnames.h |
Name for C++ compiler/ platform, e.g. "gcc3", "msci"
Defined As | CPPU_ENV |
In File | macros.hxx |
Defined As | SAL_EXCEPTION_DLLPUBLIC_EXPORT |
In File | macros.hxx |
Defined As | \ INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX |
In File | propertysetmixin.hxx |
Defined As | \ { {rtl_moduleCount_acquire,rtl_moduleCount_release}, rtl_moduleCount_canUnload, 0, {0, 0}} |
In File | unload.h |
Defined As | ((sal_uInt32)(0x1)) |
In File | file.h |
Defined As | ((sal_uInt32)(0x2)) |
In File | file.h |
Defined As | OSL_THIS_FILE ":" OSL_THIS_FUNC ":" OSL_MACRO_VALUE_TO_STRING( __LINE__ ) "; " |
In File | diagnose.h |
Defined As | 0x0001 /* create pipe and open it, fails if already existst */ |
In File | pipe.h |
Defined As | (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_MAPTOPRIVATE |\ RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_DEFAULT |\ RTL_TEXTTOUNICODE_FLAGS_INVALID_DEFAULT) |
In File | ustring.h |
Defined As | (RTL_UNICODETOTEXT_FLAGS_UNDEFINED_DEFAULT |\ RTL_UNICODETOTEXT_FLAGS_INVALID_DEFAULT |\ RTL_UNICODETOTEXT_FLAGS_UNDEFINED_REPLACE |\ RTL_UNICODETOTEXT_FLAGS_PRIVATE_MAPTO0 |\ RTL_UNICODETOTEXT_FLAGS_NOCOMPOSITE) |
In File | string.h |
Defined As | SAL_CALL |
In File | regtype.h |
Defined As | 0x0001 |
In File | regtype.h |
Defined As | 0x0002 |
In File | regtype.h |
Defined As | {\ 0x6b,0xa7,0xb8,0x10,\ 0x9d,0xad,\ 0x11,0xd1,\ 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\ } |
In File | uuid.h |
(Use them the following way : sal_uInt8 aNsDNS[16]) = RTL_UUID_NAMESPACE_DNS;
6ba7b810-9dad-11d1-80b4-00c04fd430c8
Defined As | {\ 0x6b, 0xa7, 0xb8, 0x12,\ 0x9d, 0xad,\ 0x11, 0xd1,\ 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\ } |
In File | uuid.h |
6ba7b812-9dad-11d1-80b4-00c04fd430c8
Defined As | { \ 0x6b, 0xa7, 0xb8, 0x11,\ 0x9d, 0xad,\ 0x11, 0xd1,\ 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\ } |
In File | uuid.h |
6ba7b811-9dad-11d1-80b4-00c04fd430c8
Defined As | {\ 0x6b, 0xa7, 0xb8, 0x14,\ 0x9d, 0xad,\ 0x11, 0xd1,\ 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8\ } |
In File | uuid.h |
6ba7b814-9dad-11d1-80b4-00c04fd430c8
Defined As | 0x0200 |
In File | types.h |
Defined As | 0x0800 |
In File | types.h |
Defined As | 0x0010 |
In File | types.h |
Defined As | 0x0040 |
In File | types.h |
Defined As | 0x0080 |
In File | types.h |
Defined As | 0x0004 |
In File | types.h |
Defined As | 0x0002 |
In File | types.h |
Defined As | 0x4000 |
In File | types.h |
Defined As | 0x8000 |
In File | types.h |
Defined As | 0x0001 |
In File | types.h |
Defined As | 0x1000 |
In File | types.h |
Defined As | 0x0100 |
In File | types.h |
Defined As | 0x0020 |
In File | types.h |
Defined As | SAL_DLLPUBLIC_EXPORT |
In File | types.h |
Exporting the symbols necessary for exception handling on GCC.
These macros are used for inline declarations of exception classes, as in rtl/malformeduriexception.hxx.
Defined As | \ int SAL_CALL main(int argc, char ** argv) \ { \ int ret; \ sal_detail_initialize(argc, argv); \ ret = sal_main(); \ sal_detail_deinitialize(); \ return ret; \ } |
In File | main.h |
Defined As | \ int SAL_CALL main(int argc, char ** argv) \ { \ int ret; \ sal_detail_initialize(argc, argv); \ ret = sal_main_with_args(argc, argv); \ sal_detail_deinitialize(); \ return ret; \ } |
In File | main.h |
Defined As | \ int WINAPI WinMain( HINSTANCE _hinst, HINSTANCE _dummy, char* _cmdline, int _nshow ) \ { \ int argc = __argc; char ** argv = __argv; \ (void) _hinst; (void) _dummy; (void) _cmdline; (void) _nshow; /* unused */ \ return main(argc, argv); \ } |
In File | main.h |
Defined As | ((sal_uInt32)0x10000000) |
In File | types.h |
Defined As | ((sal_uInt16)0x0400) |
In File | types.h |
Defined As | 256 |
In File | types.h |
Defined As | ((sal_uInt16)0x0200) |
In File | types.h |
Defined As | SAL_CALL |
In File | refltype.hxx |
Defined As | "uno_initEnvironment" |
In File | environment.h |
Function exported by some bridge library providing acquireInterface(), releaseInterface(); may set a disposing callback.
pEnv | environment to be initialized |
Defined As | osl_VolumeInfo_Mask_FileSystemCaseHandling |
In File | file.hxx |
Defined As | __attribute__ ((aligned (__alignof__ (base_struct)))) |
In File | macros.hxx |
Defined As | (*interface_pointer) |
In File | cuno.h |
macro to call on a C interface
interface_pointer | interface pointer |
Defined As | /* empty */ |
In File | doublecheckedlocking.h |
Defined As | ((sal_Int32)(sizeof(constAsciiStr)-1)) |
In File | string.h |
constAsciiStr | must be an expression of type "(possibly cv-qualified reference to) array of (possibly cv-qualified) char." Each element of the referenced array must represent an ASCII value in the range 0x00--0x7F. The last element of the referenced array is not considered part of the represented ASCII string, and its value should be 0x00. Depending on where this macro is used, the nature of the supplied expression might be further restricted. |
Defined As | constAsciiStr, ((sal_Int32)sizeof(constAsciiStr)-1) |
In File | string.h |
constAsciiStr | must be an expression of type "(possibly cv-qualified reference to) array of (possibly cv-qualified) char." Each element of the referenced array must represent an ASCII value in the range 0x00--0x7F. The last element of the referenced array is not considered part of the represented ASCII string, and its value should be 0x00. Depending on where this macro is used, the nature of the supplied expression might be further restricted. |
Defined As | constAsciiStr, ((sal_Int32)(sizeof(constAsciiStr)-1)), RTL_TEXTENCODING_ASCII_US |
In File | ustring.h |
constAsciiStr | must be an expression of type "(possibly cv-qualified reference to) array of (possibly cv-qualified) char." Each element of the referenced array must represent an ASCII value in the range 0x00--0x7F. The last element of the referenced array is not considered part of the represented ASCII string, and its value should be 0x00. Depending on where this macro is used, the nature of the supplied expression might be further restricted. |
Defined As | ((void)0) |
In File | logfile.hxx |
Defined As | ::rtl::Logfile instance(project, author, name ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| %s : %s\n", \ instance.getName(), \ message ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| %s : ", \ instance.getName() ); \ rtl_logfile_trace( frmt , arg1 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| %s : ", \ instance.getName() ); \ rtl_logfile_trace( frmt , arg1 , arg2 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.hxx |
Defined As | ((void)0) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| %s : ", \ instance.getName() ); \ rtl_logfile_trace( frmt , arg1 , arg2 , arg3 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.hxx |
Defined As | \ ::rtl::Logfile instance( name ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| %s : ", \ instance.getName() ); \ rtl_logfile_trace( frmt, arg1 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| : %s\n", string ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| : " ); \ rtl_logfile_trace( frmt, arg1 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.hxx |
Defined As | \ rtl_logfile_longTrace( "| : %s\n", string ) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| %s (%s) : %s\n", \ project,\ author,\ string ) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| %s (%s) : ", \ project,\ author );\ rtl_logfile_trace( frmt, arg1 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.h |
Defined As | ((void)0) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| %s (%s) : ", \ project,\ author ); \ rtl_logfile_trace( frmt, arg1 , arg2 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.h |
Defined As | ((void)0) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| %s (%s) : ", \ project,\ author ); \ rtl_logfile_trace( frmt, arg1 , arg2 , arg3 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| : " ); \ rtl_logfile_trace( frmt, arg1 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| : " ); \ rtl_logfile_trace( frmt, arg1 , arg2 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.h |
Defined As | \ rtl_logfile_longTrace( "| : " ); \ rtl_logfile_trace( frmt, arg1 , arg2 , arg3 ); \ rtl_logfile_trace( "\n" ) |
In File | logfile.h |
Defined As | (const_cast< type >(expr)) |
In File | types.h |
Wrap C++ const_cast, reinterpret_cast and static_cast expressions in macros to keep code portable to old compilers (since most compilers still lack RTTI support, dynamic_cast is not included here).
Defined As | \ static int SAL_CALL sal_main(void); \ SAL_MAIN_IMPL \ SAL_WIN_WinMain \ static int SAL_CALL sal_main(void) |
In File | main.h |
Defined As | \ static int SAL_CALL sal_main_with_args (int _argc_, char ** _argv_); \ SAL_MAIN_WITH_ARGS_IMPL \ SAL_WIN_WinMain \ static int SAL_CALL sal_main_with_args(int _argc_, char ** _argv_) |
In File | main.h |
Defined As | ((type) (expr)) |
In File | types.h |
A cast between integer types, to avoid C compiler warnings.
In C source code, use SAL_INT_CAST(type, expr) instead of ((type) (expr)) whenever a compiler warning about integer type problems shall be silenced. That way, source code that needs to be modified when the type of any of the expressions involved in the compiler warning is changed can be found more easily. The argument 'type' must be an integer type and the argument 'expr' must be an integer expression. Both arguments are evaluated exactly once.
Defined As | \ ((sizeof (x) == sizeof (float)) ? __isfinitef(x) \ : (sizeof (x) == sizeof (double)) ? __isfinite(x) \ : __isfinitel(x)) |
In File | mathconf.h |
Defined As | SAL_DLLPREFIX name SAL_DLLEXTENSION "." version |
In File | module.h |
Defined As | SAL_DLLPREFIX name ".dylib." version |
In File | module.h |
Defined As | name version SAL_DLLEXTENSION |
In File | module.h |
Defined As | |
In File | types.h |
Definition of function throw clause macros. These have been introduced to reduce code size by balancing out compiler bugs.
These macros are ONLY for function declarations, use common C++ throw statement for throwing exceptions, e.g. throw RuntimeException(); SAL_THROW() should be used for all C++ functions, e.g. SAL_THROW( () ) SAL_THROW_EXTERN_C() should be used for all C functions
Defined As | \ { \ typelib_TypeDescriptionReference * pMacroTypeRef = (pTypeRef); \ typelib_TypeDescription ** ppMacroTypeDescr = (ppDescription); \ if (TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( pMacroTypeRef->eTypeClass )) \ { \ typelib_typedescriptionreference_getDescription( ppMacroTypeDescr, pMacroTypeRef ); \ } \ else if (!pMacroTypeRef->pType || !pMacroTypeRef->pType->pWeakRef) \ { \ typelib_typedescriptionreference_getDescription( ppMacroTypeDescr, pMacroTypeRef ); \ if (*ppMacroTypeDescr) \ typelib_typedescription_release( *ppMacroTypeDescr ); \ } \ else \ { \ *ppMacroTypeDescr = pMacroTypeRef->pType; \ } \ } |
In File | typedescription.h |
Gets a description from the reference. The description may not be locked by this call. You must use the TYPELIB_DANGER_RELEASE macro to release the description fetched with this macro.
Defined As | \ { \ if (TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( (pDescription)->eTypeClass )) \ typelib_typedescription_release( pDescription ); \ } |
In File | typedescription.h |
Releases the description previouse fetched by TYPELIB_DANGER_GET.
Defined As | \ ((eTypeClass) == typelib_TypeClass_INTERFACE_METHOD || \ (eTypeClass) == typelib_TypeClass_INTERFACE_ATTRIBUTE) |
In File | typedescription.h |
Returns true, if the type description reference may lose the type description. Otherwise pType is a valid pointer and cannot be discarded through the lifetime of this reference. Remark: If the pWeakObj of the type is set too, you can avoid the call of ...getDescription(...) and use the description directly. pWeakObj == 0 means, that the description is not initialized.
Defined As | \ do \ { \ if (!(c) && _OSL_GLOBAL osl_assertFailedLine(f, l, 0)) \ _OSL_GLOBAL osl_breakDebug(); \ } while (0) |
In File | diagnose.h |
Defined As | \ do \ { \ if (!(c) && _OSL_GLOBAL osl_assertFailedLine(f, l, m)) \ _OSL_GLOBAL osl_breakDebug(); \ } while (0) |
In File | diagnose.h |
Defined As | \ { \ N +1, sal_False, sal_False, \ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \ { \ __IFC_EX_TYPE_INIT##N( class_cast ), \ __IFC_EX_TYPE_INIT_NAME( class_cast, ::com::sun::star::lang::XTypeProvider ) \ } \ } |
In File | implbase_ex_post.hxx |
Defined As | \ __DEF_COMPIMPLHELPER_A( N ) \ __DEF_COMPIMPLHELPER_B( N ) \ __DEF_COMPIMPLHELPER_C( N ) |
In File | compbase.hxx |
Defined As | \ namespace cppu \ { \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE WeakComponentImplHelper##N \ : public ::cppu::WeakComponentImplHelperBase \ , public ImplHelperBase##N< __IFC##N > \ { \ static ClassData##N s_aCD; \ public: \ WeakComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ : WeakComponentImplHelperBase( rMutex ) \ {} \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { \ ::com::sun::star::uno::Any aRet( getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ) ); \ if (aRet.hasValue()) \ return aRet; \ return WeakComponentImplHelperBase::queryInterface( rType ); \ } \ virtual void SAL_CALL acquire() throw () \ { WeakComponentImplHelperBase::acquire(); } \ virtual void SAL_CALL release() throw () \ { WeakComponentImplHelperBase::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return getClassData( s_aCD ).getTypes(); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return getClassData( s_aCD ).getImplementationId(); } \ }; \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE WeakAggComponentImplHelper##N \ : public ::cppu::WeakAggComponentImplHelperBase \ , public ImplHelperBase##N< __IFC##N > \ { \ static ClassData##N s_aCD; \ public: \ WeakAggComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ : WeakAggComponentImplHelperBase( rMutex ) \ {} \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return WeakAggComponentImplHelperBase::queryInterface( rType ); } \ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { \ ::com::sun::star::uno::Any aRet( getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ) ); \ if (aRet.hasValue()) \ return aRet; \ return WeakAggComponentImplHelperBase::queryAggregation( rType ); \ } \ virtual void SAL_CALL acquire() throw () \ { WeakAggComponentImplHelperBase::acquire(); } \ virtual void SAL_CALL release() throw () \ { WeakAggComponentImplHelperBase::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return getClassData( s_aCD ).getTypes(); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return getClassData( s_aCD ).getImplementationId(); } \ }; |
In File | compbase.hxx |
Defined As | \ template< __CLASS_IFC##N > \ ClassData##N WeakComponentImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 4 ); \ template< __CLASS_IFC##N > \ ClassData##N WeakAggComponentImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 3 ); |
In File | compbase.hxx |
Defined As | \ namespace cppu \ { \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE WeakComponentImplHelper##N \ : public WeakComponentImplHelperBase \ , public ::com::sun::star::lang::XTypeProvider \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ inline WeakComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ : WeakComponentImplHelperBase( rMutex ) \ {} \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return WeakComponentImplHelper_query( rType, (class_data *)&s_cd, this, (WeakComponentImplHelperBase *)this ); } \ virtual void SAL_CALL acquire() throw () \ { WeakComponentImplHelperBase::acquire(); } \ virtual void SAL_CALL release() throw () \ { WeakComponentImplHelperBase::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return WeakComponentImplHelper_getTypes( (class_data *)&s_cd ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< __CLASS_IFC##N > \ class_data##N WeakComponentImplHelper##N< __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (WeakComponentImplHelper##N< __IFC##N > *) ); \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE WeakAggComponentImplHelper##N \ : public WeakAggComponentImplHelperBase \ , public ::com::sun::star::lang::XTypeProvider \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ inline WeakAggComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ : WeakAggComponentImplHelperBase( rMutex ) \ {} \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return WeakAggComponentImplHelperBase::queryInterface( rType ); } \ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return WeakAggComponentImplHelper_queryAgg( rType, (class_data *)&s_cd, this, (WeakAggComponentImplHelperBase *)this ); } \ virtual void SAL_CALL acquire() throw () \ { WeakAggComponentImplHelperBase::acquire(); } \ virtual void SAL_CALL release() throw () \ { WeakAggComponentImplHelperBase::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return WeakAggComponentImplHelper_getTypes( (class_data *)&s_cd ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< __CLASS_IFC##N > \ class_data##N WeakAggComponentImplHelper##N< __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (WeakAggComponentImplHelper##N< __IFC##N > *) ); \ } |
In File | implbase_ex_post.hxx |
Defined As | \ namespace cppu \ { \ struct class_data##N \ { \ sal_Int16 m_nTypes; \ sal_Bool m_storedTypeRefs; \ sal_Bool m_storedId; \ sal_Int8 m_id[ 16 ]; \ type_entry m_typeEntries[ N + 1 ]; \ }; \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE ImplHelper##N \ : public ::com::sun::star::lang::XTypeProvider \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_query( rType, (class_data *)&s_cd, this ); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getTypes( (class_data *)&s_cd ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< __CLASS_IFC##N > \ class_data##N ImplHelper##N< __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (ImplHelper##N< __IFC##N > *) ); \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE WeakImplHelper##N \ : public OWeakObject \ , public ::com::sun::star::lang::XTypeProvider \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return WeakImplHelper_query( rType, (class_data *)&s_cd, this, (OWeakObject *)this ); } \ virtual void SAL_CALL acquire() throw () \ { OWeakObject::acquire(); } \ virtual void SAL_CALL release() throw () \ { OWeakObject::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return WeakImplHelper_getTypes( (class_data *)&s_cd ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< __CLASS_IFC##N > \ class_data##N WeakImplHelper##N< __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (WeakImplHelper##N< __IFC##N > *) ); \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE WeakAggImplHelper##N \ : public OWeakAggObject \ , public ::com::sun::star::lang::XTypeProvider \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return OWeakAggObject::queryInterface( rType ); } \ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return WeakAggImplHelper_queryAgg( rType, (class_data *)&s_cd, this, (OWeakAggObject *)this ); } \ virtual void SAL_CALL acquire() throw () \ { OWeakAggObject::acquire(); } \ virtual void SAL_CALL release() throw () \ { OWeakAggObject::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return WeakAggImplHelper_getTypes( (class_data *)&s_cd ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< __CLASS_IFC##N > \ class_data##N WeakAggImplHelper##N< __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (WeakAggImplHelper##N< __IFC##N > *) ); \ template< class BaseClass, __CLASS_IFC##N > \ class SAL_NO_VTABLE ImplInheritanceHelper##N \ : public BaseClass \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { \ ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, (class_data *)&s_cd, this ) ); \ if (aRet.hasValue()) \ return aRet; \ return BaseClass::queryInterface( rType ); \ } \ virtual void SAL_CALL acquire() throw () \ { BaseClass::acquire(); } \ virtual void SAL_CALL release() throw () \ { BaseClass::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return ImplInhHelper_getTypes( (class_data *)&s_cd, BaseClass::getTypes() ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< class BaseClass, __CLASS_IFC##N > \ class_data##N ImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (ImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \ template< class BaseClass, __CLASS_IFC##N > \ class SAL_NO_VTABLE AggImplInheritanceHelper##N \ : public BaseClass \ , __PUBLIC_IFC##N \ { \ static class_data##N s_cd; \ public: \ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { return BaseClass::queryInterface( rType ); } \ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ { \ ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, (class_data *)&s_cd, this ) ); \ if (aRet.hasValue()) \ return aRet; \ return BaseClass::queryAggregation( rType ); \ } \ virtual void SAL_CALL acquire() throw () \ { BaseClass::acquire(); } \ virtual void SAL_CALL release() throw () \ { BaseClass::release(); } \ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ { return ImplInhHelper_getTypes( (class_data *)&s_cd, BaseClass::getTypes() ); } \ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ }; \ template< class BaseClass, __CLASS_IFC##N > \ class_data##N AggImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \ __DEF_CLASS_DATA_INIT_EX( N, (AggImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \ } |
In File | implbase_ex_post.hxx |
Defined As | \ namespace cppu \ { \ struct ClassData##N : public ClassDataBase \ { \ Type_Offset arType2Offset[ N ]; \ ClassData##N( sal_Int32 nClassCode ) SAL_THROW( () ) \ : ClassDataBase( nClassCode ) \ {} \ }; \ template< __CLASS_IFC##N > \ class SAL_NO_VTABLE ImplHelperBase##N \ : public ::com::sun::star::lang::XTypeProvider \ , __PUBLIC_IFC##N \ { \ 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; |
In File | implbase.hxx |
Implementation helper macros Not for common use. There are expanded forms of the macro usage in implbaseN.hxx/compbaseN.hxx. So there is commonly no need to use these macros. Though, you may need to implement more than 12 interfaces. Then you have to declare something like the following in your headers (where N is your demanded number of interfaces): #define __IFC3 Ifc1, Ifc2, Ifc3, ... up to N #define __CLASS_IFC3 class Ifc1, class Ifc2, class Ifc3, ... up to N #define __PUBLIC_IFC3 public Ifc1, public Ifc2, public Ifc3, ... up to N __DEF_IMPLHELPER_PRE( N ) __IFC_WRITEOFFSET( 1 ) __IFC_WRITEOFFSET( 2 ) __IFC_WRITEOFFSET( 3 ), ... up to N __DEF_IMPLHELPER_POST( N )
Defined As | __IFC_EX_TYPE_INIT_NAME( class_cast, Ifc##N ) |
In File | implbase_ex_pre.hxx |
*/
Defined As | \ { { ifc_name::static_type }, ((sal_IntPtr)(ifc_name *) class_cast 16) - 16 } |
In File | implbase_ex_pre.hxx |
Copyright © 2012, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.