aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett Brown <themagnificentmrb@gmail.com>2016-10-20 17:25:27 -0700
committerGitHub <noreply@github.com>2016-10-20 17:25:27 -0700
commitf2561a14671f521d51dd6194ab9611581e690081 (patch)
tree088b94a14dc4363b19efc896e8e76497ef2c5891
parent25ae7fffb70f00bb11f882f4bbabb66d80c0407f (diff)
parenta943b54e939a90079f38ab4e4d6ee793ca7a549e (diff)
Merge pull request #10734 from garbear/fix-enable-addon2
Use new add-on hooks to enable/disable peripheral add-ons
-rw-r--r--xbmc/peripherals/addons/PeripheralAddon.cpp32
-rw-r--r--xbmc/peripherals/addons/PeripheralAddon.h4
-rw-r--r--xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp4
3 files changed, 3 insertions, 37 deletions
diff --git a/xbmc/peripherals/addons/PeripheralAddon.cpp b/xbmc/peripherals/addons/PeripheralAddon.cpp
index 495a240769..96fe81da4c 100644
--- a/xbmc/peripherals/addons/PeripheralAddon.cpp
+++ b/xbmc/peripherals/addons/PeripheralAddon.cpp
@@ -109,22 +109,6 @@ void CPeripheralAddon::ResetProperties(void)
m_apiVersion = ADDON::AddonVersion("0.0.0");
}
-void CPeripheralAddon::OnDisabled()
-{
- CAddon::OnDisabled();
- PeripheralBusAddonPtr addonBus = std::static_pointer_cast<CPeripheralBusAddon>(g_peripherals.GetBusByType(PERIPHERAL_BUS_ADDON));
- if (addonBus)
- addonBus->UpdateAddons();
-}
-
-void CPeripheralAddon::OnEnabled()
-{
- CAddon::OnEnabled();
- PeripheralBusAddonPtr addonBus = std::static_pointer_cast<CPeripheralBusAddon>(g_peripherals.GetBusByType(PERIPHERAL_BUS_ADDON));
- if (addonBus)
- addonBus->UpdateAddons();
-}
-
ADDON::AddonPtr CPeripheralAddon::GetRunningInstance(void) const
{
PeripheralBusAddonPtr addonBus = std::static_pointer_cast<CPeripheralBusAddon>(g_peripherals.GetBusByType(PERIPHERAL_BUS_ADDON));
@@ -137,22 +121,6 @@ ADDON::AddonPtr CPeripheralAddon::GetRunningInstance(void) const
return CAddon::GetRunningInstance();
}
-void CPeripheralAddon::OnPostInstall(bool update, bool modal)
-{
- CAddon::OnPostInstall(update, modal);
- PeripheralBusAddonPtr addonBus = std::static_pointer_cast<CPeripheralBusAddon>(g_peripherals.GetBusByType(PERIPHERAL_BUS_ADDON));
- if (addonBus)
- addonBus->UpdateAddons();
-}
-
-void CPeripheralAddon::OnPostUnInstall()
-{
- CAddon::OnPostUnInstall();
- PeripheralBusAddonPtr addonBus = std::static_pointer_cast<CPeripheralBusAddon>(g_peripherals.GetBusByType(PERIPHERAL_BUS_ADDON));
- if (addonBus)
- addonBus->UpdateAddons();
-}
-
ADDON_STATUS CPeripheralAddon::CreateAddon(void)
{
ADDON_STATUS status(ADDON_STATUS_UNKNOWN);
diff --git a/xbmc/peripherals/addons/PeripheralAddon.h b/xbmc/peripherals/addons/PeripheralAddon.h
index 154616cbff..681147ea45 100644
--- a/xbmc/peripherals/addons/PeripheralAddon.h
+++ b/xbmc/peripherals/addons/PeripheralAddon.h
@@ -53,11 +53,7 @@ namespace PERIPHERALS
virtual ~CPeripheralAddon(void);
// implementation of IAddon
- virtual void OnDisabled() override;
- virtual void OnEnabled() override;
virtual ADDON::AddonPtr GetRunningInstance(void) const override;
- virtual void OnPostInstall(bool update, bool modal) override;
- virtual void OnPostUnInstall() override;
/*!
* @brief Initialise the instance of this add-on
diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
index c27ec4be91..484893890a 100644
--- a/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
+++ b/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
@@ -329,7 +329,9 @@ bool CPeripheralBusAddon::RequestRemoval(ADDON::AddonPtr addon)
void CPeripheralBusAddon::OnEvent(const ADDON::AddonEvent& event)
{
- if (typeid(event) == typeid(AddonEvents::InstalledChanged))
+ if (typeid(event) == typeid(ADDON::AddonEvents::Enabled) ||
+ typeid(event) == typeid(ADDON::AddonEvents::Disabled) ||
+ typeid(event) == typeid(ADDON::AddonEvents::InstalledChanged))
UpdateAddons();
}