summaryrefslogtreecommitdiff
path: root/src/asset.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-01-03 22:00:04 +0000
committerCarl Hetherington <cth@carlh.net>2013-01-03 22:00:04 +0000
commitbb6c2aef9befb77bf14775abfedf8a2c9b7f8d53 (patch)
tree42212efb1f2fce7e6788e1e54ceee761be561eef /src/asset.cc
parent64a3d353037ac8285b27237ae0bd16c6c14ca17a (diff)
Write PKL using libxml++ and sign them.
Diffstat (limited to 'src/asset.cc')
-rw-r--r--src/asset.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/asset.cc b/src/asset.cc
index 5ecc2e9f..ac8f8b8e 100644
--- a/src/asset.cc
+++ b/src/asset.cc
@@ -24,6 +24,8 @@
#include <iostream>
#include <fstream>
#include <boost/filesystem.hpp>
+#include <boost/lexical_cast.hpp>
+#include <libxml++/nodes/element.h>
#include "AS_DCP.h"
#include "KM_util.h"
#include "asset.h"
@@ -45,15 +47,14 @@ Asset::Asset (string directory, string file_name)
}
void
-Asset::write_to_pkl (ostream& s) const
+Asset::write_to_pkl (xmlpp::Element* p) const
{
- s << " <Asset>\n"
- << " <Id>urn:uuid:" << _uuid << "</Id>\n"
- << " <AnnotationText>" << _file_name << "</AnnotationText>\n"
- << " <Hash>" << digest() << "</Hash>\n"
- << " <Size>" << filesystem::file_size(path()) << "</Size>\n"
- << " <Type>application/mxf</Type>\n"
- << " </Asset>\n";
+ xmlpp::Element* asset = p->add_child("Asset");
+ asset->add_child("Id")->add_child_text("urn:uuid:" + _uuid);
+ asset->add_child("AnnotationText")->add_child_text (_file_name);
+ asset->add_child("Hash")->add_child_text (digest());
+ asset->add_child("Size")->add_child_text (boost::lexical_cast<string> (filesystem::file_size(path())));
+ asset->add_child("Type")->add_child_text ("application/mxf");
}
void