X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fexceptions.cc;h=37e699e6adb6836035685940c9c32e657c588f71;hb=8d56ea4bbff391dd72981f86001245a595fa9c62;hp=7516d0858577050f1f29ce82d9f57b79d715dd66;hpb=a73ef9bbae589e20b6225f3c1c937086c5bd7815;p=libdcp.git diff --git a/src/exceptions.cc b/src/exceptions.cc index 7516d085..37e699e6 100644 --- a/src/exceptions.cc +++ b/src/exceptions.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2018 Carl Hetherington + Copyright (C) 2014-2020 Carl Hetherington This file is part of libdcp. @@ -40,6 +40,7 @@ using std::string; using std::runtime_error; +using boost::optional; using namespace dcp; FileError::FileError (string message, boost::filesystem::path filename, int number) @@ -62,19 +63,8 @@ TimeFormatError::TimeFormatError (string bad_time) } -MissingAssetError::MissingAssetError (boost::filesystem::path path, AssetType type) - : DCPReadError ( - type == MAIN_PICTURE ? String::compose ("Missing asset %1 for main picture", path.filename().string()) : - (type == MAIN_SOUND ? String::compose ("Missing asset %1 for main sound", path.filename().string()) : - (type == MAIN_SUBTITLE ? String::compose ("Missing asset %1 for main subtitle", path.filename().string()) : - String::compose ("Missing asset %1", path.filename().string())))) - , _path (path) -{ - -} - BadContentKindError::BadContentKindError (string content_kind) - : DCPReadError (String::compose("Bad content kind '%1'", content_kind)) + : ReadError (String::compose("Bad content kind '%1'", content_kind)) { } @@ -92,12 +82,6 @@ ProgrammingError::ProgrammingError (string file, int line) } -MismatchedStandardError::MismatchedStandardError () - : DCPReadError ("DCP contains both Interop and SMPTE parts") -{ - -} - KDMDecryptionError::KDMDecryptionError (std::string message, int cipher_length, int modulus_dmax) : runtime_error (String::compose ("Could not decrypt KDM (%1) (%2/%3)", message, cipher_length, modulus_dmax)) { @@ -116,7 +100,7 @@ CertificateChainError::CertificateChainError (string message) } -DCPReadError::DCPReadError (string message, string detail) +ReadError::ReadError (string message, string detail) : runtime_error(String::compose("%1 (%2)", message, detail)) , _message(message) , _detail(detail) @@ -129,3 +113,67 @@ MissingSubtitleImageError::MissingSubtitleImageError (string id) { } + +BadKDMDateError::BadKDMDateError (bool starts_too_early) + : runtime_error ( + starts_too_early ? + "KDM validity period starts before or close to the start of the signing certificate validity period" : + "KDM validity ends after or close to the end of the signing certificate's validity period" + ) + , _starts_too_early (starts_too_early) +{ + +} + + +StartCompressionError::StartCompressionError (optional code) + : runtime_error (String::compose("Could not start JPEG2000 encoding%1", code ? String::compose(" (%1", *code) : "")) + , _code (code) +{} + + + +CombineError::CombineError (string message) + : runtime_error (message) +{} + + +LanguageTagError::LanguageTagError (std::string message) + : runtime_error (message) +{} + + +BadSettingError::BadSettingError (std::string message) + : runtime_error (message) +{ + +} + + +DuplicateIdError::DuplicateIdError (std::string message) + : runtime_error (message) +{ + +} + + +MainSoundConfigurationError::MainSoundConfigurationError (std::string s) + : runtime_error (String::compose("Could not parse MainSoundConfiguration %1", s)) +{ + +} + + +UnknownChannelIdError::UnknownChannelIdError (std::string id) + : runtime_error (String::compose("Unrecognised channel id '%1'", id)) +{ + +} + + +NoReelsError::NoReelsError () + : runtime_error ("Cannot make a DCP when no reels have been added") +{ + +} +