1 #ifndef _SAVE_H_
2 #define _SAVE_H_
3 
4 #include "filesystem_def.h"
5 #include <string>
6 #include <ctime>
7 #include "Types.h"
8 #include "Stream.h"
9 
10 class CSave
11 {
12 public:
13 	enum ICONTYPE
14 	{
15 		ICON_NORMAL,
16 		ICON_DELETING,
17 		ICON_COPYING,
18 	};
19 
20 	CSave(const fs::path&);
21 	virtual ~CSave() = default;
22 
23 	const wchar_t* GetName() const;
24 	const char* GetId() const;
25 	unsigned int GetSize() const;
26 
27 	fs::path GetPath() const;
28 	fs::path GetIconPath(const ICONTYPE&) const;
29 	fs::path GetNormalIconPath() const;
30 	fs::path GetDeletingIconPath() const;
31 	fs::path GetCopyingIconPath() const;
32 
33 	size_t GetSecondLineStartPosition() const;
34 	time_t GetLastModificationTime() const;
35 
36 private:
37 	void ReadName(Framework::CStream&);
38 
39 	fs::path m_basePath;
40 	std::wstring m_sName;
41 	std::string m_sId;
42 	std::string m_sNormalIconFileName;
43 	std::string m_sDeletingIconFileName;
44 	std::string m_sCopyingIconFileName;
45 	uint16 m_nSecondLineStartPosition;
46 	time_t m_nLastModificationTime;
47 };
48 
49 #endif
50