1ee577835SZhong Yang #pragma once 2ee577835SZhong Yang #include <map> 3ee577835SZhong Yang #include "MediaLibHelper.h" 4ee577835SZhong Yang 5ee577835SZhong Yang class CUiMediaLibItemMgr 6ee577835SZhong Yang { 7ee577835SZhong Yang public: 8ee577835SZhong Yang ~CUiMediaLibItemMgr(); 9ee577835SZhong Yang static CUiMediaLibItemMgr& Instance(); 10ee577835SZhong Yang 11ee577835SZhong Yang void Init(); 12ee577835SZhong Yang 13ee577835SZhong Yang int GetItemCount(CMediaClassifier::ClassificationType type) const; 14ee577835SZhong Yang std::wstring GetItemDisplayName(CMediaClassifier::ClassificationType type, int index) const; 15ee577835SZhong Yang const std::wstring& GetItemName(CMediaClassifier::ClassificationType type, int index) const; 16*cda444b5SZhong Yang int GetItemSongCount(CMediaClassifier::ClassificationType type, int index) const; 17ee577835SZhong Yang void SetCurrentName(CMediaClassifier::ClassificationType type, const std::wstring& name); 18ee577835SZhong Yang int GetCurrentIndex(CMediaClassifier::ClassificationType type); 19ee577835SZhong Yang 20ee577835SZhong Yang private: 21ee577835SZhong Yang CUiMediaLibItemMgr(); 22ee577835SZhong Yang void GetClassifiedMeidaLibItemList(CMediaClassifier::ClassificationType type); 23ee577835SZhong Yang 24ee577835SZhong Yang static CUiMediaLibItemMgr m_instance; 25*cda444b5SZhong Yang struct ItemInfo 26*cda444b5SZhong Yang { 27*cda444b5SZhong Yang std::wstring name; 28*cda444b5SZhong Yang int count{}; 29*cda444b5SZhong Yang }; 30*cda444b5SZhong Yang 31*cda444b5SZhong Yang const ItemInfo& GetItemInfo(CMediaClassifier::ClassificationType type, int index) const; 32*cda444b5SZhong Yang 33*cda444b5SZhong Yang std::map<CMediaClassifier::ClassificationType, std::vector<ItemInfo>> m_item_map; //保存媒体库中所有分类的名称列表 34ee577835SZhong Yang bool m_loading{}; 35ee577835SZhong Yang std::map<CMediaClassifier::ClassificationType, int> m_current_index_map; //保存媒体库模式下每种模式正在播放的曲目 36ee577835SZhong Yang std::map<CMediaClassifier::ClassificationType, std::wstring> m_current_name_map; //保存媒体库模式下每种模式正在播放的曲目 37ee577835SZhong Yang }; 38ee577835SZhong Yang 39