projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup: use vector instead of list.
[dcpomatic.git]
/
src
/
lib
/
dkdm_wrapper.cc
diff --git
a/src/lib/dkdm_wrapper.cc
b/src/lib/dkdm_wrapper.cc
index 74a71966e87b4667e0ab38b4361556a4ac3b89d9..532bbb314f9a4ba9aa5c089097b8cc6bceafcf91 100644
(file)
--- a/
src/lib/dkdm_wrapper.cc
+++ b/
src/lib/dkdm_wrapper.cc
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2017 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2017
-2021
Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
This file is part of DCP-o-matic.
@@
-18,86
+18,94
@@
*/
*/
+
#include "compose.hpp"
#include "dkdm_wrapper.h"
#include "dcpomatic_assert.h"
#include "compose.hpp"
#include "dkdm_wrapper.h"
#include "dcpomatic_assert.h"
-#include
"warnings.h"
-
DCPOMATIC
_DISABLE_WARNINGS
+#include
<dcp/warnings.h>
+
LIBDCP
_DISABLE_WARNINGS
#include <libxml++/libxml++.h>
#include <libxml++/libxml++.h>
-DCPOMATIC_ENABLE_WARNINGS
+LIBDCP_ENABLE_WARNINGS
+
using std::string;
using std::list;
using std::shared_ptr;
using std::string;
using std::list;
using std::shared_ptr;
+using std::make_shared;
using std::dynamic_pointer_cast;
using std::dynamic_pointer_cast;
+
shared_ptr<DKDMBase>
DKDMBase::read (cxml::ConstNodePtr node)
{
if (node->name() == "DKDM") {
shared_ptr<DKDMBase>
DKDMBase::read (cxml::ConstNodePtr node)
{
if (node->name() == "DKDM") {
- return
shared_ptr<DKDM> (new DKDM (dcp::EncryptedKDM (node->content ()
)));
+ return
make_shared<DKDM>(dcp::EncryptedKDM(node->content(
)));
} else if (node->name() == "DKDMGroup") {
} else if (node->name() == "DKDMGroup") {
-
shared_ptr<DKDMGroup> group (new DKDMGroup (node->string_attribute ("Name")
));
+
auto group = make_shared<DKDMGroup>(node->string_attribute("Name"
));
for (auto i: node->node_children()) {
for (auto i: node->node_children()) {
- shared_ptr<DKDMBase> c = read (i);
- if (c) {
+ if (auto c = read(i)) {
group->add (c);
}
}
return group;
}
group->add (c);
}
}
return group;
}
- return
shared_ptr<DKDMBase> ()
;
+ return
{}
;
}
}
+
string
DKDM::name () const
{
return String::compose ("%1 (%2)", _dkdm.content_title_text(), _dkdm.cpl_id());
}
string
DKDM::name () const
{
return String::compose ("%1 (%2)", _dkdm.content_title_text(), _dkdm.cpl_id());
}
+
void
DKDM::as_xml (xmlpp::Element* node) const
{
node->add_child("DKDM")->add_child_text (_dkdm.as_xml ());
}
void
DKDM::as_xml (xmlpp::Element* node) const
{
node->add_child("DKDM")->add_child_text (_dkdm.as_xml ());
}
+
void
DKDMGroup::as_xml (xmlpp::Element* node) const
{
void
DKDMGroup::as_xml (xmlpp::Element* node) const
{
-
xmlpp::Element*
f = node->add_child("DKDMGroup");
+
auto
f = node->add_child("DKDMGroup");
f->set_attribute ("Name", _name);
for (auto i: _children) {
i->as_xml (f);
}
}
f->set_attribute ("Name", _name);
for (auto i: _children) {
i->as_xml (f);
}
}
+
void
DKDMGroup::add (shared_ptr<DKDMBase> child, shared_ptr<DKDM> previous)
{
DCPOMATIC_ASSERT (child);
if (previous) {
void
DKDMGroup::add (shared_ptr<DKDMBase> child, shared_ptr<DKDM> previous)
{
DCPOMATIC_ASSERT (child);
if (previous) {
-
list<shared_ptr<DKDMBase> >::iterator
i = find (_children.begin(), _children.end(), previous);
- if (i != _children.end
()) {
+
auto
i = find (_children.begin(), _children.end(), previous);
+ if (i != _children.end()) {
++i;
}
_children.insert (i, child);
} else {
_children.push_back (child);
}
++i;
}
_children.insert (i, child);
} else {
_children.push_back (child);
}
- child->set_parent (dynamic_pointer_cast<DKDMGroup>
(shared_from_this
()));
+ child->set_parent (dynamic_pointer_cast<DKDMGroup>
(shared_from_this
()));
}
}
+
void
DKDMGroup::remove (shared_ptr<DKDMBase> child)
{
void
DKDMGroup::remove (shared_ptr<DKDMBase> child)
{
- for (
list<shared_ptr<DKDMBase> >::iterator
i = _children.begin(); i != _children.end(); ++i) {
+ for (
auto
i = _children.begin(); i != _children.end(); ++i) {
if (*i == child) {
_children.erase (i);
if (*i == child) {
_children.erase (i);
- child->set_parent (shared_ptr<DKDMGroup>
());
+ child->set_parent (shared_ptr<DKDMGroup>());
return;
}
return;
}
-
shared_ptr<DKDMGroup>
g = dynamic_pointer_cast<DKDMGroup> (*i);
+
auto
g = dynamic_pointer_cast<DKDMGroup> (*i);
if (g) {
g->remove (child);
}
if (g) {
g->remove (child);
}