Merge master.
[dcpomatic.git] / src / lib / dcp_content.h
index 7f3ac956d11480755c960e31075eedd6429d76b3..60b7142de1fe655dc0a6e4826a2841fb3d611334 100644 (file)
 
 */
 
+/** @file  src/lib/dcp_content.h
+ *  @brief DCPContent class.
+ */
+
+#include <libcxml/cxml.h>
 #include "video_content.h"
 #include "single_stream_audio_content.h"
 #include "subtitle_content.h"
 
+/** @class DCPContent
+ *  @brief An existing DCP used as input.
+ */
 class DCPContent : public VideoContent, public SingleStreamAudioContent, public SubtitleContent
 {
 public:
        DCPContent (boost::shared_ptr<const Film> f, boost::filesystem::path p);
+       DCPContent (boost::shared_ptr<const Film> f, cxml::ConstNodePtr, int version);
 
        boost::shared_ptr<DCPContent> shared_from_this () {
                return boost::dynamic_pointer_cast<DCPContent> (Content::shared_from_this ());
@@ -36,7 +45,11 @@ public:
        std::string summary () const;
        std::string technical_summary () const;
        void as_xml (xmlpp::Node *) const;
+       std::string identifier () const;
 
+       /* SubtitleContent */
+       bool has_subtitles () const;
+       
        boost::filesystem::path directory () const {
                boost::mutex::scoped_lock lm (_mutex);
                return _directory;
@@ -44,6 +57,8 @@ public:
 
 private:
        void read_directory (boost::filesystem::path);
-
+       
+       std::string _name;
+       bool _has_subtitles;
        boost::filesystem::path _directory;
 };