#ifndef __PListFiles__H
#define __PListFiles__H

#include "FileList.h"
#include "FLTrack.h"
#include "Player.h"

typedef struct PListFiles PListFiles;

PListFiles* /*throw*/PListFiles_Get(void);
void PListFiles_Release(void);

void PListFiles_RefreshTrackList(PListFiles*, const FileList* pCause);
void PListFiles_RefreshPlayer(PListFiles*, unsigned int flags);

void PListFiles_ReceiveFile(PListFiles*, const Msg_FileData* rcv);
const FLTrack* PListFiles_GetPlayedTrack(PListFiles*);
void PListFiles_RemoveTrack(PListFiles*, const FLTrack* pTrack);
void PListFiles_StopTrack(PListFiles*, const FLTrack* pTrack);
void PListFiles_AttachFileList(PListFiles*, FileList* pList);
void PListFiles_AttachQueue(PListFiles*, FileList* pList);
FileList* PListFiles_GetQueue(const PListFiles*);

#endif
