#ifndef CAMERA_H #define CAMERA_H #include struct CameraDrowsinessResult { bool valid = false; bool eyes_closed = false; float eye_openness_score = 0.0f; float baseline_score = 0.0f; }; class Camera { public: virtual void SetExplainUrl(const std::string& url, const std::string& token) = 0; virtual bool Capture() = 0; virtual bool SetHMirror(bool enabled) = 0; virtual bool SetVFlip(bool enabled) = 0; virtual bool SetSwapBytes(bool enabled) { return false; } // Optional, default no-op virtual bool DetectDrowsiness(CameraDrowsinessResult& result, bool show_debug_preview = false) { return false; } virtual std::string Explain(const std::string& question) = 0; }; #endif // CAMERA_H