#pragma once // cpp #include #include class IProtocol; class ICamera; class IScanner { public: explicit IScanner(std::shared_ptr camera, std::vector> protocols); virtual ~IScanner() = default; public: virtual bool startAllProtocols() = 0; virtual void stopAllProtocols() = 0; protected: std::shared_ptr m_camera; std::vector> m_protocols; };