#ifndef JSONBASE_H
#define JSONBASE_H
#include<QJsonObject>
class IJsonSerialize
{
public:
IJsonSerialize() = default;
virtual void read( QJsonObject &json) = 0;
virtual void write( QJsonObject &json) = 0;
};
#endif
#ifndef CAMSETTINGS_H
#define CAMSETTINGS_H
#include<QObject>
#include<JsonBase.h>
#include<QString>
enum ActionType{
Auto,Manual};
enum PixelFormat{
JPEG,PNG,RAW};
class Exposure:public IJsonSerialize
{
Q_GADGET;
public:
Exposure() = default;
void read( QJsonObject &json) override;
void write( QJsonObject &json) override;
ActionType Mode()const;
void setMode(const ActionType type);
int ISP() const;
void setISP(const int i);
int Time() const;
void setTime(const int i);
private:
ActionType _mode;
int _isp;
int _time;
};
class CamSettings:public IJsonSerialize
{
Q_GADGET;
public:
CamSettings() =default;
void read( QJsonObject &json) override;
void write( QJsonObject &json) override;
Exposure getExposure() const;
void setExposure(cons