LibreOffice
LibreOffice 7.4 SDK C/C++ API Reference
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
salhelper::ODynamicLoader< API > Class Template Reference

The ODynamicLoader provides a special load on call mechanism for dynamic libraries which support a C-API. More...

#include <dynload.hxx>

Public Member Functions

 ODynamicLoader ()
 Default constructor. More...
 
 ODynamicLoader (const ::rtl::OUString &strModuleName, const ::rtl::OUString &strInitFunction)
 Constructor, loads the library if necessary otherwise the reference count will be increased. More...
 
 ODynamicLoader (const ODynamicLoader< API > &toCopy)
 Copy constructor. More...
 
 ~ODynamicLoader ()
 Destructor, decrease the reference count and unload the library if it is the last instance. More...
 
ODynamicLoader< API > & operator= (const ODynamicLoader< API > &toAssign)
 Assign operator. More...
 
API * getApi () const
 returns a pointer to the initialized API function structure. More...
 
API * operator-> () const
 cast operator, which cast to a pointer with the initialized API function structure. More...
 
bool isLoaded () const
 checks if the loader works on a loaded and initialized library. More...
 

Protected Attributes

ORealDynamicLoaderm_pLoader
 

Static Protected Attributes

static ORealDynamicLoaderm_pStaticLoader = NULL
 stores the real loader helper instance More...
 

Detailed Description

template<class API>
class salhelper::ODynamicLoader< API >

The ODynamicLoader provides a special load on call mechanism for dynamic libraries which support a C-API.

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.

Deprecated:
Do not use.

Constructor & Destructor Documentation

◆ ODynamicLoader() [1/3]

template<class API >
salhelper::ODynamicLoader< API >::ODynamicLoader ( )
inline

Default constructor.

◆ ODynamicLoader() [2/3]

template<class API >
salhelper::ODynamicLoader< API >::ODynamicLoader ( const ::rtl::OUString strModuleName,
const ::rtl::OUString strInitFunction 
)
inline

Constructor, loads the library if necessary otherwise the reference count will be increased.

Parameters
strModuleNamespecifies the library name.
strInitFunctionspecifies the name of the initialization function.

◆ ODynamicLoader() [3/3]

template<class API >
salhelper::ODynamicLoader< API >::ODynamicLoader ( const ODynamicLoader< API > &  toCopy)
inline

Copy constructor.

◆ ~ODynamicLoader()

template<class API >
salhelper::ODynamicLoader< API >::~ODynamicLoader ( )
inline

Destructor, decrease the reference count and unload the library if it is the last instance.

Member Function Documentation

◆ getApi()

template<class API >
API* salhelper::ODynamicLoader< API >::getApi ( ) const
inline

returns a pointer to the initialized API function structure.

◆ isLoaded()

template<class API >
bool salhelper::ODynamicLoader< API >::isLoaded ( ) const
inline

checks if the loader works on a loaded and initialized library.

◆ operator->()

template<class API >
API* salhelper::ODynamicLoader< API >::operator-> ( ) const
inline

cast operator, which cast to a pointer with the initialized API function structure.

◆ operator=()

template<class API >
ODynamicLoader<API>& salhelper::ODynamicLoader< API >::operator= ( const ODynamicLoader< API > &  toAssign)
inline

Assign operator.

Member Data Documentation

◆ m_pLoader

template<class API >
ORealDynamicLoader* salhelper::ODynamicLoader< API >::m_pLoader
protected

◆ m_pStaticLoader

template<class API >
ORealDynamicLoader * salhelper::ODynamicLoader< API >::m_pStaticLoader = NULL
staticprotected

stores the real loader helper instance


The documentation for this class was generated from the following file: