#pragma once #include #include #include "SVN.h" #include "SerializeUtils.h" #include "ReaderWriterLock.h" class CUrlInfo { public: CUrlInfo(void); ~CUrlInfo(void); wstring username; wstring password; wstring url; wstring name; __time64_t lastchecked; svn_revnum_t lastcheckedrev; int minutesinterval; bool fetchdiffs; map logentries; bool Save(HANDLE hFile); bool Load(HANDLE hFile); }; class CUrlInfos { public: CUrlInfos(void); ~CUrlInfos(void); void Save(); void Load(); void Save(LPCWSTR filename); void Load(LPCWSTR filename); bool IsEmpty(); const map * GetReadOnlyData(); map * GetWriteData(); void ReleaseReadOnlyData(); void ReleaseWriteData(); protected: bool Save(HANDLE hFile); bool Load(HANDLE hFile); private: map infos; CReaderWriterLock guard; };