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__