*/
-namespace dcp {
- class CPL;
+#ifndef DCPOMATIC_SPL_ENTRY_H
+#define DCPOMATIC_SPL_ENTRY_H
+
+#include <libcxml/cxml.h>
+#include <dcp/types.h>
+#include <boost/shared_ptr.hpp>
+
+namespace xmlpp {
+ class Element;
}
+class Content;
+
class SPLEntry
{
public:
- SPLEntry (boost::shared_ptr<dcp::CPL> cpl_, boost::filesystem::path directory_)
- : cpl (cpl_)
- , directory (directory_)
- {}
-
- /* Length of black before this DCP */
- DCPTime black_before;
- boost::shared_ptr<dcp::CPL> cpl;
- boost::filesystem::path directory;
+ SPLEntry (boost::shared_ptr<Content> content);
+ SPLEntry (boost::shared_ptr<Content> content, cxml::ConstNodePtr node);
+
+ void as_xml (xmlpp::Element* e);
+
+ boost::shared_ptr<Content> content;
+ std::string name;
+ /** Digest of this content */
+ std::string digest;
+ /** CPL ID or something else for MP4 (?) */
+ std::string id;
+ dcp::ContentKind kind;
+ enum Type {
+ DCP,
+ ECINEMA
+ };
+ Type type;
+ bool encrypted;
+ bool skippable;
+ bool disable_timeline;
+ bool stop_after_play;
+
+private:
+ void construct (boost::shared_ptr<Content> content);
};
+
+#endif