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