[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / filesystem / PlaylistDirectory.cpp
blob8be88dc5819f84a546f6af86a6e883355af98f02
1 /*
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.
7 */
9 #include "PlaylistDirectory.h"
11 #include "FileItem.h"
12 #include "PlayListPlayer.h"
13 #include "ServiceBroker.h"
14 #include "URL.h"
15 #include "playlists/PlayList.h"
17 using namespace XFILE;
19 CPlaylistDirectory::CPlaylistDirectory() = default;
21 CPlaylistDirectory::~CPlaylistDirectory() = default;
23 bool CPlaylistDirectory::GetDirectory(const CURL& url, CFileItemList &items)
25 PLAYLIST::Id playlistId = PLAYLIST::TYPE_NONE;
26 if (url.IsProtocol("playlistmusic"))
27 playlistId = PLAYLIST::TYPE_MUSIC;
28 else if (url.IsProtocol("playlistvideo"))
29 playlistId = PLAYLIST::TYPE_VIDEO;
31 if (playlistId == PLAYLIST::TYPE_NONE)
32 return false;
34 const PLAYLIST::CPlayList& playlist = CServiceBroker::GetPlaylistPlayer().GetPlaylist(playlistId);
35 items.Reserve(playlist.size());
37 for (int i = 0; i < playlist.size(); ++i)
39 CFileItemPtr item = playlist[i];
40 item->SetProperty("playlistposition", i);
41 item->SetProperty("playlisttype", playlistId);
42 //item->m_iprogramCount = i; // the programCount is set as items are added!
43 items.Add(item);
46 return true;