Fix incorrect day-of-month in LocalTime.
[libdcp.git] / src / content.h
index 75e39a010b92f65868cba970bf6e0bb5125dd8da..fcbfc25dc96c3f8b90ea7fbdf1f59467a4dbc2f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2014 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/content.h
+ *  @brief Content class.
+ */
+
 #ifndef LIBDCP_CONTENT_H
 #define LIBDCP_CONTENT_H
 
-#include <string>
-#include <list>
-#include <boost/filesystem.hpp>
-#include <boost/function.hpp>
-#include <libxml++/libxml++.h>
 #include "types.h"
 #include "asset.h"
+#include <libxml++/libxml++.h>
+#include <boost/filesystem.hpp>
+#include <boost/function.hpp>
+#include <string>
+#include <list>
 
 namespace ASDCP {
-       class WriterInfo;
+       struct WriterInfo;
 }
 
 namespace xmlpp {
@@ -47,66 +51,15 @@ namespace dcp
 class Content : public Asset
 {
 public:
-       Content (boost::filesystem::path file);
-       Content (int edit_rate);
-
-       virtual ~Content () {}
-
-       /** Write details of the asset to a PKL AssetList node.
-        *  @param p Parent node.
-        */
-       void write_to_pkl (xmlpp::Node *) const;
-
-       /** Write details of the asset to a ASSETMAP stream.
-        *  @param s Stream.
+       Content () {}
+       
+       /** Construct a Content object by reading a file.
+        *  @param file File to read.
         */
-       void write_to_assetmap (xmlpp::Node *) const;
-
-       boost::filesystem::path file () const {
-               return _file;
-       }
-
-       void set_file (boost::filesystem::path file) {
-               _file = file;
-       }
-
-       int edit_rate () const {
-               return _edit_rate;
-       }
-
-       void set_edit_rate (int r) {
-               _edit_rate = r;
-       }
-
-       void set_entry_point (int64_t p) {
-               _entry_point = p;
-       }
-
-       int64_t intrinsic_duration () const {
-               return _intrinsic_duration;
-       }
-
-       void set_intrinsic_duration (int64_t d) {
-               _intrinsic_duration = d;
-       }
-
-       int64_t duration () const {
-               return _duration;
-       }
-
-       void set_duration (int64_t d) {
-               _duration = d;
-       }
-
-       virtual bool equals (boost::shared_ptr<const Content> other, EqualityOptions opt, boost::function<void (NoteType, std::string)>) const;
+       Content (boost::filesystem::path file);
 
 protected:
-       boost::filesystem::path _file;
-       /** The edit rate; this is normally equal to the number of video frames per second */
-       int _edit_rate;
-       int64_t _entry_point;
-       int64_t _intrinsic_duration;
-       int64_t _duration;
+       virtual std::string asdcp_kind () const = 0;
 };
 
 }