xbmc
ControllerSelect.h
1 /*
2  * Copyright (C) 2021 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 "games/controllers/ControllerTypes.h"
12 #include "threads/Thread.h"
13 
14 #include <functional>
15 
16 namespace KODI
17 {
18 namespace GAME
19 {
20 class CControllerSelect : public CThread
21 {
22 public:
24  ~CControllerSelect() override;
25 
26  void Initialize(ControllerVector controllers,
27  ControllerPtr defaultController,
28  bool showDisconnect,
29  const std::function<void(ControllerPtr)>& callback);
30  void Deinitialize();
31 
32 protected:
33  // Implementation of CThread
34  void Process() override;
35 
36 private:
37  // State parameters
38  ControllerVector m_controllers;
39  ControllerPtr m_defaultController;
40  bool m_showDisconnect = true;
41  std::function<void(ControllerPtr)> m_callback;
42 };
43 } // namespace GAME
44 } // namespace KODI
Definition: Thread.h:44
Controller configuration window.
Definition: AudioDecoder.h:18
Definition: ControllerSelect.h:20