MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / PrepareStagingDirectory

Method PrepareStagingDirectory

updater/Updater.cpp:264–297  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

262}
263
264bool Updater::PrepareStagingDirectory()
265{
266 if (FileSystem::DirectoryExists(m_staging_directory.c_str()))
267 {
268 m_progress->DisplayFormattedWarning("Update staging directory already exists, removing");
269 if (!RecursiveDeleteDirectory(m_staging_directory.c_str()) ||
270 FileSystem::DirectoryExists(m_staging_directory.c_str()))
271 {
272 m_progress->ModalError("Failed to remove old staging directory");
273 return false;
274 }
275 }
276 if (!FileSystem::CreateDirectoryPath(m_staging_directory.c_str(), false))
277 {
278 m_progress->DisplayFormattedModalError("Failed to create staging directory %s", m_staging_directory.c_str());
279 return false;
280 }
281
282 // create subdirectories in staging directory
283 for (const std::string& subdir : m_update_directories)
284 {
285 m_progress->DisplayFormattedInformation("Creating subdirectory in staging: %s", subdir.c_str());
286
287 const std::string staging_subdir =
288 StringUtil::StdStringFromFormat("%s" FS_OSPATH_SEPARATOR_STR "%s", m_staging_directory.c_str(), subdir.c_str());
289 if (!FileSystem::CreateDirectoryPath(staging_subdir.c_str(), false))
290 {
291 m_progress->DisplayFormattedModalError("Failed to create staging subdirectory %s", staging_subdir.c_str());
292 return false;
293 }
294 }
295
296 return true;
297}
298
299bool Updater::StageUpdate()
300{

Callers 1

wWinMainFunction · 0.80

Calls 6

StdStringFromFormatFunction · 0.85
c_strMethod · 0.45
ModalErrorMethod · 0.45

Tested by

no test coverage detected