Overview | Namespace | Class | Index | Help |
PUBLIC MEMBERS: | CLASSES | STRUCTS | UNIONS | ENUMS | TYPEDEFS | METHODS | STATIC METHODS | DATA | STATIC DATA |
PROTECTED MEMBERS: | CLASSES | STRUCTS | UNIONS | ENUMS | TYPEDEFS | METHODS | STATIC METHODS | DATA | STATIC DATA |
:: salhelper ::
template< typename API >
class ODynamicLoader
- Base Classes
- None.
- Known Derived Classes
- None.
virtual | abstract | interface | template |
NO | NO | NO | YES |
- D E P R E C A T E D
- Summary
- The ODynmaicLoader provides a special load on call mechanism for dynamic libraries which support a C-API.
- Description
- The libraries must provide a struct with function pointers for all supported C functions. The loader loads the specified library and call the specified initialization function to initialize the function pointers with the real functions. Furthermore provides the loader a reference counter for the library. When the last instance of the laoder will be destroyed the loader will unload the library. Do not use.
- File
- dynload.hxx
Public Members
-
Methods
ODynamicLoader( ) throw( );Default constructor
ODynamicLoader( const ::rtl::OUString & strModuleName, const ::rtl::OUString & strInitFunction ) throw( );Constructor, loads the library if necessary otherwise the refernece count will be increased.
ODynamicLoader( const ODynamicLoader< API > & toCopy ) throw( );Copy constructor
~ODynamicLoader( ) throw( );Destructor, decrease the reference count and unload the library if it is tha last instance. ODynamicLoader< API > &
operator=( const ODynamicLoader< API > & toAssign ) throw( );Assign operator API *
getApi( ) const throw( );returns a poiner to the initialized API function structure. API *
operator->( ) const throw( );cast operator, which cast to a poiner with the initialized API function structure. sal_Bool
isLoaded( ) const throw( );checks if the loader works on a loaded and initialized library.
Protected Members
-
Data
ORealDynamicLoader * m_pLoader;
Static Data
ORealDynamicLoader * m_pStaticLoader; stores the real loader helper instance
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.