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"
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
)
30 CFileItemListModification
& CFileItemListModification::GetInstance()
32 static CFileItemListModification 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
))
47 bool CFileItemListModification::Modify(CFileItemList
&items
) const
50 for (std::set
<IFileItemListModifier
*>::const_iterator modifier
= m_modifiers
.begin(); modifier
!= m_modifiers
.end(); ++modifier
)
51 result
|= (*modifier
)->Modify(items
);