11 #include "PlayListTypes.h" 26 explicit CPlayList(PLAYLIST::Id
id = PLAYLIST::TYPE_NONE);
28 virtual bool Load(
const std::string& strFileName);
29 virtual bool LoadData(std::istream &stream);
30 virtual bool LoadData(
const std::string& strData);
31 virtual void Save(
const std::string& strFileName)
const {};
34 void Add(
const std::shared_ptr<CFileItem>& pItem);
38 void Insert(
const CPlayList& playlist,
int iPosition = -1);
40 void Insert(
const std::shared_ptr<CFileItem>& item,
int iPosition = -1);
42 int FindOrder(
int iOrder)
const;
43 const std::string& GetName()
const;
44 void Remove(
const std::string& strFileName);
45 void Remove(
int position);
46 bool Swap(
int position1,
int position2);
47 bool Expand(
int position);
52 const std::shared_ptr<CFileItem> operator[](
int iItem)
const;
53 std::shared_ptr<CFileItem> operator[](
int iItem);
55 void Shuffle(
int iPosition = 0);
57 bool IsShuffled()
const {
return m_bShuffled; }
59 void SetPlayed(
bool bPlayed) { m_bWasPlayed =
true; }
60 bool WasPlayed()
const {
return m_bWasPlayed; }
62 void SetUnPlayable(
int iItem);
63 int GetPlayable()
const {
return m_iPlayableItems; }
67 const std::string& ResolveURL(
const std::shared_ptr<CFileItem>& item)
const;
71 std::string m_strPlayListName;
72 std::string m_strBasePath;
78 std::vector<std::shared_ptr<CFileItem>> m_vecItems;
79 typedef std::vector<std::shared_ptr<CFileItem>>::iterator ivecItems;
82 void Add(
const std::shared_ptr<CFileItem>& item,
int iPosition,
int iOrderOffset);
83 void DecrementOrder(
int iOrder);
84 void IncrementOrder(
int iPosition,
int iOrder);
86 void AnnounceRemove(
int pos);
88 void AnnounceAdd(
const std::shared_ptr<CFileItem>& item,
int pos);
91 typedef std::shared_ptr<CPlayList> CPlayListPtr;
Definition: Application.h:64
Represents a list of files.
Definition: FileItem.h:713
Definition: PlayList.h:23
Definition: LibInputPointer.h:13
Represents a file on a share.
Definition: FileItem.h:102