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 "FileItemListModification.h"
11 #include "music/windows/MusicFileItemListModifier.h"
12 #include "playlists/SmartPlaylistFileItemListModifier.h"
13 #include "video/windows/VideoFileItemListModifier.h"
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
)
32 CFileItemListModification
& CFileItemListModification::GetInstance()
34 static CFileItemListModification 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
))
49 bool CFileItemListModification::Modify(CFileItemList
&items
) const
52 for (std::set
<IFileItemListModifier
*>::const_iterator modifier
= m_modifiers
.begin(); modifier
!= m_modifiers
.end(); ++modifier
)
53 result
|= (*modifier
)->Modify(items
);