No-op: remove all trailing whitespace.
[dcpomatic.git] / src / lib / cinema.h
index b4a4551b0e611102d6f58e1bfffa1bb7ecf17916..fea4f1c149362ebbc944a8dc1bb547ccb9943b0c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
+/** @file  src/lib/cinema.h
+ *  @brief Screen and Cinema classes.
+ */
+
+#include <libcxml/cxml.h>
+#include <dcp/certificates.h>
 #include <boost/enable_shared_from_this.hpp>
-#include <libdcp/certificates.h>
 
 class Cinema;
 
-namespace cxml {
-       class Node;
-}
-
+/** @class Screen
+ *  @brief A representation of a Screen for KDM generation.
+ *
+ *  This is the name of the screen and the certificate of its
+ *  server.
+ */
 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
+ *  @brief A description of a Cinema for KDM generation.
+ *
+ *  This is a cinema name, contact email address and a list of
+ *  Screen objects.
+ */
 class Cinema : public boost::enable_shared_from_this<Cinema>
 {
 public:
@@ -51,21 +64,21 @@ 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;
 
        void add_screen (boost::shared_ptr<Screen>);
        void remove_screen (boost::shared_ptr<Screen>);
-       
+
        std::string name;
        std::string email;
        std::list<boost::shared_ptr<Screen> > screens () const {
                return _screens;
        }
 
-private:       
+private:
        std::list<boost::shared_ptr<Screen> > _screens;
 };