diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Library/ml_wire/Downloaded.cpp | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Plugins/Library/ml_wire/Downloaded.cpp')
-rw-r--r-- | Src/Plugins/Library/ml_wire/Downloaded.cpp | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_wire/Downloaded.cpp b/Src/Plugins/Library/ml_wire/Downloaded.cpp new file mode 100644 index 00000000..e088a376 --- /dev/null +++ b/Src/Plugins/Library/ml_wire/Downloaded.cpp @@ -0,0 +1,121 @@ +#include "main.h" +#include "Downloaded.h" + +DownloadList downloadedFiles; +using namespace Nullsoft::Utility; +Nullsoft::Utility::LockGuard downloadedLock; + +DownloadedFile::DownloadedFile() +{ + Init(); +} + +DownloadedFile::DownloadedFile(const wchar_t *_url, const wchar_t *_path, const wchar_t *_channel, const wchar_t *_item, __time64_t publishDate) +{ + Init(); + + this->publishDate = publishDate; + + SetChannel( _channel ); + SetItem( _item ); + SetPath( _path ); + SetURL( _url ); +} + +DownloadedFile::DownloadedFile( const DownloadedFile © ) +{ + Init(); + + operator =( copy ); +} + +DownloadedFile::~DownloadedFile() +{ + Reset(); +} + + +void DownloadedFile::Init() +{ + url = 0; + path = 0; + channel = 0; + item = 0; + bytesDownloaded = 0; + totalSize = 0; + publishDate = 0; +} + +void DownloadedFile::Reset() +{ + if ( url ) + { + free( url ); + url = 0; + } + + if ( path ) + { + free( path ); + path = 0; + } + + if ( channel ) + { + free( channel ); + channel = 0; + } + + if ( item ) + { + free( item ); + item = 0; + } +} + +void DownloadedFile::SetPath( const wchar_t *_path ) +{ + if ( path ) + free( path ); + + path = _wcsdup( _path ); +} + +void DownloadedFile::SetURL( const wchar_t *_url ) +{ + if ( url ) + free( url ); + + url = _wcsdup( _url ); +} + +void DownloadedFile::SetItem( const wchar_t *_item ) +{ + free( item ); + item = _wcsdup( _item ); +} + +void DownloadedFile::SetChannel( const wchar_t *_channel ) +{ + free( channel ); + channel = _wcsdup( _channel ); +} + +const DownloadedFile &DownloadedFile::operator =( const DownloadedFile © ) +{ + Reset(); + Init(); + + SetChannel( copy.channel ); + SetItem( copy.item ); + + bytesDownloaded = copy.bytesDownloaded; + totalSize = copy.totalSize; + publishDate = copy.publishDate; + downloadDate = copy.downloadDate; + + SetPath( copy.path ); + SetURL( copy.url ); + + return *this; +}
\ No newline at end of file |