summaryrefslogtreecommitdiff
path: root/src/lib/screen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/screen.cc')
-rw-r--r--src/lib/screen.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/screen.cc b/src/lib/screen.cc
index 0876e770b..159c4326b 100644
--- a/src/lib/screen.cc
+++ b/src/lib/screen.cc
@@ -19,6 +19,7 @@
#include "screen.h"
#include <libxml++/libxml++.h>
+#include <boost/foreach.hpp>
Screen::Screen (cxml::ConstNodePtr node)
: name (node->string_child ("Name"))
@@ -28,6 +29,10 @@ Screen::Screen (cxml::ConstNodePtr node)
} else if (node->optional_string_child ("Recipient")) {
recipient = dcp::Certificate (node->string_child ("Recipient"));
}
+
+ BOOST_FOREACH (cxml::ConstNodePtr i, node->node_children ("TrustedDevice")) {
+ trusted_devices.push_back (dcp::Certificate (i->content ()));
+ }
}
void
@@ -37,4 +42,8 @@ Screen::as_xml (xmlpp::Element* parent) const
if (recipient) {
parent->add_child("Recipient")->add_child_text (recipient->certificate (true));
}
+
+ BOOST_FOREACH (dcp::Certificate const & i, trusted_devices) {
+ parent->add_child("TrustedDevice")->add_child_text (i.certificate (true));
+ }
}