Changeset 840
- Timestamp:
- 1/2/2009 7:19:32 AM (4 years ago)
- Location:
- trunk/EraserDll
- Files:
-
- 2 edited
-
FileLockResolver.cpp (modified) (2 diffs)
-
FileLockResolver.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/EraserDll/FileLockResolver.cpp
r70 r840 36 36 CFileLockResolver::CFileLockResolver(BOOL askUser) 37 37 : m_bAskUser(askUser), m_hHandle(ERASER_INVALID_CONTEXT), 38 m_iMethod(0), m_ iPasses(0)38 m_iMethod(0), m_defaultAction(-1), m_iPasses(0) 39 39 { 40 40 … … 127 127 || ERROR_SHARING_VIOLATION == dwErrorCode) 128 128 { 129 if (TRUE == m_bAskUser) 129 int eraseOnRestart = !m_bAskUser || m_defaultAction == 1; 130 if (m_bAskUser && m_defaultAction == -1) 130 131 { 131 if (IDYES == AfxMessageBox(CString("The file ") + 132 szFileName + "\nis locked by another process. Do you want to Erase the file after " + 133 "you restart your computer?", MB_YESNO | MB_ICONQUESTION)) 132 int dlgCode = AfxMessageBox(CString("The file ") + szFileName + 133 "\nis locked by another process. Do you want to Erase the file " 134 "after you restart your computer?", MB_YESNO | MB_ICONQUESTION); 135 136 eraseOnRestart = dlgCode == IDYES; 137 if (AfxMessageBox("Remember this decision for the rest of this erase?", 138 MB_YESNO | MB_ICONQUESTION) == IDYES) 134 139 { 135 if (m_strLockFileList.IsEmpty()) 136 m_strLockFileList = GetLockFilePath(); 137 std::ofstream os(m_strLockFileList, std::ios_base::out | std::ios_base::app); 138 os << FileData(szFileName, method, passes); 139 140 ASSERT(m_iMethod == 0 || m_iMethod == method); 141 ASSERT(m_iPasses == 0 || m_iPasses == passes); 142 m_iMethod = method; 143 m_iPasses = passes; 140 m_defaultAction = eraseOnRestart; 144 141 } 142 } 143 144 if (eraseOnRestart) 145 { 146 if (m_strLockFileList.IsEmpty()) 147 m_strLockFileList = GetLockFilePath(); 148 std::ofstream os(m_strLockFileList, std::ios_base::out | std::ios_base::app); 149 os << FileData(szFileName, method, passes); 150 151 ASSERT(m_iMethod == 0 || m_iMethod == method); 152 ASSERT(m_iPasses == 0 || m_iPasses == passes); 153 m_iMethod = method; 154 m_iPasses = passes; 145 155 } 146 156 } -
trunk/EraserDll/FileLockResolver.h
r55 r840 27 27 { 28 28 public: 29 30 29 CFileLockResolver(BOOL = FALSE); 31 30 ~CFileLockResolver(void); 32 31 void Close(); 32 33 33 private: 34 35 34 CFileLockResolver(ERASER_HANDLE, BOOL); 36 35 inline void AskUser(BOOL val) … … 38 37 m_bAskUser = val; 39 38 } 39 40 40 public: 41 41 void SetHandle(ERASER_HANDLE); 42 42 static void Resolve(LPCTSTR szFileName, CStringArray&); 43 43 44 private: 44 45 BOOL m_bAskUser; 45 46 CString m_strLockFileList; 46 47 ERASER_HANDLE m_hHandle; 48 47 49 int m_iMethod; 50 int m_defaultAction; 48 51 unsigned m_iPasses; 52 49 53 private: 50 54 static CString GetLockFilePath(bool path_only = false);
Note: See TracChangeset
for help on using the changeset viewer.
