kodi
GUIComponent.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 <memory>
12 #include <string>
13 
14 class CGUIWindowManager;
15 class CGUITextureManager;
18 class CGUIInfoManager;
19 class CGUIColorManager;
20 class CGUIAudioManager;
21 
23 {
24 public:
25  CGUIComponent();
26  virtual ~CGUIComponent();
27  void Init();
28  void Deinit();
29 
30  CGUIWindowManager& GetWindowManager();
31  CGUITextureManager& GetTextureManager();
32  CGUILargeTextureManager& GetLargeTextureManager();
33  CStereoscopicsManager &GetStereoscopicsManager();
34  CGUIInfoManager &GetInfoManager();
35  CGUIColorManager &GetColorManager();
36  CGUIAudioManager &GetAudioManager();
37 
38  bool ConfirmDelete(const std::string& path);
39 
40 protected:
41  // members are pointers in order to avoid includes
42  std::unique_ptr<CGUIWindowManager> m_pWindowManager;
43  std::unique_ptr<CGUITextureManager> m_pTextureManager;
44  std::unique_ptr<CGUILargeTextureManager> m_pLargeTextureManager;
45  std::unique_ptr<CStereoscopicsManager> m_stereoscopicsManager;
46  std::unique_ptr<CGUIInfoManager> m_guiInfoManager;
47  std::unique_ptr<CGUIColorManager> m_guiColorManager;
48  std::unique_ptr<CGUIAudioManager> m_guiAudioManager;
49 };
Definition: GUIAudioManager.h:28
Definition: GUIInfoManager.h:56
Definition: StereoscopicsManager.h:36
Background texture loading manager.
Definition: GUILargeTextureManager.h:55
Definition: GUIWindowManager.h:48
Definition: GUIColorManager.h:30
Definition: TextureManager.h:96
Definition: GUIComponent.h:22