/*
- 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
#ifndef ARDOUR_SESSION_STATE_UTILS_INCLUDED
#define ARDOUR_SESSION_STATE_UTILS_INCLUDED
-#include <pbd/filesystem.h>
+#include <vector>
+#include <string>
-namespace ARDOUR {
+#include "pbd/filesystem.h"
-using namespace PBD;
+namespace ARDOUR {
/**
* Attempt to create a backup copy of a file.
*
- * A copy of the file is created in the same directory using
+ * A copy of the file is created in the same directory using
* the same filename with the backup suffix appended.
*
* @return true if successful, false otherwise.
*/
-bool create_backup_file (const sys::path & file_path);
+bool create_backup_file (const PBD::sys::path & file_path);
+
+/**
+ * Get the absolute paths to all state files in the directory
+ * at path directory_path.
+ *
+ * @param directory_path The absolute path to a directory.
+ * @param result vector to contain resulting state files.
+ */
+void get_state_files_in_directory (const PBD::sys::path & directory_path,
+ std::vector<PBD::sys::path>& result);
+
+/**
+ * Given a vector of paths to files, return a vector containing
+ * the filenames without any extension.
+ *
+ * @param file_paths a vector containing the file paths
+ * @return a vector containing a list of file names without any
+ * filename extension.
+ */
+std::vector<std::string> get_file_names_no_extension (const std::vector<PBD::sys::path> & file_paths);
} // namespace ARDOUR