kodi
SoLoader.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "LibraryLoader.h"
12 
13 #include <stdio.h>
14 #ifdef TARGET_POSIX
15 #include "PlatformDefs.h"
16 #endif
17 
18 class SoLoader : public LibraryLoader
19 {
20 public:
21  SoLoader(const std::string &so, bool bGlobal = false);
22  ~SoLoader() override;
23 
24  bool Load() override;
25  void Unload() override;
26 
27  int ResolveExport(const char* symbol, void** ptr, bool logging = true) override;
28  bool IsSystemDll() override;
29  HMODULE GetHModule() override;
30  bool HasSymbols() override;
31 
32 private:
33  void* m_soHandle;
34  bool m_bGlobal;
35  bool m_bLoaded;
36 };
Definition: LibraryLoader.h:17
Definition: SoLoader.h:18