#include <vector>
#include <string>
-#include "pbd/filesystem.h"
-
namespace ARDOUR {
/**
*
* @return true if successful, false otherwise.
*/
-bool create_backup_file (const PBD::sys::path & file_path);
+bool create_backup_file (const std::string & file_path);
/**
* Get the absolute paths to all state files in the directory
return;
}
- sys::path xml_path(_session_dir->root_path());
+ std::string xml_path(_session_dir->root_path());
- xml_path /= legalize_for_path (snapshot_name) + statefile_suffix;
+ xml_path = Glib::build_filename (xml_path, legalize_for_path (snapshot_name) + statefile_suffix);
if (!create_backup_file (xml_path)) {
// don't remove it if a backup can't be made
Session::save_state (string snapshot_name, bool pending, bool switch_to_snapshot)
{
XMLTree tree;
- sys::path xml_path(_session_dir->root_path());
+ std::string xml_path(_session_dir->root_path());
if (!_writable || (_state_of_the_state & CannotSave)) {
return 1;
/* proper save: use statefile_suffix (.ardour in English) */
- xml_path /= legalize_for_path (snapshot_name) + statefile_suffix;
+ xml_path = Glib::build_filename (xml_path, legalize_for_path (snapshot_name) + statefile_suffix);
/* make a backup copy of the old file */
} else {
/* pending save: use pending_suffix (.pending in English) */
- xml_path /= legalize_for_path (snapshot_name) + pending_suffix;
+ xml_path = Glib::build_filename (xml_path, legalize_for_path (snapshot_name) + pending_suffix);
}
sys::path tmp_path(_session_dir->root_path());
} else {
- if (::rename (tmp_path.to_string().c_str(), xml_path.to_string().c_str()) != 0) {
+ if (::rename (tmp_path.to_string().c_str(), xml_path.c_str()) != 0) {
error << string_compose (_("could not rename temporary session file %1 to %2"),
- tmp_path.to_string(), xml_path.to_string()) << endmsg;
+ tmp_path.to_string(), xml_path) << endmsg;
sys::remove (tmp_path);
return -1;
}
#include <algorithm>
+#include <glibmm/fileutils.h>
+
#include "pbd/compose.h"
#include "pbd/error.h"
#include "pbd/file_utils.h"
+#include "pbd/filesystem.h"
#include "ardour/session_state_utils.h"
#include "ardour/filename_extensions.h"
namespace ARDOUR {
bool
-create_backup_file (const sys::path & file_path)
+create_backup_file (const std::string & file_path)
{
- if (!sys::exists (file_path)) return false;
+ if (!Glib::file_test (file_path, Glib::FILE_TEST_EXISTS)) return false;
- sys::path backup_path(file_path.to_string() + backup_suffix);
+ std::string backup_path(file_path + backup_suffix);
try
{
catch(sys::filesystem_error& ex)
{
error << string_compose (_("Unable to create a backup copy of file %1 (%2)"),
- file_path.to_string(), ex.what())
+ file_path, ex.what())
<< endmsg;
return false;
}