#include <boost/shared_ptr.hpp>
#include <quickmail.h>
#include <zip.h>
-#include <libdcp/kdm.h>
+#include <dcp/encrypted_kdm.h>
#include "kdm.h"
#include "cinema.h"
#include "exceptions.h"
struct ScreenKDM
{
- ScreenKDM (shared_ptr<Screen> s, libdcp::KDM k)
+ ScreenKDM (shared_ptr<Screen> s, dcp::EncryptedKDM k)
: screen (s)
, kdm (k)
{}
shared_ptr<Screen> screen;
- libdcp::KDM kdm;
+ dcp::EncryptedKDM kdm;
};
static string
-kdm_filename (shared_ptr<Film> film, ScreenKDM kdm)
+kdm_filename (shared_ptr<const Film> film, ScreenKDM kdm)
{
return tidy_for_filename (film->name()) + "_" + tidy_for_filename (kdm.screen->cinema->name) + "_" + tidy_for_filename (kdm.screen->name) + ".kdm.xml";
}
shared_ptr<Cinema> cinema;
list<ScreenKDM> screen_kdms;
- void make_zip_file (shared_ptr<Film> film, boost::filesystem::path zip_file) const
+ void make_zip_file (shared_ptr<const Film> film, boost::filesystem::path zip_file) const
{
int error;
struct zip* zip = zip_open (zip_file.string().c_str(), ZIP_CREATE | ZIP_EXCL, &error);
static list<ScreenKDM>
make_screen_kdms (
- shared_ptr<Film> film,
+ shared_ptr<const Film> film,
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
- boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ dcp::LocalTime from,
+ dcp::LocalTime to
)
{
- list<libdcp::KDM> kdms = film->make_kdms (screens, dcp, from, to);
+ list<dcp::EncryptedKDM> kdms = film->make_kdms (screens, dcp, from, to);
list<ScreenKDM> screen_kdms;
list<shared_ptr<Screen> >::iterator i = screens.begin ();
- list<libdcp::KDM>::iterator j = kdms.begin ();
+ list<dcp::EncryptedKDM>::iterator j = kdms.begin ();
while (i != screens.end() && j != kdms.end ()) {
screen_kdms.push_back (ScreenKDM (*i, *j));
++i;
static list<CinemaKDMs>
make_cinema_kdms (
- shared_ptr<Film> film,
+ shared_ptr<const Film> film,
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
- boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ dcp::LocalTime from,
+ dcp::LocalTime to
)
{
list<ScreenKDM> screen_kdms = make_screen_kdms (film, screens, dcp, from, to);
void
write_kdm_files (
- shared_ptr<Film> film,
+ shared_ptr<const Film> film,
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
- boost::posix_time::ptime from,
- boost::posix_time::ptime to,
+ dcp::LocalTime from,
+ dcp::LocalTime to,
boost::filesystem::path directory
)
{
void
write_kdm_zip_files (
- shared_ptr<Film> film,
+ shared_ptr<const Film> film,
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
- boost::posix_time::ptime from,
- boost::posix_time::ptime to,
+ dcp::LocalTime from,
+ dcp::LocalTime to,
boost::filesystem::path directory
)
{
void
email_kdms (
- shared_ptr<Film> film,
+ shared_ptr<const Film> film,
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
- boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ dcp::LocalTime from,
+ dcp::LocalTime to
)
{
list<CinemaKDMs> cinema_kdms = make_cinema_kdms (film, screens, dcp, from, to);
quickmail_set_body (mail, body.c_str());
quickmail_add_attachment_file (mail, zip_file.string().c_str(), "application/zip");
- char const* error = quickmail_send (mail, Config::instance()->mail_server().c_str(), 25, "", "");
+
+ int const port = Config::instance()->mail_user().empty() ? 25 : 587;
+
+ char const* error = quickmail_send (
+ mail,
+ Config::instance()->mail_server().c_str(),
+ port,
+ Config::instance()->mail_user().c_str(),
+ Config::instance()->mail_password().c_str()
+ );
+
if (error) {
quickmail_destroy (mail);
throw KDMError (String::compose ("Failed to send KDM email (%1)", error));