Supporters update.
[dcpomatic.git] / src / lib / config.h
index a816cd89bc99a03f7e6e426cce93b43dd3823e65..f3d080b0bdc4552c00055418695a003d0f6d7814 100644 (file)
@@ -79,6 +79,8 @@ public:
        boost::filesystem::path default_directory_or (boost::filesystem::path a) const;
        boost::filesystem::path default_kdm_directory_or (boost::filesystem::path a) const;
 
+       void load_from_zip(boost::filesystem::path zip_file);
+
        enum Property {
                USE_ANY_SERVERS,
                SERVERS,
@@ -93,6 +95,8 @@ public:
                SHOW_EXPERIMENTAL_AUDIO_PROCESSORS,
                AUDIO_MAPPING,
                AUTO_CROP_THRESHOLD,
+               ALLOW_SMPTE_BV20,
+               ISDCF_NAME_PART_LENGTH,
                OTHER
        };
 
@@ -428,6 +432,7 @@ public:
                NAG_32_ON_64,
                NAG_TOO_MANY_DROPPED_FRAMES,
                NAG_BAD_SIGNER_CHAIN_VALIDITY,
+               NAG_BAD_SIGNER_DN_QUALIFIER,
                NAG_COUNT
        };
 
@@ -612,6 +617,14 @@ public:
                return _default_add_file_location;
        }
 
+       bool allow_smpte_bv20() const {
+               return _allow_smpte_bv20;
+       }
+
+       int isdcf_name_part_length() const {
+               return _isdcf_name_part_length;
+       }
+
        /* SET (mostly) */
 
        void set_master_encoding_threads (int n) {
@@ -1185,6 +1198,14 @@ public:
                maybe_set(_default_add_file_location, location);
        }
 
+       void set_allow_smpte_bv20(bool allow) {
+               maybe_set(_allow_smpte_bv20, allow, ALLOW_SMPTE_BV20);
+       }
+
+       void set_isdcf_name_part_length(int length) {
+               maybe_set(_isdcf_name_part_length, length, ISDCF_NAME_PART_LENGTH);
+       }
+
        void changed (Property p = OTHER);
        boost::signals2::signal<void (Property)> Changed;
        /** Emitted if read() failed on an existing Config file.  There is nothing
@@ -1206,6 +1227,7 @@ public:
                BAD_SIGNER_INCONSISTENT,      ///< signer chain is somehow inconsistent
                BAD_DECRYPTION_INCONSISTENT,  ///< KDM decryption chain is somehow inconsistent
                BAD_SIGNER_VALIDITY_TOO_LONG, ///< signer certificate validity periods are >10 years
+               BAD_SIGNER_DN_QUALIFIER,      ///< some signer certificate has a bad dnQualifier (DoM #2716).
        };
 
        static boost::signals2::signal<bool (BadReason)> Bad;
@@ -1422,6 +1444,8 @@ private:
        boost::optional<int> _main_divider_sash_position;
        boost::optional<int> _main_content_divider_sash_position;
        DefaultAddFileLocation _default_add_file_location;
+       bool _allow_smpte_bv20;
+       int _isdcf_name_part_length;
 
        ExportConfig _export;