diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-10 23:54:31 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-04-10 23:54:31 +0200 |
| commit | 093525165f6397ba9eaffd19833dc978bcb32d55 (patch) | |
| tree | 5a7a1a428aff635d9be44ea9af993ac83d71fc0f /src/reel_file_asset.h | |
| parent | c59e6c0e64f95afc7c33168e7c7562502411bd01 (diff) | |
Rename ReelFileAsset -> ReelEncryptableAsset
Diffstat (limited to 'src/reel_file_asset.h')
| -rw-r--r-- | src/reel_file_asset.h | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/src/reel_file_asset.h b/src/reel_file_asset.h deleted file mode 100644 index 9cf02e21..00000000 --- a/src/reel_file_asset.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - 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. -*/ - - -/** @file src/reel_file_asset.h - * @brief ReelFileAsset class - */ - - -#ifndef LIBDCP_REEL_MXF_H -#define LIBDCP_REEL_MXF_H - - -#include "ref.h" -#include <boost/optional.hpp> -#include <memory> -#include <string> - - -namespace cxml { - class Node; -} - - -namespace dcp { - - -/** @class ReelFileAsset - * @brief Part of a Reel's description which refers to an asset which can be encrypted - */ -class ReelFileAsset -{ -public: - explicit ReelFileAsset (std::shared_ptr<Asset> asset, boost::optional<std::string> key_id); - explicit ReelFileAsset (std::shared_ptr<const cxml::Node>); - virtual ~ReelFileAsset () {} - - /** @return the 4-character key type for this MXF (MDIK, MDAK, etc.) */ - virtual std::string key_type () const = 0; - - /** @return a Ref to our actual asset */ - Ref const & asset_ref () const { - return _asset_ref; - } - - /** @return a Ref to our actual asset */ - Ref & asset_ref () { - return _asset_ref; - } - - /** @return the asset's hash, if this ReelFileAsset has been created from one, - * otherwise the hash written to the CPL for this asset (if present). - */ - boost::optional<std::string> hash () const { - return _hash; - } - - void set_hash (std::string h) { - _hash = h; - } - - /** @return true if a KeyId is specified for this asset, implying - * that its content is encrypted. - */ - bool encrypted () const { - return static_cast<bool>(_key_id); - } - - /** @return Key ID to describe the key that encrypts this asset's - * content, if there is one. - */ - boost::optional<std::string> key_id () const { - return _key_id; - } - - bool mxf_equals (std::shared_ptr<const ReelFileAsset> other, EqualityOptions opt, NoteHandler note) const; - -protected: - - template <class T> - std::shared_ptr<T> asset_of_type () const { - return std::dynamic_pointer_cast<T> (_asset_ref.asset ()); - } - - template <class T> - std::shared_ptr<T> asset_of_type () { - return std::dynamic_pointer_cast<T> (_asset_ref.asset ()); - } - - void write_to_cpl_mxf (xmlpp::Node* node) const; - - /** Reference to the asset (MXF or XML file) that this reel entry - * applies to. - */ - Ref _asset_ref; - -private: - boost::optional<std::string> _key_id; ///< The <KeyId> from the reel's entry for this asset, if there is one - /** Either our asset's computed hash or the hash read in from the CPL, if it's present */ - boost::optional<std::string> _hash; -}; - - -} - - -#endif |
