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 | 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) \ { \ sal_detail_initialize(argc, argv); \ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; \ int retVal = UIApplicationMain (argc, argv, @"UIApplication", @"salAppDelegate"); \ [pool release]; \ sal_detail_deinitialize(); \ return retVal; \ } |
In File | main.h |
Defined As | \ int SAL_CALL main(int argc, char ** argv) \ { \ sal_detail_initialize(argc, argv); \ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; \ int retVal = UIApplicationMain (argc, argv, @"UIApplication", @"salAppDelegate"); \ [pool release]; \ sal_detail_deinitialize(); \ return retVal; \ } \ \ static int sal_main_with_args(int argc, char **argv); \ \ static int \ sal_main(void) \ { \ char *argv[] = { NULL }; \ return sal_main_with_args(0, argv); \ } |
In File | main.h |
Defined As | \ int SAL_CALL main(int argc, char ** argv) \ { \ sal_detail_initialize(argc, argv); \ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; \ int retVal = sal_main(); \ [pool release]; \ sal_detail_deinitialize(); \ return retVal; \ } |
In File | main.h |
Defined As | SAL_DETAIL_WHERE |
In File | log.hxx |
A simple macro to create a "file and line number" string.
Potentially not only useful within the log framework (where it is used automatically), but also when creating exception messages.
Defined As | \ _Pragma(SAL_STRINGIFY_ARG(GCC diagnostic pop)) |
In File | types.h |
Defined As | \ _Pragma(SAL_STRINGIFY_ARG(GCC diagnostic push)) \ _Pragma(SAL_STRINGIFY_ARG(GCC diagnostic ignored "-Wdeprecated-declarations")) |
In File | types.h |
Use as follows: SAL_WNODEPRECATED_DECLARATIONS_PUSH ::std::auto_ptr<X> ... SAL_WNODEPRECATED_DECLARATIONS_POP
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 | __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 | \ SAL_DETAIL_WARN_IF_FORMAT(!(c), "legacy.osl", "OSL_ASSERT") |
In File | diagnose.h |
Defined As | /* empty */ |
In File | doublecheckedlocking.h |
Defined As | SAL_DETAIL_WARN_IF_FORMAT(!(c), "legacy.osl", "%s", m) |
In File | diagnose.h |
Defined As | SAL_DETAIL_WARN_IF_FORMAT(sal_True, "legacy.osl", "%s", m) |
In File | diagnose.h |
Defined As | \ SAL_DETAIL_INFO_IF_FORMAT(OSL_DEBUG_LEVEL > 0, "legacy.osl", __VA_ARGS__) |
In File | diagnose.h |
Defined As | ((sal_Int32)(SAL_N_ELEMENTS(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)SAL_N_ELEMENTS(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)(SAL_N_ELEMENTS(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 | \ SAL_WNODEPRECATED_DECLARATIONS_PUSH \ CPPUNIT_TEST_SUITE(X) |
In File | precppunit.hxx |
Defined As | \ CPPUNIT_TEST_SUITE_END() \ ; \ SAL_WNODEPRECATED_DECLARATIONS_POP \ typedef int SalCppUnitDummyTypedefForSemiColonEnding__ \ |
In File | precppunit.hxx |
Defined As | \ SAL_DETAIL_LOG_FORMAT( \ SAL_DETAIL_ENABLE_LOG_INFO && (condition), SAL_DETAIL_LOG_LEVEL_INFO, \ area, SAL_DETAIL_WHERE, __VA_ARGS__) |
In File | log.h |
Defined As | \ do { \ if (condition) { \ sal_detail_logFormat((level), (area), (where), __VA_ARGS__); \ } \ } while (sal_False) |
In File | log.h |
Defined As | \ do { \ if (condition) { \ if (sizeof ::sal::detail::getResult( \ ::sal::detail::StreamStart() << stream) == 1) \ { \ ::sal_detail_log( \ (level), (area), (where), \ ::sal::detail::unwrapStream( \ ::sal::detail::StreamStart() << stream)); \ } else { \ ::std::ostringstream sal_detail_stream; \ sal_detail_stream << stream; \ ::sal::detail::log( \ (level), (area), (where), sal_detail_stream); \ } \ } \ } while (false) |
In File | log.hxx |
Defined As | \ SAL_DETAIL_LOG_FORMAT( \ SAL_DETAIL_ENABLE_LOG_WARN && (condition), SAL_DETAIL_LOG_LEVEL_WARN, \ area, SAL_DETAIL_WHERE, __VA_ARGS__) |
In File | log.h |
Defined As | \ SAL_DETAIL_LOG_STREAM( \ SAL_DETAIL_ENABLE_LOG_INFO, ::SAL_DETAIL_LOG_LEVEL_INFO, area, \ SAL_WHERE, stream) |
In File | log.hxx |
Basic logging functionality.
SAL_INFO(char const * area, expr), SAL_INFO_IF(bool condition, char const * area, expr), SAL_WARN(char const * area, expr), and SAL_WARN_IF(bool condition, char const * area, expr) produce an info resp. warning log entry with a message produced by piping items into a C++ std::ostringstream. The given expr must be so that the full expression "stream << expr" is valid, where stream is a variable of type std::ostringstream. SAL_INFO("foo", "string " << s << " of length " << n) would be an example of such a call; if the given s is of type rtl::OUString, #include "rtl/oustringostreaminserter.hxx" would make sure that an appropriate operator << is available. In either case, the composed message should be in UTF-8 and it should contain no vertical formatting characters and no null characters For the _IF variants, log output is only generated if the given condition is true (in addition to the other conditions that have to be met). For all these macros, the given area argument must be non-null and must match the regular expression <area> ::= <segment>("."<segment>)* with <segment> ::= [0-9a-z]+ Whether these macros generate any log output is controlled in a two-stage process. First, at compile time the macros SAL_LOG_INFO and SAL_LOG_WARN, respectively, control whether the INFO and WARN macros, respectively, expand to actual code (in case the macro is defined, to any value) or to no-ops (in case the macro is not defined). Second, at runtime the environment variable SAL_LOG further limits which macro calls actually generate log output. The environment variable SAL_LOG must either be unset or must match the regular expression <env> ::= <switch>* with <switch> ::= <sense><level>("."<area>)? <sense> ::= "+"|"-" <level> ::= "INFO"|"WARN" If the environment variable is unset, "+WARN" is used instead (which results in all warnings being output but no infos). If the given value does not match the regular expression, "+INFO+WARN" is used instead (which in turn results in everything being output). A given macro call's level (INFO or WARN) and area is matched against the given switches as follows: Only those switches for which the level matches the given level and for which the area is a prefix (including both empty and full prefixes) of the given area are considered. Log output is generated if and only if among the longest such switches (if any), there is at least one that has a sense of "+". (That is, if both +INFO.foo and -INFO.foo are present, +INFO.foo wins.) For example, if SAL_LOG is "+INFO-INFO.foo+INFO.foo.bar", then calls like SAL_INFO("foo.bar", ...), SAL_INFO("foo.bar.baz", ...), or SAL_INFO("other", ...) generate output, while calls like SAL_INFO("foo", ...) or SAL_INFO("foo.barzzz", ...) do not. The generated log output consists of the given level ("info" or "warn"), the given area, the process ID, the thread ID, the source file, and the source line number, each followed by a colon, followed by a space, the given message, and a newline. The precise format of the log output is subject to change. The log output is printed to stderr without further text encoding conversion.
Defined As | \ SAL_DETAIL_LOG_STREAM( \ SAL_DETAIL_ENABLE_LOG_INFO && (condition), \ ::SAL_DETAIL_LOG_LEVEL_INFO, area, SAL_WHERE, stream) |
In File | log.hxx |
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 (d) == sizeof(float ) ? __inline_isfinitef((float)(d)) \ : sizeof (d) == sizeof(double) ? __inline_isfinited((double)(d)) \ : __inline_isfinite ((long double)(d))) |
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 | \ (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream). \ str()) |
In File | log.hxx |
A facility for generating temporary string messages by piping items into a C++ std::ostringstream.
This can be useful for example in a call to SAL_INFO when depending on some boolean condition data of incompatible types shall be streamed into the message, as in: SAL_INFO("foo", "object: " << (hasName ? obj->name : SAL_STREAM(obj)));
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 | \ SAL_DETAIL_LOG_STREAM( \ SAL_DETAIL_ENABLE_LOG_WARN, ::SAL_DETAIL_LOG_LEVEL_WARN, area, \ SAL_WHERE, stream) |
In File | log.hxx |
Defined As | \ SAL_DETAIL_LOG_STREAM( \ SAL_DETAIL_ENABLE_LOG_WARN && (condition), \ ::SAL_DETAIL_LOG_LEVEL_WARN, area, SAL_WHERE, stream) |
In File | log.hxx |
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 | \ { \ 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 nInClassCode ) SAL_THROW( () ) \ : ClassDataBase( nInClassCode ) \ {} \ }; \ 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 |
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 © 2000, 2017 LibreOffice contributors and/or their affiliates. All rights reserved.
LibreOffice was created by The Document Foundation, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.
The Document Foundation acknowledges all community members, please find more info at our website.
Privacy Policy | Impressum (Legal Info) | Copyright information: The source code of LibreOffice is licensed under the GNU Lesser General Public License (LGPLv3). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.