diff options
Diffstat (limited to 'src/lib/cinema.cc')
| -rw-r--r-- | src/lib/cinema.cc | 12 |
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))); |
