+/** @class NotEncryptedError
+ * @brief An error raised when creating a DecryptedKDM object for assets that are not
+ * encrypted.
+ */
+class NotEncryptedError : public std::runtime_error
+{
+public:
+ NotEncryptedError (std::string const & what);
+ ~NotEncryptedError () throw () {}
+};
+
+/** @class ProgrammingError
+ * @brief An exception thrown when a DCP_ASSERT fails; something that should not happen.
+ */
+class ProgrammingError : public std::runtime_error
+{
+public:
+ ProgrammingError (std::string file, int line);