xbmc
KeyboardLayoutManager.h
1 /*
2  * Copyright (C) 2015-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 "input/KeyboardLayout.h"
12 
13 #include <map>
14 #include <string>
15 #include <utility>
16 #include <vector>
17 
18 class CSetting;
19 struct StringSettingOption;
20 
21 typedef std::map<std::string, CKeyboardLayout> KeyboardLayouts;
22 
24 {
25 public:
26  CKeyboardLayoutManager() = default;
27  virtual ~CKeyboardLayoutManager();
28 
29  bool Load(const std::string& path = "");
30  void Unload();
31 
32  const KeyboardLayouts& GetLayouts() const { return m_layouts; }
33  bool GetLayout(const std::string& name, CKeyboardLayout& layout) const;
34 
35  static void SettingOptionsKeyboardLayoutsFiller(const std::shared_ptr<const CSetting>& setting,
36  std::vector<StringSettingOption>& list,
37  std::string& current,
38  void* data);
39 
40 private:
42  CKeyboardLayoutManager const& operator=(CKeyboardLayoutManager const&) = delete;
43 
44  KeyboardLayouts m_layouts;
45 };
Setting base class containing all the properties which are common to all settings independent of the ...
Definition: Setting.h:46
Definition: SettingDefinitions.h:85
Definition: KeyboardLayoutManager.h:23
Definition: KeyboardLayout.h:19