Try to warn if we're running the 32-bit version on 64-bit windows (WoW64) (#1569).
[dcpomatic.git] / src / lib / config.h
index 8cc25d7377d6d132e6a8e3934260111e93215083..29511b1fe80c47e150d4b9669b1e55686de15386 100644 (file)
@@ -376,6 +376,8 @@ public:
                /* Not really a nag but it's the same idea */
                NAG_INITIAL_SETUP,
                NAG_IMPORT_DECRYPTION_CHAIN,
+               NAG_DELETE_DKDM,
+               NAG_32_ON_64,
                NAG_COUNT
        };
 
@@ -487,6 +489,15 @@ public:
                return _image_display;
        }
 
+       enum VideoViewType {
+               VIDEO_VIEW_SIMPLE,
+               VIDEO_VIEW_OPENGL
+       };
+
+       VideoViewType video_view_type () const {
+               return _video_view_type;
+       }
+
        bool respect_kdm_validity_periods () const {
                return _respect_kdm_validity_periods;
        }
@@ -953,6 +964,10 @@ public:
                maybe_set (_image_display, n);
        }
 
+       void set_video_view_type (VideoViewType v) {
+               maybe_set (_video_view_type, v);
+       }
+
        void set_respect_kdm_validity_periods (bool r) {
                maybe_set (_respect_kdm_validity_periods, r);
        }
@@ -1071,10 +1086,16 @@ public:
        static boost::signals2::signal<void ()> FailedToLoad;
        /** Emitted if read() issued a warning which the user might want to know about */
        static boost::signals2::signal<void (std::string)> Warning;
-       /** Emitted if there is a bad certificate in the signer chain.  Handler can call
-        *  true to ask Config to re-create the chain.
+       /** Emitted if there is a something wrong the contents of our config.  Handler can call
+        *  true to ask Config to solve the problem (by discarding and recreating the bad thing)
         */
-       static boost::signals2::signal<bool (void)> BadSignerChain;
+       enum BadReason {
+               BAD_SIGNER_UTF8_STRINGS,     ///< signer chain contains UTF-8 strings (not PRINTABLESTRING)
+               BAD_SIGNER_INCONSISTENT,     ///< signer chain is somehow inconsistent
+               BAD_DECRYPTION_INCONSISTENT, ///< KDM decryption chain is somehow inconsistent
+       };
+
+       static boost::signals2::signal<bool (BadReason)> Bad;
 
        void write () const;
        void write_config () const;
@@ -1253,6 +1274,7 @@ private:
        Interface _interface_complexity;
        PlayerMode _player_mode;
        int _image_display;
+       VideoViewType _video_view_type;
        bool _respect_kdm_validity_periods;
        /** Log file containing things the player does (e.g. started, stopped, loaded
            playlist etc.)  Does not contain debugging information.