summaryrefslogtreecommitdiff
path: root/src/iscanner.h
blob: 75300e184c5ef02d566bad2a357b37409b67edb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

// cpp
#include <memory>
#include <vector>

class IProtocol;
class ICamera;

class IScanner
{
public:
    explicit IScanner(std::shared_ptr<ICamera> camera,
                      std::vector<std::shared_ptr<IProtocol>> protocols);
    virtual ~IScanner() = default;

public:
    virtual bool startAllProtocols() = 0;
    virtual void stopAllProtocols() = 0;

protected:
    std::shared_ptr<ICamera> m_camera;
    std::vector<std::shared_ptr<IProtocol>> m_protocols;
};