xbmc
AddonStatusHandler.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 "addons/IAddon.h"
12 #include "addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"
13 #include "threads/CriticalSection.h"
14 #include "threads/Thread.h"
15 
16 namespace ADDON
17 {
25  class CAddonStatusHandler : private CThread
26  {
27  public:
28  CAddonStatusHandler(const std::string& addonID,
29  AddonInstanceId instanceId,
30  ADDON_STATUS status,
31  bool sameThread = true);
32  ~CAddonStatusHandler() override;
33 
34  /* Thread handling */
35  void Process() override;
36  void OnStartup() override;
37  void OnExit() override;
38 
39  private:
40  static CCriticalSection m_critSection;
41  const uint32_t m_instanceId;
42  AddonPtr m_addon;
44  };
45 }
Definition: Thread.h:44
Unknown and incomprehensible error.
Definition: addon_base.h:152
CAddonStatusHandler(const std::string &addonID, AddonInstanceId instanceId, ADDON_STATUS status, bool sameThread=true)
Definition: AddonStatusHandler.cpp:43
ADDON_STATUS
Definition: addon_base.h:137
Class - CAddonStatusHandler Used to inform the user about occurred errors and changes inside Add-on's...
Definition: AddonStatusHandler.h:25
void Process() override
Definition: AddonStatusHandler.cpp:86
Definition: Addon.cpp:39