summaryrefslogtreecommitdiff
path: root/src/lib/cinema.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-09-24 22:55:17 +0100
committerCarl Hetherington <cth@carlh.net>2013-09-24 22:55:17 +0100
commit07cab16dec83785163e09d668e10692cd8abed0d (patch)
treec094bc2f50ade809ccfaca9866f8c5058f240075 /src/lib/cinema.cc
parent089b90439e745a218494e76b45e7df6215af01df (diff)
Fix libdcp API changes; fix failure to reload cinema/screen configuration.
Diffstat (limited to 'src/lib/cinema.cc')
-rw-r--r--src/lib/cinema.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/cinema.cc b/src/lib/cinema.cc
index 7af4372f5..eccd46b84 100644
--- a/src/lib/cinema.cc
+++ b/src/lib/cinema.cc
@@ -25,10 +25,18 @@ using std::list;
using boost::shared_ptr;
Cinema::Cinema (shared_ptr<const cxml::Node> node)
+ : name (node->string_child ("Name"))
+ , email (node->string_child ("Email"))
{
- name = node->string_child ("Name");
- email = node->string_child ("Email");
+}
+
+/* This is necessary so that we can use shared_from_this in add_screen (which cannot be done from
+ a constructor)
+*/
+void
+Cinema::read_screens (shared_ptr<const cxml::Node> node)
+{
list<shared_ptr<cxml::Node> > s = node->node_children ("Screen");
for (list<shared_ptr<cxml::Node> >::iterator i = s.begin(); i != s.end(); ++i) {
add_screen (shared_ptr<Screen> (new Screen (*i)));