11 #include "threads/CriticalSection.h" 19 class IAddonInstanceHandler;
22 using AddonPtr = std::shared_ptr<IAddon>;
25 using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
28 typedef std::shared_ptr<CAddonDll> AddonDllPtr;
30 class CBinaryAddonBase;
31 typedef std::shared_ptr<CBinaryAddonBase> BinaryAddonBasePtr;
54 BinaryAddonBasePtr
GetAddonBase(
const AddonInfoPtr& addonInfo,
90 mutable CCriticalSection m_critSection;
92 std::map<std::string, BinaryAddonBasePtr> m_runningAddons;
BinaryAddonBasePtr GetAddonBase(const AddonInfoPtr &addonInfo, IAddonInstanceHandler *handler, AddonDllPtr &addon)
Create or get available addon instance handle base.
Definition: BinaryAddonManager.cpp:20
Definition: BinaryAddonManager.h:33
BinaryAddonBasePtr GetRunningAddonBase(const std::string &addonId) const
Get running addon base class for a given addon id.
Definition: BinaryAddonManager.cpp:68
AddonPtr GetRunningAddon(const std::string &addonId) const
Used from other addon manager to get active addon over a from him created CAddonDll.
Definition: BinaryAddonManager.cpp:79
Definition: AddonInstanceHandler.h:33
void ReleaseAddonBase(const BinaryAddonBasePtr &addonBase, IAddonInstanceHandler *handler)
Release a running addon instance handle base.
Definition: BinaryAddonManager.cpp:53