[PVR][Estuary] Timer settings dialog: Show client name in timer type selection dialog...
[xbmc.git] / xbmc / music / MusicInfoLoader.h
blobd6cab41be54e4bf4e549e3e58213e8f4b93e4856
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 #pragma once
11 #include "BackgroundInfoLoader.h"
12 #include "MusicDatabase.h"
14 class CFileItemList;
15 class CMusicThumbLoader;
17 namespace MUSIC_INFO
19 class CMusicInfoLoader : public CBackgroundInfoLoader
21 public:
22 CMusicInfoLoader();
23 ~CMusicInfoLoader() override;
25 void UseCacheOnHD(const std::string& strFileName);
26 bool LoadItem(CFileItem* pItem) override;
27 bool LoadItemCached(CFileItem* pItem) override;
28 bool LoadItemLookup(CFileItem* pItem) override;
29 static bool LoadAdditionalTagInfo(CFileItem* pItem);
31 protected:
32 void OnLoaderStart() override;
33 void OnLoaderFinish() override;
34 void LoadCache(const std::string& strFileName, CFileItemList& items);
35 void SaveCache(const std::string& strFileName, CFileItemList& items);
36 protected:
37 std::string m_strCacheFileName;
38 CFileItemList* m_mapFileItems;
39 MAPSONGS m_songsMap;
40 std::string m_strPrevPath;
41 CMusicDatabase m_musicDatabase;
42 unsigned int m_databaseHits;
43 unsigned int m_tagReads;
44 CMusicThumbLoader *m_thumbLoader;