diff options
Diffstat (limited to 'Src/playlist/pl_entry.h')
-rw-r--r-- | Src/playlist/pl_entry.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Src/playlist/pl_entry.h b/Src/playlist/pl_entry.h new file mode 100644 index 00000000..852b584d --- /dev/null +++ b/Src/playlist/pl_entry.h @@ -0,0 +1,61 @@ +#ifndef NULLSOFT_ML_PLAYLISTS_PL_ENTRY_H +#define NULLSOFT_ML_PLAYLISTS_PL_ENTRY_H + +#include "ifc_plentryinfo.h" +#include <windows.h> +#include <map> +#include <iostream> + + +class pl_entry +{ +public: + pl_entry() {} + pl_entry( const wchar_t *p_filename, const wchar_t *p_title, int p_length_ms ); + pl_entry( const wchar_t *p_filename, const wchar_t *p_title, int p_length_ms, int p_size ); + pl_entry( const wchar_t *p_filename, const wchar_t *p_title, int p_length_ms, ifc_plentryinfo *p_info ); + pl_entry( const wchar_t *p_filename, const wchar_t *p_title, int p_length_ms, int p_size, ifc_plentryinfo *p_info ); + pl_entry( const wchar_t *p_filename, const wchar_t *p_title, int p_length_ms, + const wchar_t *mediahash, const wchar_t *metahash, + const wchar_t *cloud_id, const wchar_t *cloud_status, + const wchar_t *cloud_devices ); + ~pl_entry(); + + size_t GetFilename( wchar_t *p_filename, size_t filenameCch ); + size_t GetTitle( wchar_t *title, size_t titleCch ); + int GetLengthInMilliseconds(); + int GetSizeInBytes(); + size_t GetExtendedInfo( const wchar_t *metadata, wchar_t *info, size_t infoCch ); + + void SetFilename( const wchar_t *p_filename ); + void SetTitle( const wchar_t *title ); + void SetLengthMilliseconds( int length ); + void SetSizeBytes( int size ); + + void SetMediahash( const wchar_t *mediahash ); + void SetMetahash( const wchar_t *metahash ); + void SetCloudID( const wchar_t *cloud_id ); + void SetCloudStatus( const wchar_t *cloud_status ); + void SetCloudDevices( const wchar_t *cloud_devices ); + + bool isLocal() const { return _is_local_file; } + + wchar_t *filename = 0; + wchar_t *filetitle = 0; + + wchar_t *mediahash = 0; + wchar_t *metahash = 0; + wchar_t *cloud_id = 0; + wchar_t *cloud_status = 0; + wchar_t *cloud_devices = 0; + + std::map<std::wstring, std::wstring> _extended_infos; + + int length = -1; + int size = 0; + + bool cached = false; + bool _is_local_file = false; +}; + +#endif
\ No newline at end of file |