X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fasset.h;h=c7911497b48c70bb40f9f938b982d57af9154091;hb=689d56339857b0a82156641f28392b8d2f11beea;hp=bad982f1878b2584741ef0955a65253c022ff19f;hpb=2f0e6ee9d883abbbc31aca0d1cc80e89eb9b0af2;p=libdcp.git diff --git a/src/asset.h b/src/asset.h index bad982f1..c7911497 100644 --- a/src/asset.h +++ b/src/asset.h @@ -19,7 +19,7 @@ /** @file src/asset.h * @brief Asset class. - */ + */ #ifndef LIBDCP_ASSET_H #define LIBDCP_ASSET_H @@ -34,10 +34,12 @@ namespace xmlpp { class Node; } +struct asset_test; + namespace dcp { /** @class Asset - * @brief Parent class for DCP assets, i.e. picture/sound/subtitles and CPLs. + * @brief Parent class for DCP assets, i.e. picture, sound, subtitles, CPLs, fonts. * * Note that this class is not used for ReelAssets; those are just for the metadata * that gets put into <Reel>s. @@ -47,12 +49,12 @@ class Asset : public Object public: Asset (); Asset (boost::filesystem::path file); - Asset (std::string id); + Asset (std::string id, boost::filesystem::path file); virtual bool equals ( boost::shared_ptr other, EqualityOptions opt, - boost::function note + NoteHandler note ) const; /** Write details of the asset to a ASSETMAP. @@ -64,8 +66,9 @@ public: * @param node Parent node. * @param standard Standard to use. */ - void write_to_pkl (xmlpp::Node* node, Standard standard) const; + void write_to_pkl (xmlpp::Node* node, boost::filesystem::path root, Standard standard) const; + /** @return the most recent disk file used to read or write this asset; may be empty */ boost::filesystem::path file () const { return _file; } @@ -76,9 +79,11 @@ public: std::string hash (boost::function progress = 0) const; protected: + friend struct ::asset_test; + virtual std::string pkl_type (Standard standard) const = 0; - /** The disk file that represents this asset, if one exists */ + /** The most recent disk file used to read or write this asset; may be empty */ mutable boost::filesystem::path _file; /** Hash of _file, or empty if the hash has not yet been computed */ mutable std::string _hash;