Very slightly less verbose subs checking.
[libdcp.git] / src / cpl.cc
index f7bf43f5f49a867f9c3fa97814d6797bea7b73d5..58ee0cce743be77f3db0e65b9100baf817041f05 100644 (file)
@@ -38,7 +38,7 @@ CPL::CPL (string file)
        content_kind = kind_node ("ContentKind");
        content_version = optional_sub_node<ContentVersion> ("ContentVersion");
        ignore_node ("RatingList");
-       reels = sub_nodes<Reel> ("ReelList", "Reel");
+       reels = sub_nodes<CPLReel> ("ReelList", "Reel");
 
        ignore_node ("Issuer");
        ignore_node ("Signer");
@@ -55,7 +55,7 @@ ContentVersion::ContentVersion (xmlpp::Node const * node)
        done ();
 }
 
-Reel::Reel (xmlpp::Node const * node)
+CPLReel::CPLReel (xmlpp::Node const * node)
        : XMLNode (node)
 {
        id = string_node ("Id");
@@ -67,7 +67,8 @@ Reel::Reel (xmlpp::Node const * node)
 CPLAssetList::CPLAssetList (xmlpp::Node const * node)
        : XMLNode (node)
 {
-       main_picture = sub_node<MainPicture> ("MainPicture");
+       main_picture = optional_sub_node<MainPicture> ("MainPicture");
+       main_stereoscopic_picture = optional_sub_node<MainStereoscopicPicture> ("MainStereoscopicPicture");
        main_sound = optional_sub_node<MainSound> ("MainSound");
        main_subtitle = optional_sub_node<MainSubtitle> ("MainSubtitle");
 
@@ -75,6 +76,18 @@ CPLAssetList::CPLAssetList (xmlpp::Node const * node)
 }
 
 MainPicture::MainPicture (xmlpp::Node const * node)
+       : Picture (node)
+{
+
+}
+
+MainStereoscopicPicture::MainStereoscopicPicture (xmlpp::Node const * node)
+       : Picture (node)
+{
+
+}
+
+Picture::Picture (xmlpp::Node const * node)
        : XMLNode (node)
 {
        id = string_node ("Id");