aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Library/ml_wire/Downloaded.cpp
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Library/ml_wire/Downloaded.cpp
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-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.cpp121
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 &copy )
+{
+ 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 &copy )
+{
+ 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