3 #ifndef __ARC_FILEINFO_H__
4 #define __ARC_FILEINFO_H__
9 #include <arc/DateTime.h>
11 #include <arc/StringConv.h>
39 size((unsigned long long int)(-1)),
40 modified((time_t)(-1)),
44 if (!name.empty()) metadata[
"name"] = name;
54 std::string::size_type pos = name.rfind(
'/');
55 if (pos != std::string::npos)
56 return name.substr(pos + 1);
79 return (size != (
unsigned long long int)(-1));
88 void SetSize(
const unsigned long long int s) {
95 return (!checksum.empty());
106 metadata[
"checksum"] = c;
111 return (modified != -1);
122 metadata[
"mtime"] = t.
str();
127 return (valid != -1);
138 metadata[
"validity"] = t.
str();
160 return (!latency.empty());
171 metadata[
"latency"] = l;
186 return (
lower(this->name).compare(
lower(f.name)) < 0);
190 operator bool()
const {
191 return !name.empty();
203 unsigned long long int size;
204 std::string checksum;
209 std::map<std::string, std::string> metadata;
214 #endif // __ARC_FILEINFO_H__