*/
+#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.)
*/
+#include <dcp/dcp.h>
#include <string>
#include <vector>
/** @class DCPContentType
* @brief A description of the type of content for a DCP (e.g. feature, trailer etc.)
*/
-class DCPContentType
+class DCPContentType : public boost::noncopyable
{
public:
- DCPContentType (std::string, std::string);
+ DCPContentType (std::string, dcp::ContentKind, std::string);
/** @return user-visible `pretty' name */
std::string pretty_name () const {
return _pretty_name;
}
- /** @return name as written to a DCP */
- std::string dcp_name () const {
- return _dcp_name;
+ dcp::ContentKind libdcp_kind () const {
+ return _libdcp_kind;
+ }
+
+ std::string isdcf_name () const {
+ return _isdcf_name;
}
static DCPContentType const * from_pretty_name (std::string);
+ static DCPContentType const * from_isdcf_name (std::string);
static DCPContentType const * from_index (int);
static int as_index (DCPContentType const *);
static std::vector<DCPContentType const *> all ();
private:
std::string _pretty_name;
- std::string _dcp_name;
+ dcp::ContentKind _libdcp_kind;
+ std::string _isdcf_name;
/** All available DCP content types */
static std::vector<DCPContentType const *> _dcp_content_types;
};
+#endif