diff options
Diffstat (limited to 'xbmc/cores/DllLoader/DllLoaderContainer.h')
-rw-r--r-- | xbmc/cores/DllLoader/DllLoaderContainer.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/xbmc/cores/DllLoader/DllLoaderContainer.h b/xbmc/cores/DllLoader/DllLoaderContainer.h new file mode 100644 index 0000000..3769ff8 --- /dev/null +++ b/xbmc/cores/DllLoader/DllLoaderContainer.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2005-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#pragma once + +#include "LibraryLoader.h" + +class DllLoaderContainer +{ +public: + static void Clear(); + static HMODULE GetModuleAddress(const char* sName); + static int GetNrOfModules(); + static LibraryLoader* GetModule(int iPos); + static LibraryLoader* GetModule(const char* sName); + static LibraryLoader* GetModule(const HMODULE hModule); + static LibraryLoader* LoadModule(const char* sName, const char* sCurrentDir=NULL, bool bLoadSymbols=false); + static void ReleaseModule(LibraryLoader*& pDll); + + static void RegisterDll(LibraryLoader* pDll); + static void UnRegisterDll(LibraryLoader* pDll); + static void UnloadPythonDlls(); + +private: + static LibraryLoader* FindModule(const char* sName, const char* sCurrentDir, bool bLoadSymbols); + static LibraryLoader* LoadDll(const char* sName, bool bLoadSymbols); + static bool IsSystemDll(const char* sName); + + static LibraryLoader* m_dlls[64]; + static int m_iNrOfDlls; + static bool m_bTrack; +}; |