X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fdcp_content_type.h;h=03a52e57ce00053a0d122b2a9eee93566e22128a;hp=34398009bcaa24fb00bd4fe7e47d82fe6ac8af28;hb=da44da6f31f97d39ca91c35955e573e76371f2c2;hpb=e894cfe3d891135d1b92b62603a464e42bd6ed5c diff --git a/src/lib/dcp_content_type.h b/src/lib/dcp_content_type.h index 34398009b..03a52e57c 100644 --- a/src/lib/dcp_content_type.h +++ b/src/lib/dcp_content_type.h @@ -1,41 +1,49 @@ /* - Copyright (C) 2012 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic 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. - This program is distributed in the hope that it will be useful, + DCP-o-matic 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 this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + #ifndef DCPOMATIC_DCP_CONTENT_TYPE_H #define DCPOMATIC_DCP_CONTENT_TYPE_H -/** @file src/content_type.h - * @brief A description of the type of content for a DCP (e.g. feature, trailer etc.) + +/** @file src/dcp_content_type.h + * @brief DCPContentType class. */ + #include #include #include + /** @class DCPContentType * @brief A description of the type of content for a DCP (e.g. feature, trailer etc.) */ -class DCPContentType : public boost::noncopyable +class DCPContentType { public: DCPContentType (std::string, dcp::ContentKind, std::string); + DCPContentType (DCPContentType const&) = delete; + DCPContentType& operator= (DCPContentType const&) = delete; + /** @return user-visible `pretty' name */ std::string pretty_name () const { return _pretty_name; @@ -49,10 +57,10 @@ public: return _isdcf_name; } - static DCPContentType const * from_pretty_name (std::string); static DCPContentType const * from_isdcf_name (std::string); + static DCPContentType const * from_libdcp_kind (dcp::ContentKind); static DCPContentType const * from_index (int); - static int as_index (DCPContentType const *); + static boost::optional as_index (DCPContentType const *); static std::vector all (); static void setup_dcp_content_types (); @@ -64,5 +72,6 @@ private: /** All available DCP content types */ static std::vector _dcp_content_types; }; - + + #endif