X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fexceptions.h;h=fe87ababcad292335b52ed07d0328c19484420bb;hb=cd22846b748141261db1243588fe11d1a1504ce4;hp=5efb045b74906cdbb77e782d61023ba709c6c77d;hpb=a69d242f3f00207d6ea7320e6723775f4b0dbfb3;p=dcpomatic.git diff --git a/src/lib/exceptions.h b/src/lib/exceptions.h index 5efb045b7..fe87ababc 100644 --- a/src/lib/exceptions.h +++ b/src/lib/exceptions.h @@ -44,6 +44,14 @@ public: {} }; +class CryptoError : public std::runtime_error +{ +public: + explicit CryptoError (std::string s) + : std::runtime_error (s) + {} +}; + /** @class EncodeError * @brief A low-level problem with an encoder. */ @@ -192,9 +200,20 @@ public: class KDMError : public std::runtime_error { public: - explicit KDMError (std::string s) - : std::runtime_error (s) - {} + KDMError (std::string s, std::string d); + ~KDMError () throw() {} + + std::string summary () const { + return _summary; + } + + std::string detail () const { + return _detail; + } + +private: + std::string _summary; + std::string _detail; }; /** @class PixelFormatError @@ -244,6 +263,14 @@ public: {} }; +class MetadataError : public std::runtime_error +{ +public: + explicit MetadataError (std::string s) + : std::runtime_error (s) + {} +}; + class OldFormatError : public std::runtime_error { public: