#ifndef CCAMDRIVER_IMG_H
#define CCAMDRIVER_IMG_H
#include "ccamdriver.h"
#include "export_cam_driver_impl.h"
class CAM_DRIVER_IMPL_EXPORT CCamDriver_IMG : public CCamDriver
{
public:
    enum msg_id
    {
        CAMDRIVER_IMG_MSG_ID=MAX_CAMDRIVER_MSG_ID,
        MAX_CAMDRIVER_IMG_MSG_ID,
    };
    CCamDriver_IMG(const QString& name,int32_t id);
    ~CCamDriver_IMG();
    int32_t init_driver();
    int32_t exit_driver();

    virtual int32_t grab_image(int32_t camid, CMImage *pImageDest);
    virtual int32_t get_cam_property_range(int32_t camid,int32_t propertyid);
    virtual int32_t set_cam_property(int32_t camid,int32_t propertyid,
                                     int32_t data,bool_t bsetdefault);
    virtual int32_t fresh_cam_property(int32_t camid,int32_t propertyid);

    virtual int32_t autoadjust_property(int32_t camid);
private:
	GUID get_property_guid(int propertyid);
	int32_t set_auto_property(int32_t camid,int32_t propertyid, bool bAuto);
};

#endif // CCAMDRIVER_IMG_H
