summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cpl.h1
-rw-r--r--src/rating.cc64
-rw-r--r--src/rating.h76
-rw-r--r--src/types.cc23
-rw-r--r--src/types.h22
-rw-r--r--src/wscript2
6 files changed, 143 insertions, 45 deletions
diff --git a/src/cpl.h b/src/cpl.h
index 18b00098..66310247 100644
--- a/src/cpl.h
+++ b/src/cpl.h
@@ -45,6 +45,7 @@
#include "certificate.h"
#include "key.h"
#include "language_tag.h"
+#include "rating.h"
#include "types.h"
#include <boost/filesystem.hpp>
#include <boost/function.hpp>
diff --git a/src/rating.cc b/src/rating.cc
new file mode 100644
index 00000000..2064c644
--- /dev/null
+++ b/src/rating.cc
@@ -0,0 +1,64 @@
+/*
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
+
+ This file is part of libdcp.
+
+ libdcp is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ libdcp is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with libdcp. If not, see <http://www.gnu.org/licenses/>.
+
+ In addition, as a special exception, the copyright holders give
+ permission to link the code of portions of this program with the
+ OpenSSL library under certain conditions as described in each
+ individual source file, and distribute linked combinations
+ including the two.
+
+ You must obey the GNU General Public License in all respects
+ for all of the code used other than OpenSSL. If you modify
+ file(s) with this exception, you may extend this exception to your
+ version of the file(s), but you are not obligated to do so. If you
+ do not wish to do so, delete this exception statement from your
+ version. If you delete this exception statement from all source
+ files in the program, then also delete it here.
+*/
+
+
+#include "rating.h"
+#include <libcxml/cxml.h>
+
+
+using namespace dcp;
+
+
+Rating::Rating (cxml::ConstNodePtr node)
+ : agency(node->string_child("Agency"))
+ , label(node->string_child("Label"))
+{
+ node->done ();
+}
+
+
+void
+Rating::as_xml (xmlpp::Element* parent) const
+{
+ parent->add_child("Agency")->add_child_text(agency);
+ parent->add_child("Label")->add_child_text(label);
+}
+
+
+bool
+dcp::operator== (Rating const & a, Rating const & b)
+{
+ return a.agency == b.agency && a.label == b.label;
+}
+
+
diff --git a/src/rating.h b/src/rating.h
new file mode 100644
index 00000000..0fb912b3
--- /dev/null
+++ b/src/rating.h
@@ -0,0 +1,76 @@
+/*
+ Copyright (C) 2012-2022 Carl Hetherington <cth@carlh.net>
+
+ This file is part of libdcp.
+
+ libdcp is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ libdcp is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with libdcp. If not, see <http://www.gnu.org/licenses/>.
+
+ In addition, as a special exception, the copyright holders give
+ permission to link the code of portions of this program with the
+ OpenSSL library under certain conditions as described in each
+ individual source file, and distribute linked combinations
+ including the two.
+
+ You must obey the GNU General Public License in all respects
+ for all of the code used other than OpenSSL. If you modify
+ file(s) with this exception, you may extend this exception to your
+ version of the file(s), but you are not obligated to do so. If you
+ do not wish to do so, delete this exception statement from your
+ version. If you delete this exception statement from all source
+ files in the program, then also delete it here.
+*/
+
+
+#ifndef LIBDCP_RATING_H
+#define LIBDCP_RATING_H
+
+
+#include "warnings.h"
+#include <libcxml/cxml.h>
+LIBDCP_DISABLE_WARNINGS
+#include <libxml++/libxml++.h>
+LIBDCP_ENABLE_WARNINGS
+#include <string>
+
+
+namespace dcp {
+
+
+class Rating
+{
+public:
+ Rating (std::string agency_, std::string label_)
+ : agency (agency_)
+ , label (label_)
+ {}
+
+ explicit Rating (cxml::ConstNodePtr node);
+
+ void as_xml (xmlpp::Element* parent) const;
+
+ /** URI of the agency issuing the rating */
+ std::string agency;
+ /** Rating (e.g. PG, PG-13, 12A etc) */
+ std::string label;
+};
+
+
+extern bool operator== (Rating const & a, Rating const & b);
+
+
+}
+
+
+#endif
+
diff --git a/src/types.cc b/src/types.cc
index 12be1b8a..077836e0 100644
--- a/src/types.cc
+++ b/src/types.cc
@@ -431,29 +431,6 @@ dcp::marker_from_string (string s)
}
-Rating::Rating (cxml::ConstNodePtr node)
- : agency(node->string_child("Agency"))
- , label(node->string_child("Label"))
-{
- node->done ();
-}
-
-
-void
-Rating::as_xml (xmlpp::Element* parent) const
-{
- parent->add_child("Agency")->add_child_text(agency);
- parent->add_child("Label")->add_child_text(label);
-}
-
-
-bool
-dcp::operator== (Rating const & a, Rating const & b)
-{
- return a.agency == b.agency && a.label == b.label;
-}
-
-
ContentVersion::ContentVersion ()
: id ("urn:uuid:" + make_uuid())
{
diff --git a/src/types.h b/src/types.h
index be9ba1b3..b68402af 100644
--- a/src/types.h
+++ b/src/types.h
@@ -373,28 +373,6 @@ std::string marker_to_string (Marker);
Marker marker_from_string (std::string);
-class Rating
-{
-public:
- Rating (std::string agency_, std::string label_)
- : agency (agency_)
- , label (label_)
- {}
-
- explicit Rating (cxml::ConstNodePtr node);
-
- void as_xml (xmlpp::Element* parent) const;
-
- /** URI of the agency issuing the rating */
- std::string agency;
- /** Rating (e.g. PG, PG-13, 12A etc) */
- std::string label;
-};
-
-
-extern bool operator== (Rating const & a, Rating const & b);
-
-
enum class Status
{
FINAL, ///< final version
diff --git a/src/wscript b/src/wscript
index 4108265a..4270865f 100644
--- a/src/wscript
+++ b/src/wscript
@@ -77,6 +77,7 @@ def build(bld):
picture_asset.cc
picture_asset_writer.cc
pkl.cc
+ rating.cc
raw_convert.cc
reel.cc
reel_asset.cc
@@ -168,6 +169,7 @@ def build(bld):
picture_asset.h
picture_asset_writer.h
pkl.h
+ rating.h
raw_convert.h
rgb_xyz.h
reel.h