Basics of OpenGL viewer.
[dcpomatic.git] / src / lib / exceptions.h
index 5efb045b74906cdbb77e782d61023ba709c6c77d..f6b3bd902dd7a0cc8df5201ded9c08122bdd6989 100644 (file)
@@ -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:
@@ -258,4 +285,11 @@ public:
        KDMAsContentError ();
 };
 
+class GLError : public std::runtime_error
+{
+public:
+       GLError (char const * last, int e);
+};
+
+
 #endif