xbmc
SettingCategoryAccess.h
1 /*
2  * Copyright (C) 2013-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 "SettingConditions.h"
12 
13 #include <set>
14 #include <string>
15 
17 {
18 public:
19  explicit CSettingCategoryAccessCondition(CSettingsManager *settingsManager = nullptr)
20  : CSettingConditionItem(settingsManager)
21  { }
22  ~CSettingCategoryAccessCondition() override = default;
23 
24  bool Check() const override;
25 };
26 
28 {
29 public:
30  explicit CSettingCategoryAccessConditionCombination(CSettingsManager *settingsManager = nullptr)
31  : CSettingConditionCombination(settingsManager)
32  { }
33  ~CSettingCategoryAccessConditionCombination() override = default;
34 
35  bool Check() const override;
36 
37 private:
38  CBooleanLogicOperation* newOperation() override { return new CSettingCategoryAccessConditionCombination(m_settingsManager); }
39  CBooleanLogicValue* newValue() override { return new CSettingCategoryAccessCondition(m_settingsManager); }
40 };
41 
43 {
44 public:
45  explicit CSettingCategoryAccess(CSettingsManager *settingsManager = nullptr);
46  ~CSettingCategoryAccess() override = default;
47 };
Definition: SettingConditions.h:41
Definition: SettingCategoryAccess.h:27
Definition: SettingConditions.h:58
Definition: SettingCategoryAccess.h:42
Definition: BooleanLogic.h:22
Definition: SettingCategoryAccess.h:16
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41
Definition: SettingConditions.h:73
Definition: BooleanLogic.h:51