/*
- Copyright (C) 2007 Tim Mayberry
+ Copyright (C) 2007 Tim Mayberry
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <algorithm>
-#include <pbd/compose.h>
-#include <pbd/error.h>
-#include <pbd/file_utils.h>
+#include <glibmm/fileutils.h>
-#include <ardour/session_state_utils.h>
-#include <ardour/filename_extensions.h>
+#include <giomm/file.h>
+
+#include "pbd/basename.h"
+#include "pbd/compose.h"
+#include "pbd/error.h"
+#include "pbd/file_utils.h"
+
+#include "ardour/session_state_utils.h"
+#include "ardour/filename_extensions.h"
#include "i18n.h"
+using namespace std;
+using namespace PBD;
+
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;
-
- sys::path backup_path(file_path.to_string() + backup_suffix);
-
- try
- {
- sys::copy_file (file_path, backup_path);
- }
- catch(sys::filesystem_error& ex)
- {
- error << string_compose (_("Unable to create a backup copy of file %1 (%2)"),
- file_path.to_string(), ex.what())
- << endmsg;
- return false;
- }
- return true;
+ return copy_file (file_path, file_path + backup_suffix);
}
void
-get_state_files_in_directory (const sys::path & directory_path,
- vector<sys::path> & result)
+get_state_files_in_directory (const std::string & directory_path,
+ vector<std::string> & result)
{
- Glib::PatternSpec state_file_pattern('*' + string(statefile_suffix));
-
- find_matching_files_in_directory (directory_path, state_file_pattern,
- result);
+ find_files_matching_pattern (result, directory_path,
+ '*' + string(statefile_suffix));
}
vector<string>
-get_file_names_no_extension (const vector<sys::path> & file_paths)
+get_file_names_no_extension (const vector<std::string> & file_paths)
{
vector<string> result;
std::transform (file_paths.begin(), file_paths.end(),
- std::back_inserter(result), sys::basename);
+ std::back_inserter(result), PBD::basename_nosuffix);
sort (result.begin(), result.end(), std::less<string>());