[WASAPI] fix stream types and frequencies enumeration
[xbmc.git] / xbmc / guilib / GUIComponent.cpp
blob5c8b414fd8cb3c798a4ae786042cc0ad5039ba00
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #include "GUIComponent.h"
11 #include "GUIAudioManager.h"
12 #include "GUIColorManager.h"
13 #include "GUIInfoManager.h"
14 #include "GUILargeTextureManager.h"
15 #include "GUIWindowManager.h"
16 #include "ServiceBroker.h"
17 #include "StereoscopicsManager.h"
18 #include "TextureManager.h"
19 #include "URL.h"
20 #include "dialogs/GUIDialogYesNo.h"
22 #include <memory>
24 CGUIComponent::CGUIComponent()
25 : m_pWindowManager(std::make_unique<CGUIWindowManager>()),
26 m_pTextureManager(std::make_unique<CGUITextureManager>()),
27 m_pLargeTextureManager(std::make_unique<CGUILargeTextureManager>()),
28 m_stereoscopicsManager(std::make_unique<CStereoscopicsManager>()),
29 m_guiInfoManager(std::make_unique<CGUIInfoManager>()),
30 m_guiColorManager(std::make_unique<CGUIColorManager>()),
31 m_guiAudioManager(std::make_unique<CGUIAudioManager>())
35 CGUIComponent::CGUIComponent(bool)
39 CGUIComponent::~CGUIComponent()
41 Deinit();
44 void CGUIComponent::Init()
46 m_pWindowManager->Initialize();
47 m_stereoscopicsManager->Initialize();
48 m_guiInfoManager->Initialize();
50 CServiceBroker::RegisterGUI(this);
53 void CGUIComponent::Deinit()
55 CServiceBroker::UnregisterGUI();
57 if (m_pWindowManager)
58 m_pWindowManager->DeInitialize();
61 CGUIWindowManager& CGUIComponent::GetWindowManager()
63 return *m_pWindowManager;
66 CGUITextureManager& CGUIComponent::GetTextureManager()
68 return *m_pTextureManager;
71 CGUILargeTextureManager& CGUIComponent::GetLargeTextureManager()
73 return *m_pLargeTextureManager;
76 CStereoscopicsManager &CGUIComponent::GetStereoscopicsManager()
78 return *m_stereoscopicsManager;
81 CGUIInfoManager &CGUIComponent::GetInfoManager()
83 return *m_guiInfoManager;
86 CGUIColorManager &CGUIComponent::GetColorManager()
88 return *m_guiColorManager;
91 CGUIAudioManager &CGUIComponent::GetAudioManager()
93 return *m_guiAudioManager;
96 bool CGUIComponent::ConfirmDelete(const std::string& path)
98 CGUIDialogYesNo* pDialog = GetWindowManager().GetWindow<CGUIDialogYesNo>(WINDOW_DIALOG_YES_NO);
99 if (pDialog)
101 pDialog->SetHeading(CVariant{122});
102 pDialog->SetLine(0, CVariant{125});
103 pDialog->SetLine(1, CVariant{CURL(path).GetWithoutUserDetails()});
104 pDialog->SetLine(2, CVariant{""});
105 pDialog->Open();
106 if (pDialog->IsConfirmed())
107 return true;
109 return false;