_id = _id.substr (9);
}
_annotation_text = f.optional_string_child ("AnnotationText").get_value_or ("");
- _issue_date = f.string_child ("IssueDate");
- _creator = f.optional_string_child ("Creator").get_value_or ("");
+ _metadata.issuer = f.optional_string_child ("Issuer").get_value_or ("");
+ _metadata.creator = f.optional_string_child ("Creator").get_value_or ("");
+ _metadata.issue_date = f.string_child ("IssueDate");
_content_title_text = f.string_child ("ContentTitleText");
_content_kind = content_kind_from_string (f.string_child ("ContentKind"));
shared_ptr<cxml::Node> content_version = f.optional_node_child ("ContentVersion");
/** Write an CompositonPlaylist XML file.
* @param file Filename to write.
* @param standard INTEROP or SMPTE.
- * @param metadata Metadata to use.
* @param signer Signer to sign the CPL, or 0 to add no signature.
*/
void
-CPL::write_xml (boost::filesystem::path file, Standard standard, XMLMetadata metadata, shared_ptr<const Signer> signer) const
+CPL::write_xml (boost::filesystem::path file, Standard standard, shared_ptr<const Signer> signer) const
{
xmlpp::Document doc;
xmlpp::Element* root;
root->add_child("Id")->add_child_text ("urn:uuid:" + _id);
root->add_child("AnnotationText")->add_child_text (_annotation_text);
- root->add_child("IssueDate")->add_child_text (metadata.issue_date);
- root->add_child("Issuer")->add_child_text (metadata.issuer);
- root->add_child("Creator")->add_child_text (metadata.creator);
+ root->add_child("IssueDate")->add_child_text (_metadata.issue_date);
+ root->add_child("Issuer")->add_child_text (_metadata.issuer);
+ root->add_child("Creator")->add_child_text (_metadata.creator);
root->add_child("ContentTitleText")->add_child_text (_content_title_text);
root->add_child("ContentKind")->add_child_text (content_kind_to_string (_content_kind));
{
#include "certificates.h"
#include "key.h"
#include "asset.h"
+#include "metadata.h"
#include <libxml++/libxml++.h>
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
void write_xml (
boost::filesystem::path file,
Standard standard,
- XMLMetadata,
boost::shared_ptr<const Signer>
) const;
private:
std::string _annotation_text; ///< <AnnotationText>
- std::string _issue_date; ///< <IssueDate>
- std::string _creator; ///< <Creator>
+ /** <Issuer>, <Creator> and <IssueDate>. These are grouped
+ * because they occur together in a few places.
+ */
+ XMLMetadata _metadata;
std::string _content_title_text; ///< <ContentTitleText>
ContentKind _content_kind; ///< <ContentKind>
std::string _content_version_id; ///< <Id> in <ContentVersion>
doc.write_to_file (p.string (), "UTF-8");
}
+/** Write all the XML files for this DCP.
+ * @param standand INTEROP or SMPTE.
+ * @param metadata Metadata to use for PKL and asset map files.
+ * @param signer Signer to use, or 0.
+ */
void
DCP::write_xml (
Standard standard,
list<shared_ptr<CPL> > cpl = cpls ();
for (list<shared_ptr<CPL> >::const_iterator i = cpl.begin(); i != cpl.end(); ++i) {
string const filename = (*i)->id() + "_cpl.xml";
- (*i)->write_xml (_directory / filename, standard, metadata, signer);
+ (*i)->write_xml (_directory / filename, standard, signer);
}
string const pkl_uuid = make_uuid ();