Add some missing override labels.
[dcpomatic.git] / src / lib / config.h
index e01eab780e8c9ce4dfabd2aee89caa7675d1845e..e9b3ec203af95e762f6271ef66aa501f36ab5a1d 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2022 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
  *  @brief Class holding configuration.
  */
 
+
 #ifndef DCPOMATIC_CONFIG_H
 #define DCPOMATIC_CONFIG_H
 
-#include "types.h"
-#include "state.h"
+
 #include "audio_mapping.h"
+#include "state.h"
+#include "types.h"
 #include <dcp/name_format.h>
 #include <dcp/certificate_chain.h>
 #include <dcp/encrypted_kdm.h>
 #include <boost/filesystem.hpp>
 #include <vector>
 
+
+class Cinema;
 class CinemaSoundProcessor;
 class DCPContentType;
-class Ratio;
-class Cinema;
-class Film;
 class DKDMGroup;
 class DKDMRecipient;
+class Film;
+class Ratio;
+
+
+extern void save_all_config_as_zip (boost::filesystem::path zip_file);
+
 
 /** @class Config
  *  @brief A singleton class holding configuration.
@@ -140,11 +147,11 @@ public:
                return _tms_password;
        }
 
-       std::list<std::shared_ptr<Cinema> > cinemas () const {
+       std::list<std::shared_ptr<Cinema>> cinemas () const {
                return _cinemas;
        }
 
-       std::list<std::shared_ptr<DKDMRecipient> > dkdm_recipients () const {
+       std::list<std::shared_ptr<DKDMRecipient>> dkdm_recipients () const {
                return _dkdm_recipients;
        }
 
@@ -544,6 +551,23 @@ public:
                return _add_files_path;
        }
 
+       bool use_isdcf_name_by_default () const {
+               return _use_isdcf_name_by_default;
+       }
+
+       bool write_kdms_to_disk () const {
+               return _write_kdms_to_disk;
+       }
+
+       bool email_kdms () const {
+               return _email_kdms;
+       }
+
+       dcp::Formulation default_kdm_type () const {
+               return _default_kdm_type;
+       }
+
+
        /* SET (mostly) */
 
        void set_master_encoding_threads (int n) {
@@ -1048,6 +1072,22 @@ public:
                changed ();
        }
 
+       void set_use_isdcf_name_by_default (bool use) {
+               maybe_set (_use_isdcf_name_by_default, use);
+       }
+
+       void set_write_kdms_to_disk (bool write) {
+               maybe_set (_write_kdms_to_disk, write);
+       }
+
+       void set_email_kdms (bool email) {
+               maybe_set (_email_kdms, email);
+       }
+
+       void set_default_kdm_type (dcp::Formulation type) {
+               maybe_set (_default_kdm_type, type);
+       }
+
        void changed (Property p = OTHER);
        boost::signals2::signal<void (Property)> Changed;
        /** Emitted if read() failed on an existing Config file.  There is nothing
@@ -1068,7 +1108,7 @@ public:
 
        static boost::signals2::signal<bool (BadReason)> Bad;
 
-       void write () const;
+       void write () const override;
        void write_config () const;
        void write_cinemas () const;
        void write_dkdm_recipients () const;
@@ -1095,7 +1135,7 @@ public:
 
 private:
        Config ();
-       void read ();
+       void read () override;
        void set_defaults ();
        void set_kdm_email_to_default ();
        void set_notification_email_to_default ();
@@ -1182,8 +1222,8 @@ private:
        */
        boost::optional<boost::filesystem::path> _default_kdm_directory;
        bool _upload_after_make_dcp;
-       std::list<std::shared_ptr<Cinema> > _cinemas;
-       std::list<std::shared_ptr<DKDMRecipient> > _dkdm_recipients;
+       std::list<std::shared_ptr<Cinema>> _cinemas;
+       std::list<std::shared_ptr<DKDMRecipient>> _dkdm_recipients;
        std::string _mail_server;
        int _mail_port;
        EmailProtocol _mail_protocol;
@@ -1263,6 +1303,10 @@ private:
        boost::optional<AudioMapping> _audio_mapping;
        std::vector<dcp::LanguageTag> _custom_languages;
        boost::optional<boost::filesystem::path> _add_files_path;
+       bool _use_isdcf_name_by_default;
+       bool _write_kdms_to_disk;
+       bool _email_kdms;
+       dcp::Formulation _default_kdm_type;
 
        static int const _current_version;