Remove unnecessary 0 checks before delete; see http://www.parashift.com/c++-faq-lite...
[ardour.git] / libs / ardour / session_state_utils.cc
index 1ce61954a425230fa7724552780d2247209c7980..e57dce039e835fddae60bfadfae40d0294430d9e 100644 (file)
        Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
+#include <algorithm>
+
 #include <pbd/compose.h>
 #include <pbd/error.h>
+#include <pbd/file_utils.h>
 
 #include <ardour/session_state_utils.h>
 #include <ardour/filename_extensions.h>
@@ -47,4 +50,27 @@ create_backup_file (const sys::path & file_path)
        return true;
 }
 
+void
+get_state_files_in_directory (const sys::path & directory_path,
+               vector<sys::path> & result)
+{
+       Glib::PatternSpec state_file_pattern('*' + string(statefile_suffix));
+       
+       find_matching_files_in_directory (directory_path, state_file_pattern,
+                       result);
+}
+
+vector<string>
+get_file_names_no_extension (const vector<sys::path> & file_paths)
+{
+       vector<string> result;
+
+       std::transform (file_paths.begin(), file_paths.end(),
+                       std::back_inserter(result), sys::basename);
+
+       sort (result.begin(), result.end(), std::less<string>());
+
+       return result;
+}
+
 } // namespace ARDOUR