summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pkl.cc2
-rw-r--r--src/pkl.h7
2 files changed, 9 insertions, 0 deletions
diff --git a/src/pkl.cc b/src/pkl.cc
index adcad573..b2fe875b 100644
--- a/src/pkl.cc
+++ b/src/pkl.cc
@@ -49,6 +49,7 @@ static string const pkl_interop_ns = "http://www.digicine.com/PROTO-ASDCP-PKL-20
static string const pkl_smpte_ns = "http://www.smpte-ra.org/schemas/429-8/2007/PKL";
PKL::PKL (boost::filesystem::path file)
+ : _file (file)
{
cxml::Document pkl ("PackingList");
pkl.read_file (file);
@@ -116,6 +117,7 @@ PKL::write (boost::filesystem::path file, shared_ptr<const CertificateChain> sig
}
doc.write_to_file_formatted (file.string(), "UTF-8");
+ _file = file;
}
optional<string>
diff --git a/src/pkl.h b/src/pkl.h
index bc71279e..39996318 100644
--- a/src/pkl.h
+++ b/src/pkl.h
@@ -66,6 +66,11 @@ public:
void add_asset (std::string id, boost::optional<std::string> annotation_text, std::string hash, int64_t size, std::string type);
void write (boost::filesystem::path file, boost::shared_ptr<const CertificateChain> signer) const;
+ /** @return the most recent disk file used to read or write this PKL, if there is one */
+ boost::optional<boost::filesystem::path> file () const {
+ return _file;
+ }
+
private:
class Asset : public Object
@@ -99,6 +104,8 @@ private:
std::string _issuer;
std::string _creator;
std::list<boost::shared_ptr<Asset> > _asset_list;
+ /** The most recent disk file used to read or write this PKL */
+ mutable boost::optional<boost::filesystem::path> _file;
};
}