Files
2026-08-24 10:03:24 +08:00

117 lines
5.0 KiB
C++

/*
* Copyright (c) 2014 Amlogic, Inc. All rights reserved.
*
* This source code is subject to the terms and conditions defined in the
* file 'LICENSE' which is part of this source code package.
*
* Description: header file
*/
#ifndef CPQDATABASE_H_
#define CPQDATABASE_H_
#include <cutils/properties.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "CSqlite.h"
#include "PQTableLoaderOSD.h"
#include "PQTableLoaderTypesOSD.h"
#include "PQTableTypeOSD.h"
class CPQDataBase: public CSqlite {
public:
CPQDataBase();
~CPQDataBase();
int Init(const char *path);
int closePqDB(void);
int reopenDB(const char *db_path);
static CPQDataBase *GetInstance();
bool StartSQLBatchHighSpeedMode(void);
bool EndSQLBatchHighSpeedMode(void);
bool SetSyncData(void *pData, int iSize);
bool GetSyncData(void *pData, int iSize);
bool SetVersionInfo(TABLE_VER_OSD *pData);
bool GetVersionInfo(TABLE_VER_OSD *pData);
bool SetNonlinearData(NonlinearModeType *pData, int src, int timing);
bool GetNonlinearData(NonlinearModeType *pData, int src, int timing);
bool SetDefaultNonlinearData(NonlinearModeType *pData, int src, int timing);
bool GetDefaultNonlinearData(NonlinearModeType *pData, int src, int timing);
bool SetPictureMode(PICTURE_MODE_DEFAULT *pData, int src, int timming);
bool GetPictureMode(PICTURE_MODE_DEFAULT *pData, int src, int timming);
bool SetLastPictureMode(PICTURE_MODE_DEFAULT *pData, int src, int timming);
bool GetLastPictureMode(PICTURE_MODE_DEFAULT *pData, int src, int timming);
bool SetDefaultPictureMode(PICTURE_MODE_DEFAULT *pData, int src, int timming);
bool GetDefaultPictureMode(PICTURE_MODE_DEFAULT *pData, int src, int timming);
bool SetPictureModeData(PICTURE_MODE_PARAM *pData, int src, int timing, int mode);
bool GetPictureModeData(PICTURE_MODE_PARAM *pData, int src, int timing, int mode);
bool SetDefaultPictureModeData(PICTURE_MODE_PARAM *pData, int src, int timing, int mode);
bool GetDefaultPictureModeData(PICTURE_MODE_PARAM *pData, int src, int timing, int mode);
bool SetColorTemperatureData(COLORTEMP_DATA *pData, int src, int timing, int level);
bool GetColorTemperatureData(COLORTEMP_DATA *pData, int src, int timing, int level);
bool SetDefaultColorTemperatureData(COLORTEMP_DATA *pData, int src, int timing, int level);
bool GetDefaultColorTemperatureData(COLORTEMP_DATA *pData, int src, int timing, int level);
bool SetRGBOffsetData(COLORTEMP_OFFSET_DATA *pData, int level, int src, int timing);
bool GetRGBOffsetData(COLORTEMP_OFFSET_DATA *pData, int level, int src, int timing);
bool SetDefaultRGBOffsetData(COLORTEMP_OFFSET_DATA *pData, int level, int src, int timing);
bool GetDefaultRGBOffsetData(COLORTEMP_OFFSET_DATA *pData, int level, int src, int timing);
bool SetGammaOffsetData(GAMMA_OFFSET_DATA *pData, int level, int mode, int src, int timing);
bool GetGammaOffsetData(GAMMA_OFFSET_DATA *pData, int level, int mode, int src, int timing);
bool SetDefaultGammaOffsetData(GAMMA_OFFSET_DATA *pData, int level, int mode, int src, int timing);
bool GetDefaultGammaOffsetData(GAMMA_OFFSET_DATA *pData, int level, int mode, int src, int timing);
bool SetColorCustomizeData(TABLE_CMS *pData, int PictureMode, int src, int timing);
bool GetColorCustomizeData(TABLE_CMS *pData, int PictureMode, int src, int timing);
bool SetDefaultColorCustomizeData(TABLE_CMS *pData, int PictureMode, int src, int timing);
bool GetDefaultColorCustomizeData(TABLE_CMS *pData, int PictureMode, int src, int timing);
bool SetPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *pData, int src);
bool GetPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *pData, int src);
bool SetDefaultPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *pData, int src);
bool GetDefaultPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *pData, int src);
bool SetPictureStructDataGlobal(PICTURE_SETTING_GLOBAL *pData);
bool GetPictureStructDataGlobal(PICTURE_SETTING_GLOBAL *pData);
bool SetDefaultPictureStructDataGlobal(PICTURE_SETTING_GLOBAL *pData);
bool GetDefaultPictureStructDataGlobal(PICTURE_SETTING_GLOBAL *pData);
bool SetLvdsSscData(LCD_LVDS_SSC *pData, int index);
bool GetLvdsSscData(LCD_LVDS_SSC *pData, int index);
class ICPQDataBaseObserver {
public:
ICPQDataBaseObserver() {};
virtual ~ICPQDataBaseObserver() {};
virtual bool LoadPictureModeDbSetting() { return false; };
};
void setObserver(ICPQDataBaseObserver *pOb) {
mpObserver = pOb;
};
private:
ICPQDataBaseObserver *mpObserver = nullptr;
bool CreateNewDB(const char *db_path);
bool CreateTable(const char *TableName);
bool LoadOSDBin(void);
bool LoadDefaultTable(void);
bool GetTable(unsigned char *pData, int offset, size_t dataSize, PQ_OSD_TABLE_STRUCT_HEADER **ppTableHeader, unsigned char **ppTableData, unsigned char **ppTableIndex);
bool CheckTable(void);
void InitialValue(void);
static CPQDataBase *mInstance;
};
#endif