*/
#include <iostream>
+#include <libcxml/cxml.h>
#include "dci_metadata.h"
-using namespace std;
+#include "i18n.h"
+
+using std::string;
+using boost::lexical_cast;
+using boost::shared_ptr;
+
+DCIMetadata::DCIMetadata (shared_ptr<const cxml::Node> node)
+{
+ content_version = node->number_child<int> ("ContentVersion");
+ audio_language = node->string_child ("AudioLanguage");
+ subtitle_language = node->string_child ("SubtitleLanguage");
+ territory = node->string_child ("Territory");
+ rating = node->string_child ("Rating");
+ studio = node->string_child ("Studio");
+ facility = node->string_child ("Facility");
+ package_type = node->string_child ("PackageType");
+}
void
-DCIMetadata::write (ostream& f) const
+DCIMetadata::as_xml (xmlpp::Node* root) const
{
- f << "audio_language " << audio_language << "\n";
- f << "subtitle_language " << subtitle_language << "\n";
- f << "territory " << territory << "\n";
- f << "rating " << rating << "\n";
- f << "studio " << studio << "\n";
- f << "facility " << facility << "\n";
- f << "package_type " << package_type << "\n";
+ root->add_child("ContentVersion")->add_child_text (lexical_cast<string> (content_version));
+ root->add_child("AudioLanguage")->add_child_text (audio_language);
+ root->add_child("SubtitleLanguage")->add_child_text (subtitle_language);
+ root->add_child("Territory")->add_child_text (territory);
+ root->add_child("Rating")->add_child_text (rating);
+ root->add_child("Studio")->add_child_text (studio);
+ root->add_child("Facility")->add_child_text (facility);
+ root->add_child("PackageType")->add_child_text (package_type);
}
void
-DCIMetadata::read (string k, string v)
+DCIMetadata::read_old_metadata (string k, string v)
{
- if (k == "audio_language") {
+ if (k == N_("audio_language")) {
audio_language = v;
- } else if (k == "subtitle_language") {
+ } else if (k == N_("subtitle_language")) {
subtitle_language = v;
- } else if (k == "territory") {
+ } else if (k == N_("territory")) {
territory = v;
- } else if (k == "rating") {
+ } else if (k == N_("rating")) {
rating = v;
- } else if (k == "studio") {
+ } else if (k == N_("studio")) {
studio = v;
- } else if (k == "facility") {
+ } else if (k == N_("facility")) {
facility = v;
- } else if (k == "package_type") {
+ } else if (k == N_("package_type")) {
package_type = v;
}
}