#ifndef PYLONRECORDER_H
#define PYLONRECORDER_H

#include <pylon/PylonIncludes.h>
#include <pylon/BaslerUniversalInstantCamera.h>
#include "myimage.h"

struct ImageSettings {
  int64_t width = 0;
  int64_t height = 0;
};

class PylonWrapper
{
public:
    PylonWrapper();
    ~PylonWrapper();

    ImageSettings getImageSettings();
    bool isOpen();
    void terminate();
    bool openCamera(std::string &message);
    void closeCamera();
    bool grabFrame(MyImage &img);
    bool frameRate(uint framerate);
    double frameRate();
    double maxFrameRate();
    Pylon::CInstantCamera *getCamera();

private:
    Pylon::CInstantCamera *camera;
    bool valid;



};

#endif // PYLONRECORDER_H