X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fspl.cc;h=e87465cdc5dd6909bf71ef05fbce63fe86ce6e06;hb=557afd0041173da9d67a850c04b6c8f7ce674860;hp=1677e626ff07ddf5cd25fb478aecdcd8da9075ed;hpb=a5d004b0773f633401528392fc28e66d70e13ac8;p=dcpomatic.git diff --git a/src/lib/spl.cc b/src/lib/spl.cc index 1677e626f..e87465cdc 100644 --- a/src/lib/spl.cc +++ b/src/lib/spl.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018-2019 Carl Hetherington + Copyright (C) 2018-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,32 +18,36 @@ */ + #include "content_store.h" #include "spl.h" -#include "warnings.h" #include +#include #include -DCPOMATIC_DISABLE_WARNINGS +#include +LIBDCP_DISABLE_WARNINGS #include -DCPOMATIC_ENABLE_WARNINGS +LIBDCP_ENABLE_WARNINGS #include + using std::cout; using std::string; using std::shared_ptr; using dcp::raw_convert; + void SPL::read (boost::filesystem::path path, ContentStore* store) { _spl.clear (); _missing = false; cxml::Document doc ("SPL"); - doc.read_file (path); + doc.read_file(dcp::filesystem::fix_long_path(path)); _id = doc.string_child("Id"); _name = doc.string_child("Name"); for (auto i: doc.node_children("Entry")) { - shared_ptr c = store->get(i->string_child("Digest")); + auto c = store->get(i->string_child("Digest")); if (c) { add (SPLEntry(c)); } else { @@ -52,15 +56,16 @@ SPL::read (boost::filesystem::path path, ContentStore* store) } } + void SPL::write (boost::filesystem::path path) const { xmlpp::Document doc; - xmlpp::Element* root = doc.create_root_node ("SPL"); - root->add_child("Id")->add_child_text (_id); - root->add_child("Name")->add_child_text (_name); + auto root = doc.create_root_node ("SPL"); + cxml::add_text_child(root, "Id", _id); + cxml::add_text_child(root, "Name", _name); for (auto i: _spl) { - i.as_xml (root->add_child("Entry")); + i.as_xml(cxml::add_child(root, "Entry")); } doc.write_to_file_formatted (path.string()); }