Try to fix build on OS X.
[libdcp.git] / src / cpl.h
index 8458a028c022be17ab2e663b922b1afcfee53b93..fe123fd3d3cc5dc38281f89d49cf4da3c8e7918a 100644 (file)
--- a/src/cpl.h
+++ b/src/cpl.h
@@ -1,7 +1,7 @@
 /*
     Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
 
-    This program is free software; you can redistribute it and/or modify
+    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
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
 
 */
 
+/** @file  src/cpl.h
+ *  @brief CPL class.
+ */
+
 #ifndef LIBDCP_CPL_H
 #define LIBDCP_CPL_H
 
 #include "types.h"
-#include "certificates.h"
+#include "certificate.h"
 #include "key.h"
 #include "asset.h"
 #include "metadata.h"
 #include <libxml++/libxml++.h>
 #include <boost/shared_ptr.hpp>
 #include <boost/function.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp>
 #include <boost/optional.hpp>
 #include <boost/filesystem.hpp>
 #include <list>
 
 namespace dcp {
-       
-class Content;
+
+class ReelAsset;
 class Reel;
 class XMLMetadata;
 class MXFMetadata;
-class Signer;
-class KDM;
-       
+class CertificateChain;
+class DecryptedKDM;
+
 /** @class CPL
  *  @brief A Composition Playlist.
  */
@@ -52,19 +55,19 @@ public:
        CPL (boost::filesystem::path file);
 
        bool equals (
-               CPL const & other,
+               boost::shared_ptr<const Asset> other,
                EqualityOptions options,
-               boost::function<void (NoteType, std::string)> note
+               NoteHandler note
                ) const;
 
        void add (boost::shared_ptr<Reel> reel);
-       void add (KDM const &);
+       void add (DecryptedKDM const &);
 
        /** @return contents of the &lt;AnnotationText&gt; node */
        std::string annotation_text () const {
                return _annotation_text;
        }
-       
+
        /** @return contents of the &lt;ContentTitleText&gt; node */
        std::string content_title_text () const {
                return _content_title_text;
@@ -79,7 +82,7 @@ public:
        void set_content_version_label_text (std::string text) {
                _content_version_label_text = text;
        }
-       
+
        /** @return the type of the content, used by media servers
         *  to categorise things (e.g. feature, trailer, etc.)
         */
@@ -92,19 +95,20 @@ public:
                return _reels;
        }
 
-       /** @return the Content in this CPL across all its reels
-        *  (Content is picture, sound and subtitles)
+       /** @return the ReelAssets in this CPL in all reels.
         */
-       std::list<boost::shared_ptr<const Content> > content () const;
+       std::list<boost::shared_ptr<const ReelAsset> > reel_assets () const;
 
        bool encrypted () const;
 
-       void set_mxf_keys (Key);
+       void set_metadata (XMLMetadata m) {
+               _metadata = m;
+       }
 
        void write_xml (
                boost::filesystem::path file,
                Standard standard,
-               boost::shared_ptr<const Signer>
+               boost::shared_ptr<const CertificateChain>
                ) const;
 
        void resolve_refs (std::list<boost::shared_ptr<Object> >);