Merge 1.0 in.
[dcpomatic.git] / src / lib / config.h
index bce6bfd7e2707ecbd7a196ee60ac69f4d1df5426..48eabd54ca3dc33b6f395f34c8981256413ce9f0 100644 (file)
@@ -38,6 +38,7 @@ class Filter;
 class SoundProcessor;
 class DCPContentType;
 class Ratio;
+class Cinema;
 
 /** @class Config
  *  @brief A singleton class holding configuration.
@@ -92,6 +93,10 @@ public:
                return _sound_processor;
        }
 
+       std::list<boost::shared_ptr<Cinema> > cinemas () const {
+               return _cinemas;
+       }
+       
        std::list<int> allowed_dcp_frame_rates () const {
                return _allowed_dcp_frame_rates;
        }
@@ -175,6 +180,14 @@ public:
                _tms_password = p;
        }
 
+       void add_cinema (boost::shared_ptr<Cinema> c) {
+               _cinemas.push_back (c);
+       }
+
+       void remove_cinema (boost::shared_ptr<Cinema> c) {
+               _cinemas.remove (c);
+       }
+
        void set_allowed_dcp_frame_rates (std::list<int> const & r) {
                _allowed_dcp_frame_rates = r;
        }
@@ -217,6 +230,8 @@ public:
        
        void write () const;
 
+       std::string crypt_chain_directory () const;
+
        static Config* instance ();
        static void drop ();
 
@@ -260,6 +275,8 @@ private:
        int _default_j2k_bandwidth;
        std::vector<PresetColourConversion> _colour_conversions;
 
+       std::list<boost::shared_ptr<Cinema> > _cinemas;
+
        /** Singleton instance, or 0 */
        static Config* _instance;
 };