/* * Copyright (C) 2005-2018 Team Kodi * This file is part of Kodi - https://kodi.tv * * SPDX-License-Identifier: GPL-2.0-or-later * See LICENSES/README.md for more information. */ #pragma once #include #include class CGUIWindowManager; class CGUITextureManager; class CGUILargeTextureManager; class CStereoscopicsManager; class CGUIInfoManager; class CGUIColorManager; class CGUIAudioManager; class CGUIComponent { public: CGUIComponent(); virtual ~CGUIComponent(); void Init(); void Deinit(); CGUIWindowManager& GetWindowManager(); CGUITextureManager& GetTextureManager(); CGUILargeTextureManager& GetLargeTextureManager(); CStereoscopicsManager &GetStereoscopicsManager(); CGUIInfoManager &GetInfoManager(); CGUIColorManager &GetColorManager(); CGUIAudioManager &GetAudioManager(); bool ConfirmDelete(const std::string& path); protected: // members are pointers in order to avoid includes std::unique_ptr m_pWindowManager; std::unique_ptr m_pTextureManager; std::unique_ptr m_pLargeTextureManager; std::unique_ptr m_stereoscopicsManager; std::unique_ptr m_guiInfoManager; std::unique_ptr m_guiColorManager; std::unique_ptr m_guiAudioManager; };