summaryrefslogtreecommitdiff
path: root/src/lib/dci_metadata.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-01 02:25:02 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-01 02:25:02 +0100
commitb468ccabdb13fca86ae8a324239d83490ef5832e (patch)
tree816332e6d3437b3924c1fdf6ada7d61965136337 /src/lib/dci_metadata.cc
parent640c53f0a5f178a894ff2718bf6d74e9e977eb80 (diff)
XML metadata and some other bits.
Diffstat (limited to 'src/lib/dci_metadata.cc')
-rw-r--r--src/lib/dci_metadata.cc33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/lib/dci_metadata.cc b/src/lib/dci_metadata.cc
index 758886db4..f25b3ddb0 100644
--- a/src/lib/dci_metadata.cc
+++ b/src/lib/dci_metadata.cc
@@ -18,26 +18,39 @@
*/
#include <iostream>
+#include <libcxml/cxml.h>
#include "dci_metadata.h"
#include "i18n.h"
-using namespace std;
+using std::string;
+using boost::shared_ptr;
+
+DCIMetadata::DCIMetadata (shared_ptr<const cxml::Node> node)
+{
+ 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 << N_("audio_language ") << audio_language << N_("\n");
- f << N_("subtitle_language ") << subtitle_language << N_("\n");
- f << N_("territory ") << territory << N_("\n");
- f << N_("rating ") << rating << N_("\n");
- f << N_("studio ") << studio << N_("\n");
- f << N_("facility ") << facility << N_("\n");
- f << N_("package_type ") << package_type << N_("\n");
+ 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 == N_("audio_language")) {
audio_language = v;