#pragma once #include class ICamera; class IProtocol { public: explicit IProtocol(std::shared_ptr camera); virtual ~IProtocol() = default; public: virtual bool start() = 0; virtual void stop() = 0; protected: std::shared_ptr m_camera; };