X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcinema.h;h=4639261c30bebc93e6237e6abe05546763026415;hb=0242efb9802d7bcbde0701a7267972d4dbe5abb8;hp=d8e28ecfdecfecc569d68396cf5742a063a19d4a;hpb=7f2e74604a51b984e4c8cbb5d5f4bb642677ec00;p=dcpomatic.git diff --git a/src/lib/cinema.h b/src/lib/cinema.h index d8e28ecfd..4639261c3 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 -#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,21 +64,21 @@ 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; void add_screen (boost::shared_ptr); void remove_screen (boost::shared_ptr); - + std::string name; std::string email; std::list > screens () const { return _screens; } -private: +private: std::list > _screens; };