Class to help with load of shared library functions
 You can add them as parent to your class and to help with load of shared library functions.  
More...
 | 
| #define  | REGISTER_DLL_SYMBOL(functionPtr) | 
|   | Macro to translate the given pointer value name of functions to requested function name.  
  | 
|   | 
Class to help with load of shared library functions
 You can add them as parent to your class and to help with load of shared library functions. 
- Note
 - To use on Windows must you also include dlfcn-win32 on your addon!
 Furthermore, this allows the use of Android where the required library is copied to an EXE usable folder. 
Example: 
 
...
{
public:
  bool Start();
 
  ...
 
  
};
 
  : CInstanceAudioDecoder(
instance, kodiVersion)
 
{
}
 
bool CMyInstance::Start()
{
  std::string lib = kodi::GetAddonPath("myLib.so");
  if (!LoadDll(lib)) return false;
 
  Init();
  return true;
}
...
void * KODI_HANDLE
Standard undefined pointer handle.
Definition addon_base.h:292
 
Definition addons/kodi-dev-kit/include/kodi/addon-instance/AudioDecoder.h:431
 
typedef void(ATTR_APIENTRYP PFN_KODI_ADDON_SCREENSAVER_STOP_V1)(const KODI_ADDON_SCREENSAVER_HDL hdl)
 
unsigned int(ATTR_APIENTRYP PFN_KODI_ADDON_VISUALIZATION_GET_PRESETS_V1)(const KODI_ADDON_VISUALIZATION_HDL hdl)
Definition kodi-dev-kit/include/kodi/c-api/addon-instance/Visualization.h:73
 
Definition addon_base.h:268
 
  
◆ REGISTER_DLL_SYMBOL
      
        
          | #define REGISTER_DLL_SYMBOL | 
          ( | 
           |           functionPtr | ) | 
           | 
        
      
 
 
◆ CDllHelper()
  
  
      
        
          | kodi::tools::CDllHelper::CDllHelper  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
default   | 
  
 
 
◆ LoadDll()
  
  
      
        
          | bool kodi::tools::CDllHelper::LoadDll  | 
          ( | 
          std::string |           path | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Function to load requested library. 
- Parameters
 - 
  
    | [in] | path | The path with filename of shared library to load  | 
  
   
- Returns
 - true if load was successful done 
 
 
 
◆ RegisterSymbol()
template<typename T > 
  
  
      
        
          | bool kodi::tools::CDllHelper::RegisterSymbol  | 
          ( | 
          T & |           functionPtr,  | 
         
        
           | 
           | 
          const char * |           strFunctionPtr ) | 
         
       
   | 
  
inline   | 
  
 
Function to register requested library symbol. 
- Warning
 - This function should not be used, use instead the macro REGISTER_DLL_SYMBOL to register the symbol pointer.
 
Use this always via Macro, e.g.: 
 
 
 
◆ ~CDllHelper()
  
  
      
        
          | virtual kodi::tools::CDllHelper::~CDllHelper  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinevirtual   |