[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / FileItemListModification.cpp
blobc2ce636e9ede980023bf09a055c8d3b51c70d5f8
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 using namespace KODI;
17 CFileItemListModification::CFileItemListModification()
19 m_modifiers.insert(new PLAYLIST::CSmartPlaylistFileItemListModifier());
20 m_modifiers.insert(new CMusicFileItemListModifier());
21 m_modifiers.insert(new CVideoFileItemListModifier());
24 CFileItemListModification::~CFileItemListModification()
26 for (std::set<IFileItemListModifier*>::const_iterator modifier = m_modifiers.begin(); modifier != m_modifiers.end(); ++modifier)
27 delete *modifier;
29 m_modifiers.clear();
32 CFileItemListModification& CFileItemListModification::GetInstance()
34 static CFileItemListModification instance;
35 return instance;
38 bool CFileItemListModification::CanModify(const CFileItemList &items) const
40 for (std::set<IFileItemListModifier*>::const_iterator modifier = m_modifiers.begin(); modifier != m_modifiers.end(); ++modifier)
42 if ((*modifier)->CanModify(items))
43 return true;
46 return false;
49 bool CFileItemListModification::Modify(CFileItemList &items) const
51 bool result = false;
52 for (std::set<IFileItemListModifier*>::const_iterator modifier = m_modifiers.begin(); modifier != m_modifiers.end(); ++modifier)
53 result |= (*modifier)->Modify(items);
55 return result;