2 * Copyright (C) 2013-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.
9 #include "SettingCreator.h"
11 #include "settings/SettingAddon.h"
12 #include "settings/SettingDateTime.h"
13 #include "settings/SettingPath.h"
14 #include "utils/StringUtils.h"
16 std::shared_ptr
<CSetting
> CSettingCreator::CreateSetting(const std::string
&settingType
, const std::string
&settingId
, CSettingsManager
*settingsManager
/* = nullptr */) const
18 if (StringUtils::EqualsNoCase(settingType
, "addon"))
19 return std::make_shared
<CSettingAddon
>(settingId
, settingsManager
);
20 else if (StringUtils::EqualsNoCase(settingType
, "path"))
21 return std::make_shared
<CSettingPath
>(settingId
, settingsManager
);
22 else if (StringUtils::EqualsNoCase(settingType
, "date"))
23 return std::make_shared
<CSettingDate
>(settingId
, settingsManager
);
24 else if (StringUtils::EqualsNoCase(settingType
, "time"))
25 return std::make_shared
<CSettingTime
>(settingId
, settingsManager
);