Replace CinemaKDMs class with a list<KDMWithMetadata>
[dcpomatic.git] / src / lib / cinema_kdms.h
index a9ab4867ed9b203a6c95d47c6f48e5843cae4d17..0a5749ee89a801f9635f8f743a68c7d669349970 100644 (file)
 
 */
 
-#include "screen_kdm.h"
+#include "kdm_with_metadata.h"
 
 class Cinema;
 class Job;
 class Log;
 
-class CinemaKDMs
-{
-public:
-       void make_zip_file (boost::filesystem::path zip_file, KDMNameFormat name_format, NameFormat::Map name_values) const;
+void make_zip_file (std::list<KDMWithMetadataPtr> kdms, boost::filesystem::path zip_file, dcp::NameFormat name_format, dcp::NameFormat::Map name_values);
 
-       static std::list<CinemaKDMs> collect (std::list<ScreenKDM> kdms);
+std::list<std::list<KDMWithMetadataPtr> > collect (std::list<KDMWithMetadataPtr> kdms);
 
-       static void write_zip_files (
-               std::list<CinemaKDMs> cinema_kdms,
+int write_directories (
+               std::list<std::list<KDMWithMetadataPtr> > cinema_kdms,
                boost::filesystem::path directory,
-               KDMNameFormat name_format,
-               NameFormat::Map name_values
+               dcp::NameFormat container_name_format,
+               dcp::NameFormat filename_format,
+               dcp::NameFormat::Map name_values,
+               boost::function<bool (boost::filesystem::path)> confirm_overwrite
                );
 
-       static void email (
-               std::list<CinemaKDMs> cinema_kdms,
-               KDMNameFormat name_format,
-               NameFormat::Map name_values,
-               std::string cpl_name,
-               boost::shared_ptr<Log> log
+int write_zip_files (
+               std::list<std::list<KDMWithMetadataPtr> > cinema_kdms,
+               boost::filesystem::path directory,
+               dcp::NameFormat container_name_format,
+               dcp::NameFormat filename_format,
+               dcp::NameFormat::Map name_values,
+               boost::function<bool (boost::filesystem::path)> confirm_overwrite
+               );
+
+void email (
+               std::list<std::list<KDMWithMetadataPtr> > cinema_kdms,
+               dcp::NameFormat container_name_format,
+               dcp::NameFormat filename_format,
+               dcp::NameFormat::Map name_values,
+               std::string cpl_name
                );
 
-       boost::shared_ptr<Cinema> cinema;
-       std::list<ScreenKDM> screen_kdms;
-};