[Test] Added tests for CUtil::SplitParams
[xbmc.git] / xbmc / filesystem / MusicDatabaseDirectory / DirectoryNodeAlbumTop100.cpp
blob88ffaff77ace54f7f513015fd739707fcbd74533
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 "DirectoryNodeAlbumTop100.h"
11 #include "FileItem.h"
12 #include "music/MusicDatabase.h"
13 #include "utils/StringUtils.h"
15 using namespace XFILE::MUSICDATABASEDIRECTORY;
17 CDirectoryNodeAlbumTop100::CDirectoryNodeAlbumTop100(const std::string& strName, CDirectoryNode* pParent)
18 : CDirectoryNode(NODE_TYPE_ALBUM_TOP100, strName, pParent)
23 NODE_TYPE CDirectoryNodeAlbumTop100::GetChildType() const
25 if (GetName()=="-1")
26 return NODE_TYPE_ALBUM_TOP100_SONGS;
28 return NODE_TYPE_SONG;
31 std::string CDirectoryNodeAlbumTop100::GetLocalizedName() const
33 CMusicDatabase db;
34 if (db.Open())
35 return db.GetAlbumById(GetID());
36 return "";
39 bool CDirectoryNodeAlbumTop100::GetContent(CFileItemList& items) const
41 CMusicDatabase musicdatabase;
42 if (!musicdatabase.Open())
43 return false;
45 VECALBUMS albums;
46 if (!musicdatabase.GetTop100Albums(albums))
48 musicdatabase.Close();
49 return false;
52 for (int i=0; i<(int)albums.size(); ++i)
54 CAlbum& album=albums[i];
55 std::string strDir = StringUtils::Format("{}{}/", BuildPath(), album.idAlbum);
56 CFileItemPtr pItem(new CFileItem(strDir, album));
57 items.Add(pItem);
60 musicdatabase.Close();
62 return true;