#pragma once
#include "ccamdriver.h"
#include "export_cam_driver_impl.h"
class CAM_DRIVER_IMPL_EXPORT CCamDriver_Basler :
    public CCamDriver {
public:
    CCamDriver_Basler(const QString& name, int32_t id);
    ~CCamDriver_Basler();

    int32_t grab_image(int32_t camid, CMImage* pImageDest) override;


    int32_t init_driver() override;
    int32_t exit_driver() override;

    int32_t get_cam_property_range(int32_t camid, int32_t propertyid) override;

    int32_t set_cam_property(int32_t camid, int32_t propertyid, int32_t data, bool_t bsetdefault) override;

    int32_t autoadjust_property(int32_t camid) override;

    int32_t fresh_cam_property(int32_t camid, int32_t propertyid) override;
private:
    int32_t set_auto_property(int32_t camid, int32_t propertyid, bool bAuto);
};

