Ref does not need to be a template since it's always used for Asset.
[libdcp.git] / src / reel_mono_picture_asset.h
index 544502335a656baa14746c15c7baeb085f560f1f..da2eb087b0217b8e3fbd9d05861aefc21729cb2f 100644 (file)
@@ -25,6 +25,7 @@
 #define LIBDCP_REEL_MONO_PICTURE_ASSET_H
 
 #include "reel_picture_asset.h"
+#include "mono_picture_asset.h"
 
 namespace dcp {
 
@@ -40,6 +41,16 @@ public:
        ReelMonoPictureAsset (boost::shared_ptr<MonoPictureAsset> asset, int64_t entry_point);
        ReelMonoPictureAsset (boost::shared_ptr<const cxml::Node>);
 
+       /** @return the MonoPictureAsset that this object refers to */
+       boost::shared_ptr<const MonoPictureAsset> mono_asset () const {
+               return boost::dynamic_pointer_cast<const MonoPictureAsset> (_asset_ref.asset ());
+       }
+
+       /** @return the MonoPictureAsset that this object refers to */
+       boost::shared_ptr<MonoPictureAsset> mono_asset () {
+               return boost::dynamic_pointer_cast<MonoPictureAsset> (_asset_ref.asset ());
+       }
+
 private:
        std::string cpl_node_name () const;
 };