struct SLogCacheItem\r
{\r
BYTE m_Hash[40];\r
- DWORD m_Offset;\r
+ ULONGLONG m_Offset;\r
};\r
\r
struct SLogCacheRevFileHeader\r
CFile m_DataFile;\r
CFile m_LockFile;\r
\r
+ BOOL CheckHeader(SLogCacheIndexHeader &header)\r
+ {\r
+ if(header.m_Magic != LOG_INDEX_MAGIC)\r
+ return FALSE;\r
+\r
+ if(header.m_Version != LOG_INDEX_VERSION)\r
+ return FALSE;\r
+\r
+ return TRUE;\r
+ }\r
+\r
BOOL CheckHeader(SLogCacheRevFileHeader &header)\r
{\r
- if(header.m_Magic == LOG_DATA_MAGIC)\r
- return TRUE;\r
- else\r
+ if(header.m_Magic != LOG_DATA_MAGIC)\r
return FALSE;\r
\r
- if(header.m_Version == LOG_INDEX_VERSION)\r
- return TRUE;\r
- else\r
+ if(header.m_Version != LOG_INDEX_VERSION)\r
return FALSE;\r
+\r
+ return TRUE;\r
}\r
\r
BOOL CheckHeader(SLogCacheRevItemHeader &header)\r
{\r
- if(header.m_Magic == LOG_DATA_ITEM_MAGIC)\r
- return TRUE;\r
- else\r
+ if(header.m_Magic != LOG_DATA_ITEM_MAGIC)\r
return FALSE;\r
\r
- if(header.m_Version == LOG_INDEX_VERSION)\r
- return TRUE;\r
- else\r
+ if(header.m_Version != LOG_INDEX_VERSION)\r
return FALSE;\r
-\r
+ \r
+ return TRUE;\r
}\r
\r
- int SaveOneItem(CString &GitDir,GitRev &Rev,UINT offset);\r
- int LoadOneItem(CString &GitDir,GitRev &Rev,UINT offset);\r
+ int SaveOneItem(GitRev &Rev,ULONGLONG offset);\r
+ int LoadOneItem(GitRev &Rev,ULONGLONG offset);\r
+ CString m_GitDir;\r
+ int RebuildCacheFile();\r
\r
public:\r
CLogCache();\r
~CLogCache();\r
- int FetchCache(CString GitDir);\r
+ int FetchCacheIndex(CString GitDir);\r
std::vector<GitRev> m_NewCacheEntry;\r
- std::map<CString, DWORD> m_HashMapIndex;\r
+ std::map<CString, ULONGLONG> m_HashMapIndex;\r
int GetCacheData(GitRev &Rev);\r
int AddCacheEntry(GitRev &Rev);\r
+ int SaveCache();\r
+\r
\r
};
\ No newline at end of file