/* Copyright (C) 2013-2021 Carl Hetherington This file is part of DCP-o-matic. DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with DCP-o-matic. If not, see . */ #ifndef DCPOMATIC_SCREEN_H #define DCPOMATIC_SCREEN_H #include "cinema_list.h" #include "kdm_recipient.h" #include "kdm_util.h" #include "kdm_with_metadata.h" #include "trusted_device.h" #include #include #include #include #include #include class Cinema; class Film; namespace dcpomatic { /** @class Screen * @brief A representation of a Screen for KDM generation. * * This is the name of the screen, the certificate of its * `recipient' (i.e. the mediablock) and the certificates/thumbprints * of any trusted devices. */ class Screen : public KDMRecipient { public: Screen ( std::string const & name_, std::string const & notes_, boost::optional recipient_, boost::optional recipient_file_, std::vector trusted_devices_ ) : KDMRecipient (name_, notes_, recipient_, recipient_file_) , trusted_devices (trusted_devices_) {} std::vector trusted_device_thumbprints () const; std::vector trusted_devices; }; } KDMWithMetadataPtr kdm_for_screen ( std::function make_kdm, CinemaID cinema_id, Cinema const& cinema, dcpomatic::Screen const& screen, dcp::LocalTime valid_from, dcp::LocalTime valid_to, dcp::Formulation formulation, bool disable_forensic_marking_picture, boost::optional disable_forensic_marking_audio, std::vector& period_checks ); #endif