aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Library/ml_wire/Item.h
blob: e7a5e82ba31548a1dc31b68de7f4cee2d1f131e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#pragma once
#include <bfc/platform/types.h>
#include <time.h>
#include <windows.h>

namespace RSS
{
	class Item
	{
	public:
		Item();
		~Item();
		Item(const Item &copy);
		const Item &operator =(const Item &copy);

		HRESULT GetDownloadFileName(const wchar_t *channelName, wchar_t *buffer, int bufferMax, BOOL fValidatePath) const;
		bool listened;
		bool downloaded;
		__time64_t publishDate;
		bool generatedDate;

	//protected:
		wchar_t *itemName;
		wchar_t *url;
		wchar_t *sourceUrl;
		wchar_t *guid;
		wchar_t *description;
		wchar_t *link;
		wchar_t *duration;
		int64_t size;
		
	private:
		void Init();
		void Reset();
	};

	class MutableItem : public Item
	{
	public:
		void SetItemName(const wchar_t *value);
		void SetLink(const wchar_t *value);
		void SetURL(const wchar_t *value);
		void SetSourceURL(const wchar_t *value);
		void SetGUID(const wchar_t *value);
		void SetDescription(const wchar_t *value);
		void SetDuration(const wchar_t *value);
		void SetSize(const wchar_t * _size);
	};

}