X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcinema.h;h=8421f468751f72548560c9705f27cefa9bb8fcaa;hb=f90d74f7a0382f0dc63eef81bd553d7a7b38edb2;hp=d8e28ecfdecfecc569d68396cf5742a063a19d4a;hpb=79ce26d031d109177ba4b0f637fa2960345a37a3;p=dcpomatic.git diff --git a/src/lib/cinema.h b/src/lib/cinema.h index d8e28ecfd..8421f4687 100644 --- a/src/lib/cinema.h +++ b/src/lib/cinema.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013 Carl Hetherington + Copyright (C) 2013-2014 Carl Hetherington 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 @@ -17,32 +17,45 @@ */ +/** @file src/lib/cinema.h + * @brief Screen and Cinema classes. + */ + #include #include +#include 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 cert) + Screen (std::string const & n, boost::optional cert) : name (n) , certificate (cert) {} - Screen (boost::shared_ptr); + Screen (cxml::ConstNodePtr); void as_xml (xmlpp::Element *) const; boost::shared_ptr cinema; std::string name; - boost::shared_ptr certificate; + boost::optional 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 { public: @@ -51,9 +64,9 @@ public: , email (e) {} - Cinema (boost::shared_ptr); + Cinema (cxml::ConstNodePtr); - void read_screens (boost::shared_ptr); + void read_screens (cxml::ConstNodePtr); void as_xml (xmlpp::Element *) const;