/* * 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 #include #include #include #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