86 lines
2.5 KiB
C++
86 lines
2.5 KiB
C++
#ifndef CONFIG_H
|
|
#define CONFIG_H
|
|
|
|
#include <QObject>
|
|
#include <QtQml>
|
|
#include <QString>
|
|
#include <QStringList>
|
|
#include <QQuickView>
|
|
#include <QQmlComponent>
|
|
#include <QList>
|
|
#include <fstream>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "structs.h"
|
|
#include <unistd.h>
|
|
#include "usb_thingy.h"
|
|
#include "a811.h"
|
|
|
|
#define CONF_FILE "conf.bin"
|
|
|
|
class Conf : public QObject
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(ssize_t deviceConfig READ deviceConfig WRITE setDeviceConfig NOTIFY deviceConfigChanged)
|
|
Q_PROPERTY(int lightMode READ lightMode WRITE setLightMode NOTIFY lightModeChanged)
|
|
Q_PROPERTY(ssize_t batteryStatus READ batteryStatus WRITE setBatteryStatus NOTIFY batteryStatusChanged)
|
|
|
|
public:
|
|
explicit Conf(QObject *parent = nullptr);
|
|
ssize_t deviceConfig();
|
|
Q_INVOKABLE void setDeviceConfig(ssize_t stat);
|
|
Q_SIGNAL void deviceConfigChanged();
|
|
|
|
int lightMode();
|
|
Q_INVOKABLE void setLightMode(int mode);
|
|
Q_SIGNAL void lightModeChanged();
|
|
|
|
Q_INVOKABLE ssize_t restoreConfigs();
|
|
|
|
Q_INVOKABLE ssize_t writeConfigToFile();
|
|
ssize_t writeConfigToFile(const char *filePath);
|
|
Q_INVOKABLE ssize_t readConfigFromFile();
|
|
ssize_t readConfigFromFile(const char *filePath);
|
|
|
|
ssize_t getIdleStatus();
|
|
|
|
// all the config should be in a single file
|
|
ssize_t writeConfigToFile(conf_1 *conf, const char *filePath);
|
|
ssize_t writeConfigToFile(conf_2 *conf, const char *filePath);
|
|
ssize_t readConfigFromFile(const char *filePath, conf_1 *conf);
|
|
ssize_t readConfigFromFile(const char *filePath, conf_2 *conf);
|
|
ssize_t writeConfigToDevice(conf_1 *conf);
|
|
ssize_t writeConfigToDevice(conf_2 *conf);
|
|
ssize_t readConfigFromDevice(conf_1 *conf);
|
|
ssize_t readConfigFromDevice(conf_2 *conf);
|
|
|
|
Q_INVOKABLE ssize_t readAssignedMacrosFromDevice();
|
|
|
|
Q_INVOKABLE ssize_t readMacrosFromDevice(macro **¯os, int cnt);
|
|
Q_INVOKABLE ssize_t readMacroFromDevice(macro *_macro, int id);
|
|
Q_INVOKABLE ssize_t writeMacroToDevice(macro *_macro);
|
|
|
|
Q_INVOKABLE ssize_t appendMacroToFile(macro *_macro, const char *filePath);
|
|
Q_INVOKABLE ssize_t deleteMacroFromFile(macro *_macro, const char *filePath);
|
|
|
|
ssize_t batteryStatus();
|
|
Q_INVOKABLE void setBatteryStatus(ssize_t bat);
|
|
Q_SIGNAL void batteryStatusChanged();
|
|
|
|
Q_INVOKABLE void testFunc();
|
|
|
|
Q_SIGNALS:
|
|
|
|
private:
|
|
macro **m_macros;
|
|
ssize_t m_stat;
|
|
ssize_t m_bat;
|
|
int m_lightMode;
|
|
conf_1 *m_conf1;
|
|
conf_2 *m_conf2;
|
|
QString m_fileName;
|
|
Connection *connection;
|
|
};
|
|
|
|
#endif
|