All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CacheRecord.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include <string>
7 #include <ctime>
8 
9 namespace Eegeo
10 {
11  namespace Web
12  {
13  namespace Cache
14  {
16  {
17  public:
18  CacheRecord();
19 
21  const std::string& url,
22  time_t firstRetrievedTime,
23  time_t lastRetrievedTime,
24  const std::string& etag,
25  const std::string& lastModifiedTime,
26  size_t headerDataSize,
27  size_t bodyDataSize);
28 
29  virtual ~CacheRecord();
30 
31  const std::string& GetUrl() const;
32  time_t GetFirstRetrievedTime() const;
33  time_t GetLastRetrievedTime() const;
34  const std::string& GetETag() const;
35  const std::string& GetLastModified() const;
36  size_t GetHeaderDataSize() const;
37  size_t GetBodyDataSize() const;
38  size_t GetSizeOnDisk() const;
39 
40  private:
41  std::string m_url;
42  std::string m_etag;
43  time_t m_firstRetrievedTime;
44  time_t m_lastRetrievedTime;
45  std::string m_lastModified;
46  size_t m_headerDataSize;
47  size_t m_bodyDataSize;
48  };
49  }
50  }
51 }