X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fasset.h;h=6db8e5c271761670e0ce20d7187ed34460466650;hb=46bcd0527dd5424b14e2b6db139fe1e70df5113b;hp=ec1385e673bda2a5123982c8ba3bf1ad1b2ad3f3;hpb=f76647abae551840a43bb8f07189051ec20bab6d;p=libdcp.git diff --git a/src/asset.h b/src/asset.h index ec1385e6..6db8e5c2 100644 --- a/src/asset.h +++ b/src/asset.h @@ -32,7 +32,7 @@ #include "types.h" namespace ASDCP { - class WriterInfo; + struct WriterInfo; } namespace xmlpp { @@ -53,20 +53,19 @@ public: * @param directory Directory where our XML or MXF file is. * @param file_name Name of our file within directory, or empty to make one up based on UUID. */ - Asset (boost::filesystem::path directory, std::string file_name = ""); + Asset (boost::filesystem::path directory, boost::filesystem::path file_name = ""); virtual ~Asset() {} /** Write details of the asset to a CPL AssetList node. * @param p Parent element. - * @param i true to use the Interop standard, false for SMPTE. */ - virtual void write_to_cpl (xmlpp::Element* p, bool i) const = 0; + virtual void write_to_cpl (xmlpp::Element* p) const = 0; /** Write details of the asset to a PKL AssetList node. * @param p Parent node. */ - void write_to_pkl (xmlpp::Node *) const; + void write_to_pkl (xmlpp::Node *, bool interop) const; /** Write details of the asset to a ASSETMAP stream. * @param s Stream. @@ -87,11 +86,11 @@ public: boost::filesystem::path path () const; - void set_directory (std::string d) { + void set_directory (boost::filesystem::path d) { _directory = d; } - void set_file_name (std::string f) { + void set_file_name (boost::filesystem::path f) { _file_name = f; } @@ -130,13 +129,16 @@ public: virtual bool equals (boost::shared_ptr other, EqualityOptions opt, boost::function) const; protected: + + /** @return Interop PKL asdcpKind for the <Type> tag e.g. Picture, Sound etc. */ + virtual std::string asdcp_kind () const = 0; std::string digest () const; /** Directory that our MXF or XML file is in */ boost::filesystem::path _directory; /** Name of our MXF or XML file */ - std::string _file_name; + boost::filesystem::path _file_name; /** Our UUID */ std::string _uuid; /** The edit rate; this is normally equal to the number of video frames per second */