From c04dcc2e7d834218ef2d4194331e383402495ae1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 20:07:22 +0200 Subject: Adding upstream version 2:20.4+dfsg. Signed-off-by: Daniel Baumann --- xbmc/input/KeyboardLayoutManager.h | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 xbmc/input/KeyboardLayoutManager.h (limited to 'xbmc/input/KeyboardLayoutManager.h') diff --git a/xbmc/input/KeyboardLayoutManager.h b/xbmc/input/KeyboardLayoutManager.h new file mode 100644 index 0000000..49c6473 --- /dev/null +++ b/xbmc/input/KeyboardLayoutManager.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2015-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 "input/KeyboardLayout.h" + +#include +#include +#include +#include + +class CSetting; +struct StringSettingOption; + +typedef std::map KeyboardLayouts; + +class CKeyboardLayoutManager +{ +public: + CKeyboardLayoutManager() = default; + virtual ~CKeyboardLayoutManager(); + + bool Load(const std::string& path = ""); + void Unload(); + + const KeyboardLayouts& GetLayouts() const { return m_layouts; } + bool GetLayout(const std::string& name, CKeyboardLayout& layout) const; + + static void SettingOptionsKeyboardLayoutsFiller(const std::shared_ptr& setting, + std::vector& list, + std::string& current, + void* data); + +private: + CKeyboardLayoutManager(const CKeyboardLayoutManager&) = delete; + CKeyboardLayoutManager const& operator=(CKeyboardLayoutManager const&) = delete; + + KeyboardLayouts m_layouts; +}; -- cgit v1.2.3