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"
13 #include "filesystem/File.h"
14 #include "playlists/PlayList.h"
15 #include "playlists/PlayListFactory.h"
17 using namespace PLAYLIST
;
21 CPlaylistFileDirectory::CPlaylistFileDirectory() = default;
23 CPlaylistFileDirectory::~CPlaylistFileDirectory() = default;
25 bool CPlaylistFileDirectory::GetDirectory(const CURL
& url
, CFileItemList
& items
)
27 const std::string pathToUrl
= url
.Get();
28 std::unique_ptr
<CPlayList
> pPlayList (CPlayListFactory::Create(pathToUrl
));
29 if (nullptr != pPlayList
)
32 if (!pPlayList
->Load(pathToUrl
))
33 return false; //hmmm unable to load playlist?
35 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 const std::string pathToUrl
= url
.Get();
50 std::unique_ptr
<CPlayList
> pPlayList (CPlayListFactory::Create(pathToUrl
));
51 if (nullptr != pPlayList
)
54 if (!pPlayList
->Load(pathToUrl
))
55 return false; //hmmm unable to load playlist?
57 return (pPlayList
->size() > 1);
62 bool CPlaylistFileDirectory::Remove(const CURL
& url
)
64 return XFILE::CFile::Delete(url
);