2 * Copyright (C) 2005-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 "PlaylistFileDirectory.h"
12 #include "FileItemList.h"
14 #include "filesystem/File.h"
15 #include "playlists/PlayList.h"
16 #include "playlists/PlayListFactory.h"
22 CPlaylistFileDirectory::CPlaylistFileDirectory() = default;
24 CPlaylistFileDirectory::~CPlaylistFileDirectory() = default;
26 bool CPlaylistFileDirectory::GetDirectory(const CURL
& url
, CFileItemList
& items
)
28 std::unique_ptr
<PLAYLIST::CPlayList
> pPlayList(PLAYLIST::CPlayListFactory::Create(url
));
29 if (nullptr != pPlayList
)
32 if (!pPlayList
->Load(url
.Get()))
33 return false; //hmmm unable to load playlist?
35 PLAYLIST::CPlayList playlist
= *pPlayList
;
36 // convert playlist items to songs
37 for (int i
= 0; i
< playlist
.size(); ++i
)
39 CFileItemPtr item
= playlist
[i
];
40 item
->m_iprogramCount
= i
; // hack for playlist order
47 bool CPlaylistFileDirectory::ContainsFiles(const CURL
& url
)
49 std::unique_ptr
<PLAYLIST::CPlayList
> pPlayList(PLAYLIST::CPlayListFactory::Create(url
));
50 if (nullptr != pPlayList
)
53 if (!pPlayList
->Load(url
.Get()))
54 return false; //hmmm unable to load playlist?
56 return (pPlayList
->size() > 1);
61 bool CPlaylistFileDirectory::Remove(const CURL
& url
)
63 return XFILE::CFile::Delete(url
);