Rename send_binary -> write_to_socket.
[dcpomatic.git] / src / lib / exceptions.h
index 0f8a2eda27a6b9fa7a42dab355331953ea51a691..98534bb32d410db108c2d8bd8f00fe220822074f 100644 (file)
@@ -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.
  */