diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-03-01 16:27:59 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-03-01 16:27:59 +0100 |
| commit | bb8def962ae0092238d2263c1a2335b0206c4dc4 (patch) | |
| tree | 2fda08b5c61d2b9508651dd495ec77c23becd953 /src | |
| parent | 4e5da9f3c71cb2fd4059eab5785602cf524457be (diff) | |
Move Rating out to a separate file.
Diffstat (limited to 'src')
| -rw-r--r-- | src/cpl.h | 1 | ||||
| -rw-r--r-- | src/rating.cc | 64 | ||||
| -rw-r--r-- | src/rating.h | 76 | ||||
| -rw-r--r-- | src/types.cc | 23 | ||||
| -rw-r--r-- | src/types.h | 22 | ||||
| -rw-r--r-- | src/wscript | 2 |
6 files changed, 143 insertions, 45 deletions
@@ -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 |
