Assorted C++11 tidying.
[dcpomatic.git] / src / lib / film.h
index d794486897d9c8029493b6452912ecf2bc387d01..c354b646c5361a1a5f356045b6bd109b90fe6475 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 #ifndef DCPOMATIC_FILM_H
 #define DCPOMATIC_FILM_H
 
-#include "util.h"
-#include "types.h"
-#include "isdcf_metadata.h"
+#include "change_signaller.h"
+#include "dcp_text_track.h"
 #include "frame_rate_change.h"
+#include "isdcf_metadata.h"
 #include "signaller.h"
-#include "dcp_text_track.h"
-#include <dcp/language_tag.h>
-#include <dcp/key.h>
+#include "types.h"
+#include "util.h"
 #include <dcp/encrypted_kdm.h>
+#include <dcp/key.h>
+#include <dcp/language_tag.h>
+#include <boost/filesystem.hpp>
 #include <boost/signals2.hpp>
 #include <boost/thread.hpp>
-#include <boost/filesystem.hpp>
 #include <boost/thread/mutex.hpp>
+#include <inttypes.h>
 #include <string>
 #include <vector>
-#include <inttypes.h>
 
 namespace xmlpp {
        class Document;
@@ -67,6 +68,7 @@ struct atmos_encrypted_passthrough_test;
 class InfoFileHandle
 {
 public:
+       InfoFileHandle (boost::mutex& mutex, boost::filesystem::path file, bool read);
        ~InfoFileHandle ();
 
        FILE* get () const {
@@ -80,8 +82,6 @@ public:
 private:
        friend class Film;
 
-       InfoFileHandle (boost::mutex& mutex, boost::filesystem::path file, bool read);
-
        boost::mutex::scoped_lock _lock;
        FILE* _handle;
        boost::filesystem::path _file;
@@ -202,7 +202,7 @@ public:
        /** Identifiers for the parts of our state;
            used for signalling changes.
        */
-       enum Property {
+       enum class Property {
                NONE,
                NAME,
                USE_ISDCF_NAME,
@@ -449,7 +449,7 @@ private:
        friend struct ::isdcf_name_test;
        friend struct ::recover_test_2d_encrypted;
        friend struct ::atmos_encrypted_passthrough_test;
-       template <typename> friend class ChangeSignaller;
+       template <class, class> friend class ChangeSignaller;
 
        boost::filesystem::path info_file (dcpomatic::DCPTimePeriod p) const;
 
@@ -556,4 +556,8 @@ private:
        friend struct film_metadata_test;
 };
 
+
+typedef ChangeSignaller<Film, Film::Property> FilmChangeSignaller;
+
+
 #endif