YULTek/Otarcik_CAN/Sources/SystemConfig.h

76 lines
1.9 KiB
C++

#ifndef SYSTEMCONFIG_H
#define SYSTEMCONFIG_H
#include "CANDevice.h"
#include <QList>
#include <QFile>
#include <QDataStream>
#include "CANDeviceConfig.h"
#include "CloudParams.h"
#include "CANWatchdogConfig.h"
#include "GeneralSystemParams.h"
#include "CPUWatchdogConfig.h"
#include "DeviceDetectionConfig.h"
#define OTARCIK_CURRENT_CONFIG_FILE_VERSION 0x02
#define OTARCIK_CONFIG_FILE_MAGIC_NBR 0xDEADBEEF
//class CCANDeviceConfig;
class CSystemConfig
{
public:
CSystemConfig();
~CSystemConfig();
int LoadConfig(/*QList<CCANDevice*> *DevicesList*/);
int SaveConfig(/*QList<CCANDeviceConfig*> *DevicesConfigList*/);
int CreateEmptyConfig();
int SetCANDevicesConfigList(QList<CCANDeviceConfig*> *DevicesConfigList);
QList<CCANDeviceConfig*> *GetCANDevicesConfigList();
QList<CCloudParams*> *GetCloudParams();
int SetCloudParamsList(QList<CCloudParams*> *CloudParams);
CGeneralSystemParams *GetGeneralSystemSettings();
int SetGeneralSystemParams(CGeneralSystemParams *GeneralParams);
CCPUWatchdogConfig *GetCPUWatchdogSettings();
int SetCPUWatchdogPArams(CCPUWatchdogConfig *CPUWatchdogParams);
CDeviceDetectionConfig *GetDeviceDetectionConfig();
int SetDeviceDetectionConfig (CDeviceDetectionConfig *DeviceDetectconfig);
//Can devices configs
QList<CCANDeviceConfig*> mCANDeviceConfigList;
//Cloud interface config
QList<CCloudParams*> mCloudLoggingParamsList;
// CCloudParams mCloudLoggingParams;
//Misc general system settings
CGeneralSystemParams mGeneralSystemParams;
//CAN Module watchdog settings
CCANWatchdogConfig mCANWatchdogParams;
CCANWatchdogConfig *GetCANWatchdogConfig();
int SetCANWatchdogConfig(CCANWatchdogConfig *Config);
//Hardware watchdog settings
CCPUWatchdogConfig mCPUWatchdogParams;
//Device detection and reporting config
CDeviceDetectionConfig mDeviceDetectionParams;
//
};
#endif // SYSTEMCONFIG_H