[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / FileItemListModification.cpp
blob8496ee9136ba971990e4bdbbf42255f04d4c166e
1 /*
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.
7 */
9 #include "FileItemListModification.h"
11 #include "music/windows/MusicFileItemListModifier.h"
12 #include "playlists/SmartPlaylistFileItemListModifier.h"
13 #include "video/windows/VideoFileItemListModifier.h"
15 CFileItemListModification::CFileItemListModification()
17 m_modifiers.insert(new CSmartPlaylistFileItemListModifier());
18 m_modifiers.insert(new CMusicFileItemListModifier());
19 m_modifiers.insert(new CVideoFileItemListModifier());
22 CFileItemListModification::~CFileItemListModification()
24 for (std::set<IFileItemListModifier*>::const_iterator modifier = m_modifiers.begin(); modifier != m_modifiers.end(); ++modifier)
25 delete *modifier;
27 m_modifiers.clear();
30 CFileItemListModification& CFileItemListModification::GetInstance()
32 static CFileItemListModification instance;
33 return instance;
36 bool CFileItemListModification::CanModify(const CFileItemList &items) const
38 for (std::set<IFileItemListModifier*>::const_iterator modifier = m_modifiers.begin(); modifier != m_modifiers.end(); ++modifier)
40 if ((*modifier)->CanModify(items))
41 return true;
44 return false;
47 bool CFileItemListModification::Modify(CFileItemList &items) const
49 bool result = false;
50 for (std::set<IFileItemListModifier*>::const_iterator modifier = m_modifiers.begin(); modifier != m_modifiers.end(); ++modifier)
51 result |= (*modifier)->Modify(items);
53 return result;