summaryrefslogtreecommitdiff
path: root/src/lib/exceptions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/exceptions.h')
-rw-r--r--src/lib/exceptions.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lib/exceptions.h b/src/lib/exceptions.h
index 0f8a2eda2..98534bb32 100644
--- a/src/lib/exceptions.h
+++ b/src/lib/exceptions.h
@@ -30,6 +30,7 @@ extern "C" {
#include <libavutil/pixfmt.h>
}
#include <boost/filesystem.hpp>
+#include <boost/optional.hpp>
#include <stdexcept>
#include <cstring>
@@ -320,22 +321,33 @@ public:
class CopyError : public std::runtime_error
{
public:
- CopyError (std::string s, int n);
+ CopyError (std::string s, boost::optional<int> n = boost::optional<int>());
virtual ~CopyError () throw () {}
std::string message () const {
return _message;
}
- int number () const {
+ boost::optional<int> number () const {
return _number;
}
private:
std::string _message;
- int _number;
+ boost::optional<int> _number;
};
+
+/** @class CommunicationFailedError
+ * @brief Communcation between dcpomatic2_disk and _disk_writer failed somehow.
+ */
+class CommunicationFailedError : public CopyError
+{
+public:
+ CommunicationFailedError ();
+};
+
+
/** @class VerifyError
* @brief An error which occurs when verifying a DCP that we copied to a distribution drive.
*/