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