Try removing the 'primary' receipient's certificate thumbprint from the CertificateTh...
[libdcp.git] / src / reel_picture_asset.h
index b433ff88a9ca529fbc581f9c10b3fd54a860c8c1..637c96354d197f723eaaf336a96273d1b57c6bae 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
 
     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
 
 */
 
+/** @file  src/reel_picture_asset.h
+ *  @brief ReelPictureAsset class.
+ */
+
 #ifndef LIBDCP_REEL_PICTURE_ASSET_H
 #define LIBDCP_REEL_PICTURE_ASSET_H
 
+#include "reel_mxf.h"
 #include "reel_asset.h"
-#include "picture_mxf.h"
+#include "picture_asset.h"
 
 namespace dcp {
 
-class ReelPictureAsset : public ReelAsset
+/** @class ReelPictureAsset
+ *  @brief Part of a Reel's description which refers to a picture asset.
+ */
+class ReelPictureAsset : public ReelAsset, public ReelMXF
 {
 public:
        ReelPictureAsset ();
-       ReelPictureAsset (boost::shared_ptr<PictureMXF> content, int64_t entry_point);
+       ReelPictureAsset (boost::shared_ptr<PictureAsset> asset, int64_t entry_point);
        ReelPictureAsset (boost::shared_ptr<const cxml::Node>);
 
        virtual void write_to_cpl (xmlpp::Node* node, Standard standard) const;
+       virtual bool equals (boost::shared_ptr<const ReelAsset>, EqualityOptions, NoteHandler) const;
+
+       /** @return the PictureAsset that this object refers to */
+       boost::shared_ptr<PictureAsset> asset () {
+               return boost::dynamic_pointer_cast<PictureAsset> (_asset_ref.object ());
+       }
 
-       boost::shared_ptr<PictureMXF> mxf () {
-               return boost::dynamic_pointer_cast<PictureMXF> (_content.object ());
+       /** @return picture frame rate */
+       Fraction frame_rate () const {
+               return _frame_rate;
        }
 
+       /** Set the ScreenAspectRatio of this asset.
+        *  @param a New aspect ratio.
+        */
        void set_screen_aspect_ratio (Fraction a) {
                _screen_aspect_ratio = a;
        }
 
 private:
+       std::string key_type () const;
+
        Fraction _frame_rate;
        Fraction _screen_aspect_ratio;
 };