-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSystemObject.cpp
More file actions
134 lines (107 loc) · 2.61 KB
/
SystemObject.cpp
File metadata and controls
134 lines (107 loc) · 2.61 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <sstream>
#include "SystemObject.h"
namespace fs
{
const std::string& SystemObject::getName() const
{
return m_name;
}
void SystemObject::setName(const std::string& name)
{
m_name = name;
}
const std::string& SystemObject::getOwner() const
{
return m_owner;
}
void SystemObject::setOwner(const std::string& owner)
{
m_owner = owner;
}
std::time_t SystemObject::getCreated() const
{
return m_created;
}
void SystemObject::setCreated(const std::time_t created)
{
m_created = created;
}
std::time_t SystemObject::getModified() const
{
return m_modified;
}
void SystemObject::setModified(const std::time_t modified)
{
m_modified = modified;
}
const std::string& SystemObject::getParentPath() const
{
return m_parentPath;
}
void SystemObject::setParentPath(const std::string& parentPath)
{
m_parentPath = parentPath;
}
int SystemObject::getPermissions() const
{
return m_permissions;
}
void SystemObject::setPermissions(const int permissions)
{
m_permissions = permissions;
}
SystemObjectType SystemObject::getType() const
{
return m_type;
}
void SystemObject::setType(const SystemObjectType& type)
{
m_type = type;
}
std::ofstream& SystemObject::saveToFile(std::ofstream& ofs) const
{
ofs << static_cast<int>(m_type) << "|"
<< m_name << "|"
<< m_owner << "|"
<< m_created << "|"
<< m_modified << "|"
<< m_parentPath << "|"
<< getSize() << "|"
<< m_permissions;
return ofs;
}
std::istringstream& SystemObject::readFromFile(std::istringstream& ifs)
{
std::string token;
// Read type
std::getline(ifs, token, '|');
m_type = static_cast<SystemObjectType>(std::stoi(token));
// Read name
std::getline(ifs, m_name, '|');
// Read owner
std::getline(ifs, m_owner, '|');
// Read created
std::getline(ifs, token, '|');
m_created = static_cast<std::time_t>(std::stol(token));
// Read modified
std::getline(ifs, token, '|');
m_modified = static_cast<std::time_t>(std::stol(token));
// Read parentPath
std::getline(ifs, m_parentPath, '|');
// Read size
std::getline(ifs, token, '|');
m_size = std::stoull(token);
// Read permissions
std::getline(ifs, token, '|');
m_permissions = std::stoi(token);
return ifs;
}
std::istringstream& operator>>(std::istringstream& ifs, SystemObject& so)
{
return so.readFromFile(ifs);
}
std::ofstream& operator<<(std::ofstream& ofs, const SystemObject& so)
{
return so.saveToFile(ofs);
}
} // namespace fs