Use an enum instead of a bool to specify blocking/non-blocking.
[dcpomatic.git] / src / lib / butler.h
index cd3891754be508c51603b8b343e3069a3a95481a..529b7383d0b30a9fb84cef51302a26f6ac60cbca 100644 (file)
@@ -59,24 +59,25 @@ public:
 
        class Error {
        public:
-               enum Code{
+               enum class Code {
                        NONE,
                        AGAIN,
                        DIED,
                        FINISHED
                };
 
-               Error()
-                       : code (NONE)
-               {}
-
-               Code code;
+               Code code = Code::NONE;
                std::string message;
 
                std::string summary () const;
        };
 
-       std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> get_video (bool blocking, Error* e = 0);
+       enum class Behaviour {
+               BLOCKING,
+               NON_BLOCKING
+       };
+
+       std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> get_video (Behaviour behaviour, Error* e = nullptr);
        boost::optional<dcpomatic::DCPTime> get_audio (float* out, Frame frames);
        boost::optional<TextRingBuffers::Data> get_closed_caption ();