Merge master.
[dcpomatic.git] / src / lib / cinema.h
index 2e7660860e66777d015c58246c33758df65e0f91..8421f468751f72548560c9705f27cefa9bb8fcaa 100644 (file)
 
 #include <boost/enable_shared_from_this.hpp>
 #include <dcp/certificates.h>
+#include <libcxml/cxml.h>
 
 class Cinema;
 
-namespace cxml {
-       class Node;
-}
-
 /** @class Screen
  *  @brief A representation of a Screen for KDM generation.
  *
@@ -39,18 +36,18 @@ namespace cxml {
 class Screen
 {
 public:
-       Screen (std::string const & n, boost::shared_ptr<dcp::Certificate> cert)
+       Screen (std::string const & n, boost::optional<dcp::Certificate> cert)
                : name (n)
                , certificate (cert)
        {}
 
-       Screen (boost::shared_ptr<const cxml::Node>);
+       Screen (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Element *) const;
        
        boost::shared_ptr<Cinema> cinema;
        std::string name;
-       boost::shared_ptr<dcp::Certificate> certificate;
+       boost::optional<dcp::Certificate> certificate;
 };
 
 /** @class Cinema
@@ -67,9 +64,9 @@ public:
                , email (e)
        {}
 
-       Cinema (boost::shared_ptr<const cxml::Node>);
+       Cinema (cxml::ConstNodePtr);
 
-       void read_screens (boost::shared_ptr<const cxml::Node>);
+       void read_screens (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Element *) const;