2 Copyright (C) 2007 Tim Mayberry
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 #ifndef ARDOUR_SESSION_STATE_UTILS_INCLUDED
20 #define ARDOUR_SESSION_STATE_UTILS_INCLUDED
25 #include <pbd/filesystem.h>
34 * Attempt to create a backup copy of a file.
36 * A copy of the file is created in the same directory using
37 * the same filename with the backup suffix appended.
39 * @return true if successful, false otherwise.
41 bool create_backup_file (const sys::path & file_path);
44 * Get the absolute paths to all state files in the directory
45 * at path directory_path.
47 * @param directory_path The absolute path to a directory.
48 * @param result vector to contain resulting state files.
50 void get_state_files_in_directory (const sys::path & directory_path,
51 vector<sys::path>& result);
54 * Given a vector of paths to files, return a vector containing
55 * the filenames without any extension.
57 * @param file_paths a vector containing the file paths
58 * @return a vector containing a list of file names without any
61 vector<string> get_file_names_no_extension (const vector<sys::path> & file_paths);