11 #include "addons/Addon.h"    12 #include "addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"    23 class CBinaryAddonBase;
    24 using BinaryAddonBasePtr = std::shared_ptr<CBinaryAddonBase>;
    35 using ADDON_INSTANCE_HANDLER = 
void*;
    48   virtual bool IsInUse(
const std::string& 
id) = 0;
    54   CAddonDll(
const AddonInfoPtr& addonInfo, BinaryAddonBasePtr addonBase);
    55   CAddonDll(
const AddonInfoPtr& addonInfo, AddonType addonType);
    59   std::string LibPath() 
const override;
    62   bool SaveSettings(AddonInstanceId 
id = ADDON_SETTINGS_ID) 
override;
    64   bool DllLoaded(
void) 
const;
   103   bool IsInUse() 
const override;
   105   AddonPtr GetRunningInstance() 
const override;
   107   void OnPreInstall() 
override;
   108   void OnPostInstall(
bool update, 
bool modal) 
override;
   109   void OnPreUnInstall() 
override;
   110   void OnPostUnInstall() 
override;
   112   bool Initialized()
 const { 
return m_initialized; }
   115   static std::string GetDllPath(
const std::string& strFileName);
   117   std::string m_parentLib;
   143   bool CheckAPIVersion(
int type);
   145   BinaryAddonBasePtr m_binaryAddonBase = 
nullptr;
   147   bool m_initialized = 
false;
   149   std::map<ADDON_INSTANCE_HANDLER, KODI_ADDON_INSTANCE_STRUCT*> m_usedInstances;
   152   virtual ADDON_STATUS TransferSettings(AddonInstanceId instanceId);
 Definition: AddonDll.h:51
Definition: AddonVersion.h:27
Main structure passed from kodi to addon with basic information needed to create add-on. 
Definition: addon_base.h:378
Definition: addon_base.h:267
ADDON_STATUS
Definition: addon_base.h:137
Definition: DllAddon.h:22