Add a description of which part of the config failed to load.
authorCarl Hetherington <cth@carlh.net>
Sun, 4 Sep 2022 18:54:38 +0000 (20:54 +0200)
committerCarl Hetherington <cth@carlh.net>
Sun, 4 Sep 2022 18:54:38 +0000 (20:54 +0200)
src/lib/config.cc
src/lib/config.h

index d9a39077e560048012f8b62ff3c761e29605be5b..94595f9f8ac88a78d7a9df26035dac5539799b7e 100644 (file)
@@ -69,7 +69,7 @@ using dcp::raw_convert;
 
 Config* Config::_instance = 0;
 int const Config::_current_version = 3;
-boost::signals2::signal<void ()> Config::FailedToLoad;
+boost::signals2::signal<void (Config::LoadFailure)> Config::FailedToLoad;
 boost::signals2::signal<void (string)> Config::Warning;
 boost::signals2::signal<bool (Config::BadReason)> Config::Bad;
 
@@ -611,7 +611,7 @@ catch (...) {
        if (have_existing("config.xml") || have_existing("cinemas.xml") || have_existing("dkdm_recipients.xml")) {
                backup ();
                /* We have a config file but it didn't load */
-               FailedToLoad ();
+               FailedToLoad(LoadFailure::CONFIG);
        }
        set_defaults ();
        /* Make a new set of signing certificates and key */
index 96016d75b8870ead42d58e9ad96a35a532f21b9e..8fbdeaf9584ffe9f9aa85c9084b2fd867aa80bb9 100644 (file)
@@ -1143,7 +1143,12 @@ public:
        /** Emitted if read() failed on an existing Config file.  There is nothing
            a listener can do about it: this is just for information.
        */
-       static boost::signals2::signal<void ()> FailedToLoad;
+       enum class LoadFailure {
+               CONFIG,
+               CINEMAS,
+               DKDM_RECIPIENTS
+       };
+       static boost::signals2::signal<void (LoadFailure)> 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 something wrong the contents of our config.  Handler can call