Unpick MXF from the class hierarchy.
[libdcp.git] / src / mxf.h
index ff480598d02aac37365c9b0986b653b7a6a48a0a..e05ddbcdc072d97ea8632daafe5f236dd4f71ec4 100644 (file)
--- a/src/mxf.h
+++ b/src/mxf.h
@@ -27,7 +27,6 @@
 #include <boost/signals2.hpp>
 
 namespace ASDCP {
-       class AESEncContext;
        class AESDecContext;
        class WriterInfo;
 }
@@ -45,18 +44,11 @@ class PictureMXFWriter;
 /** @class MXF
  *  @brief Parent class for classes which represent MXF files.
  */
-class MXF : public Asset
+class MXF
 {
 public:
        MXF ();
-       MXF (boost::filesystem::path file);
-       ~MXF ();
-
-       bool equals (
-               boost::shared_ptr<const Asset> other,
-               EqualityOptions opt,
-               NoteHandler note
-               ) const;
+       virtual ~MXF ();
 
        /** @return true if the data is encrypted */
        bool encrypted () const {
@@ -82,11 +74,6 @@ public:
                return _key;
        }
 
-       /** @return encryption context, set up with any key that has been passed to set_key() */
-       ASDCP::AESEncContext* encryption_context () const {
-               return _encryption_context;
-       }
-
        /** Set the metadata that is written to the MXF file.
         *  @param m Metadata.
         */
@@ -103,14 +90,13 @@ protected:
        template <class P, class Q>
        friend void start (PictureMXFWriter* writer, boost::shared_ptr<P> state, Standard standard, Q* mxf, uint8_t* data, int size);
 
-       void read_writer_info (ASDCP::WriterInfo const &);
+       std::string read_writer_info (ASDCP::WriterInfo const &);
        /** Fill in a ADSCP::WriteInfo struct.
         *  @param w struct to fill in.
         *  @param standard INTEROP or SMPTE.
         */
-       void fill_writer_info (ASDCP::WriterInfo* w, Standard standard);
+       void fill_writer_info (ASDCP::WriterInfo* w, std::string id, Standard standard);
 
-       ASDCP::AESEncContext* _encryption_context;
        ASDCP::AESDecContext* _decryption_context;
        /** ID of the key used for encryption/decryption, if there is one */
        boost::optional<std::string> _key_id;