summaryrefslogtreecommitdiff
path: root/tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp (plain)
blob: d24cc2d170b965d30dfb5705c9e5027936694734
1#include "CTvSettingDeviceFactory.h"
2#include "CBlobDeviceE2prom.h"
3#include "CBlobDeviceFile.h"
4
5#include "../tvconfig/tvconfig.h"
6
7#include "CTvLog.h"
8#include "CTvSettingCfg.h"
9
10#define CC_PRINT_DATA_INFO (0)
11
12
13CTvSettingDeviceFactory::CTvSettingDeviceFactory()
14{
15 mpCurDevice = NULL;
16}
17
18CTvSettingDeviceFactory::~CTvSettingDeviceFactory()
19{
20
21 if (mpCurDevice != NULL) {
22 delete mpCurDevice;
23 mpCurDevice = NULL;
24 }
25
26}
27
28/*int CTvSettingDeviceFactory::SSMPrintAllDataInfo() {
29#if CC_PRINT_DATA_INFO == 1
30 static int gPrintInfoFlag = 0;
31
32 if (gPrintInfoFlag == 1) {
33 return 0;
34 }
35
36 gPrintInfoFlag = 1;
37
38 SSMPrintDataInfo("Section reserved0", SSM_RESERVED0_START, SSM_RESERVED0_LEN);
39 SSMPrintDataInfo("Section HDCP key", SSM_RO_HDCP_KEY_START, SSM_RO_HDCP_KEY_LEN);
40 SSMPrintDataInfo("Section MAC address", SSM_RO_MAC_START, SSM_RO_MAC_LEN);
41 SSMPrintDataInfo("Section VGA EDID", SSM_RO_VGA_EDID_START, SSM_RO_VGA_EDID_LEN);
42 SSMPrintDataInfo("Section HDMI EDID", SSM_RO_HDMI_EDID_START, SSM_RO_HDMI_EDID_LEN);
43
44 SSMPrintDataInfo("Section Mark 01", SSM_MARK_01_START, SSM_MARK_01_LEN);
45
46 SSMPrintDataInfo("Section Audio", SSM_RW_AUDIO_START, SSM_RW_AUDIO_LEN);
47 SSMPrintDataInfo("Section Audio Master Volume", SSM_AUD_MASTR_VOLUME_VAL, 1);
48 SSMPrintDataInfo("Section Audio Balance Value", SSM_AUD_BALANCE_VAL, 1);
49 SSMPrintDataInfo("Section Audio SupperBass Volume", SSM_AUD_SUPPERBASS_VOLUME_VAL, 1);
50 SSMPrintDataInfo("Section Audio SupperBass Switch", SSM_AUD_SUPPERBASS_SWITCH, 1);
51 SSMPrintDataInfo("Section Audio SRS Surround Switch", SSM_AUD_SRS_SURROUND_SWITCH, 1);
52 SSMPrintDataInfo("Section Audio SRS Dialog Clarity Switch", SSM_AUD_SRS_DIALOG_CLARITY_SWITCH, 1);
53 SSMPrintDataInfo("Section Audio SRS Trubass switch", SSM_AUD_SRS_TRUEBASS_SWITCH, 1);
54 SSMPrintDataInfo("Section Audio Bass Volume", SSM_AUD_BASS_VOLUME_VAL, 1);
55 SSMPrintDataInfo("Section Audio Treble Volume", SSM_AUD_TREBLE_VOLUME_VAL, 1);
56 SSMPrintDataInfo("Section Audio Sound Mode Value", SSM_AUD_SOUND_MODE_VAL, 1);
57 SSMPrintDataInfo("Section Audio Wall effect switch", SSM_AUD_WALL_EFFCT_SWITCH, 1);
58 SSMPrintDataInfo("Section Audio spdif switch", SSM_AUD_SPDIF_SWITCH, 1);
59 SSMPrintDataInfo("Section Audio spdif mode", SSM_AUD_SPDIF_MODE_VAL, 1);
60 SSMPrintDataInfo("Section Audio Tv Master Volume", SSM_AUD_TV_MASTR_VOLUME_VAL, 1);
61 SSMPrintDataInfo("Section Audio Sound enhance", SSM_AUD_SOUND_ENHANCE_SWITCH, 1);
62 SSMPrintDataInfo("Section Audio EQ mode", SSM_AUD_EQ_MODE_VAL, 32);
63 SSMPrintDataInfo("Section Audio EQ gain", SSM_AUD_EQ_GAIN, 1);
64 SSMPrintDataInfo("Section Audio No Line points", SSM_AUD_NOLINE_POINTS, 16);
65
66 SSMPrintDataInfo("Section VPP", SSM_RW_VPP_START, SSM_RW_VPP_LEN);
67 SSMPrintDataInfo("Section VPP color Demo mode", VPP_DATA_POS_COLOR_DEMO_MODE_START, VPP_DATA_POS_COLOR_DEMO_MODE_SIZE);
68 SSMPrintDataInfo("Section VPP color Base mode", VPP_DATA_POS_COLOR_BASE_MODE_START, VPP_DATA_POS_COLOR_BASE_MODE_SIZE);
69 SSMPrintDataInfo("Section VPP test pattern", VPP_DATA_POS_TEST_PATTERN_START, VPP_DATA_POS_TEST_PATTERN_SIZE);
70 SSMPrintDataInfo("Section VPP DDR SSC", VPP_DATA_POS_DDR_SSC_START, VPP_DATA_POS_DDR_SSC_SIZE);
71 SSMPrintDataInfo("Section VPP LVDS SSC", VPP_DATA_POS_LVDS_SSC_START, VPP_DATA_POS_LVDS_SSC_SIZE);
72 SSMPrintDataInfo("Section VPP Dream panel", VPP_DATA_POS_DREAM_PANEL_START, VPP_DATA_POS_DREAM_PANEL_SIZE);
73 SSMPrintDataInfo("Section VPP BackLight Reverse", VPP_DATA_POS_BACKLIGHT_REVERSE_START, VPP_DATA_POS_BACKLIGHT_REVERSE_SIZE);
74 SSMPrintDataInfo("Section VPP Brightness", VPP_DATA_POS_BRIGHTNESS_START, VPP_DATA_POS_BRIGHTNESS_SIZE);
75 SSMPrintDataInfo("Section VPP Contrast", VPP_DATA_POS_CONTRAST_START, VPP_DATA_POS_CONTRAST_SIZE);
76 SSMPrintDataInfo("Section VPP Saturation", VPP_DATA_POS_SATURATION_START, VPP_DATA_POS_SATURATION_SIZE);
77 SSMPrintDataInfo("Section VPP Hue", VPP_DATA_POS_HUE_START, VPP_DATA_POS_HUE_SIZE);
78 SSMPrintDataInfo("Section VPP Sharpness", VPP_DATA_POS_SHARPNESS_START, VPP_DATA_POS_SHARPNESS_SIZE);
79 SSMPrintDataInfo("Section VPP color temp", VPP_DATA_POS_COLOR_TEMP_START, VPP_DATA_POS_COLOR_TEMP_SIZE);
80 SSMPrintDataInfo("Section VPP Noise Reduction", VPP_DATA_POS_NOISE_REDUCTION_START, VPP_DATA_POS_NOISE_REDUCTION_SIZE);
81 SSMPrintDataInfo("Section VPP Picture Mode", VPP_DATA_POS_PICTURE_MODE_START, VPP_DATA_POS_PICTURE_MODE_SIZE);
82 SSMPrintDataInfo("Section VPP Display Mode", VPP_DATA_POS_DISPLAY_MODE_START, VPP_DATA_POS_DISPLAY_MODE_SIZE);
83 SSMPrintDataInfo("Section VPP BackLight", VPP_DATA_POS_BACKLIGHT_START, VPP_DATA_POS_BACKLIGHT_SIZE);
84 SSMPrintDataInfo("Section VPP RGB R Gain", VPP_DATA_POS_RGB_GAIN_R_START, VPP_DATA_POS_RGB_GAIN_R_SIZE);
85 SSMPrintDataInfo("Section VPP RGB G Gain", VPP_DATA_POS_RGB_GAIN_G_START, VPP_DATA_POS_RGB_GAIN_G_SIZE);
86 SSMPrintDataInfo("Section VPP RGB B Gain", VPP_DATA_POS_RGB_GAIN_B_START, VPP_DATA_POS_RGB_GAIN_B_SIZE);
87 SSMPrintDataInfo("Section VPP RGB R Offset", VPP_DATA_POS_RGB_POST_OFFSET_R_START, VPP_DATA_POS_RGB_POST_OFFSET_R_SIZE);
88 SSMPrintDataInfo("Section VPP RGB G Offset", VPP_DATA_POS_RGB_POST_OFFSET_G_START, VPP_DATA_POS_RGB_POST_OFFSET_G_SIZE);
89 SSMPrintDataInfo("Section VPP RGB B Offset", VPP_DATA_POS_RGB_POST_OFFSET_B_START, VPP_DATA_POS_RGB_POST_OFFSET_B_SIZE);
90 SSMPrintDataInfo("Section VPP DBC", VPP_DATA_POS_DBC_START, VPP_DATA_POS_DBC_SIZE);
91 SSMPrintDataInfo("Section VPP Project ID", VPP_DATA_PROJECT_ID_START, VPP_DATA_PROJECT_ID_SIZE);
92 SSMPrintDataInfo("Section VPP DNLP", VPP_DATA_POS_DNLP_START, VPP_DATA_POS_DNLP_SIZE);
93 SSMPrintDataInfo("Section VPP Panorama", VPP_DATA_POS_PANORAMA_START, VPP_DATA_POS_PANORAMA_SIZE);
94 SSMPrintDataInfo("Section VPP APL", VPP_DATA_APL_START, VPP_DATA_APL_SIZE);
95 SSMPrintDataInfo("Section VPP APL2", VPP_DATA_APL2_START, VPP_DATA_APL2_SIZE);
96 SSMPrintDataInfo("Section VPP BD", VPP_DATA_BD_START, VPP_DATA_BD_SIZE);
97 SSMPrintDataInfo("Section VPP BP", VPP_DATA_BP_START, VPP_DATA_BP_SIZE);
98 SSMPrintDataInfo("Section VPP RGB", VPP_DATA_RGB_START, VPP_DATA_RGB_SIZE);
99 SSMPrintDataInfo("Section VPP color Space", VPP_DATA_COLOR_SPACE_START, VPP_DATA_COLOR_SPACE_SIZE);
100 SSMPrintDataInfo("Section VPP User Nature Switch", VPP_DATA_USER_NATURE_SWITCH_START, VPP_DATA_USER_NATURE_SWITCH_SIZE);
101 SSMPrintDataInfo("Section VPP Gamma value", VPP_DATA_GAMMA_VALUE_START, VPP_DATA_GAMMA_VALUE_SIZE);
102
103 SSMPrintDataInfo("Section VDIN", SSM_RW_VDIN_START, SSM_RW_VDIN_LEN);
104 SSMPrintDataInfo("Section VDIN source input", TVIN_DATA_POS_SOURCE_INPUT_START, TVIN_DATA_POS_SOURCE_INPUT_SIZE);
105 SSMPrintDataInfo("Section VDIN CVBS Std", TVIN_DATA_CVBS_STD_START, TVIN_DATA_CVBS_STD_SIZE);
106 SSMPrintDataInfo("Section VDIN 3D mode", TVIN_DATA_POS_3D_MODE_START, TVIN_DATA_POS_3D_MODE_SIZE);
107 SSMPrintDataInfo("Section VDIN 3D LR Switch", TVIN_DATA_POS_3D_LRSWITCH_START, TVIN_DATA_POS_3D_LRSWITCH_SIZE);
108 SSMPrintDataInfo("Section VDIN 3D Depth", TVIN_DATA_POS_3D_DEPTH_START, TVIN_DATA_POS_3D_DEPTH_SIZE);
109 SSMPrintDataInfo("Section VDIN 3D To 2D", TVIN_DATA_POS_3D_TO2D_START, TVIN_DATA_POS_3D_TO2D_SIZE);
110 SSMPrintDataInfo("Section VDIN 3D To 2D New", TVIN_DATA_POS_3D_TO2DNEW_START, TVIN_DATA_POS_3D_TO2DNEW_SIZE);
111 SSMPrintDataInfo("Section VDIN VGA Adjust", TVIN_DATA_POS_VGA_ADJ_VALUE_START, TVIN_DATA_POS_VGA_ADJ_VALUE_SIZE);
112 SSMPrintDataInfo("Section VDIN ADC Calibration flag", TVIN_DATA_POS_ADC_CAL_FLAG_VALUE_START, TVIN_DATA_POS_ADC_CAL_FLAG_VALUE_SIZE);
113 SSMPrintDataInfo("Section VDIN ADC Calibration data", TVIN_DATA_POS_ADC_CAL_VALUE_START, TVIN_DATA_POS_ADC_CAL_VALUE_SIZE);
114 SSMPrintDataInfo("Section VDIN YPbPr ADC Calibration data", TVIN_DATA_YPbPr_ADC_CAL_VALUE_START, TVIN_DATA_YPbPr_ADC_CAL_VALUE_SIZE);
115
116 SSMPrintDataInfo("Section ATV", SSM_RW_ATV_START, SSM_RW_ATV_LEN);
117 SSMPrintDataInfo("Section ATV Channel Info Data", CC_ATV_SSM_CHAN_INFO_START, CC_ATV_SSM_CHAN_INFO_LEN);
118 SSMPrintDataInfo("Section ATV Current Channel", CC_ATV_SSM_CURRENT_CHAN_START, CC_ATV_SSM_CURRENT_CHAN_LEN);
119 SSMPrintDataInfo("Section ATV Channel Total", CC_ATV_SSM_CHAN_TOTAL_START, CC_ATV_SSM_CHAN_TOTAL_LEN);
120 SSMPrintDataInfo("Section ATV Desc En", CC_ATV_SSM_DESC_EN_START, CC_ATV_SSM_DESC_EN_LEN);
121
122 SSMPrintDataInfo("Section MISC", SSM_RW_MISC_START, SSM_RW_MISC_LEN);
123 SSMPrintDataInfo("Section MISC FBMF", SSM_RW_FBMF_START, SSM_RW_FBMF_LEN);
124 SSMPrintDataInfo("Section MISC Def HDCP", SSM_RW_DEF_HDCP_START, SSM_RW_DEF_HDCP_LEN);
125 SSMPrintDataInfo("Section MISC power channel", SSM_RW_POWER_CHANNEL_START, SSM_RW_POWER_CHANNEL_LEN);
126 SSMPrintDataInfo("Section MISC last select input src", SSM_RW_LAST_SOURCE_INPUT_START, SSM_RW_LAST_SOURCE_INPUT_LEN);
127 SSMPrintDataInfo("Section MISC sys language", SSM_RW_SYS_LANGUAGE_START, SSM_RW_SYS_LANGUAGE_LEN);
128 SSMPrintDataInfo("Section MISC aging mode", SSM_RW_AGING_MODE_START, SSM_RW_AGING_MODE_LEN);
129 SSMPrintDataInfo("Section MISC panel type", SSM_RW_PANEL_TYPE_START, SSM_RW_PANEL_TYPE_LEN);
130 SSMPrintDataInfo("Section MISC power on music switch", SSM_RW_POWER_ON_MUSIC_SWITCH_START, SSM_RW_POWER_ON_MUSIC_SWITCH_LEN);
131 SSMPrintDataInfo("Section MISC power on music vol", SSM_RW_POWER_ON_MUSIC_VOL_START, SSM_RW_POWER_ON_MUSIC_VOL_LEN);
132 SSMPrintDataInfo("Section MISC system sleep timer", SSM_RW_SYS_SLEEP_TIMER_START, SSM_RW_SYS_SLEEP_TIMER_LEN);
133 SSMPrintDataInfo("Section MISC input src parental", SSM_RW_INPUT_SRC_PARENTAL_CTL_START, SSM_RW_INPUT_SRC_PARENTAL_CTL_LEN);
134 SSMPrintDataInfo("Section MISC parental contrl switch", SSM_RW_PARENTAL_CTL_SWITCH_START, SSM_RW_PARENTAL_CTL_SWITCH_LEN);
135 SSMPrintDataInfo("Section MISC parental contrl passwd", SSM_RW_PARENTAL_CTL_PASSWORD_START, SSM_RW_PARENTAL_CTL_PASSWORD_LEN);
136 SSMPrintDataInfo("Section MISC serach navigate flag", SSM_RW_SEARCH_NAVIGATE_FLAG_START, SSM_RW_SEARCH_NAVIGATE_FLAG_LEN);
137 SSMPrintDataInfo("Section MISC input number limit", SSM_RW_INPUT_NUMBER_LIMIT_START, SSM_RW_INPUT_NUMBER_LIMIT_LEN);
138 SSMPrintDataInfo("Section MISC serial onoff flag", SSM_RW_SERIAL_ONOFF_FLAG_START, SSM_RW_SERIAL_ONOFF_FLAG_LEN);
139 SSMPrintDataInfo("Section MISC standby mode flag", SSM_RW_STANDBY_MODE_FLAG_START, SSM_RW_STANDBY_MODE_FLAG_LEN);
140 SSMPrintDataInfo("Section MISC HDMIEQ mode", SSM_RW_HDMIEQ_MODE_START, SSM_RW_HDMIEQ_MODE_LEN);
141 SSMPrintDataInfo("Section MISC LOGO on/off", SSM_RW_LOGO_ON_OFF_FLAG_START, SSM_RW_LOGO_ON_OFF_FLAG_LEN);
142 SSMPrintDataInfo("Section MISC Disable 3D", SSM_RW_DISABLE_3D_START, SSM_RW_DISABLE_3D_LEN);
143 SSMPrintDataInfo("Section MISC Global OGO enable", SSM_RW_GLOBAL_OGO_ENABLE_START, SSM_RW_GLOBAL_OGO_ENABLE_LEN);
144 SSMPrintDataInfo("Section MISC Local Diming", SSM_RW_LOCAL_DIMING_START, SSM_RW_LOCAL_DIMING_LEN);
145 SSMPrintDataInfo("Section MISC VDAC 2D", SSM_RW_VDAC_2D_START, SSM_RW_VDAC_2D_LEN);
146 SSMPrintDataInfo("Section MISC VDAC 3D", SSM_RW_VDAC_3D_START, SSM_RW_VDAC_3D_LEN);
147 SSMPrintDataInfo("Section MISC Non Standard", SSM_RW_NON_STANDARD_START, SSM_RW_NON_STANDARD_LEN);
148 SSMPrintDataInfo("Section MISC adb switch", SSM_RW_ADB_SWITCH_START, SSM_RW_ADB_SWITCH_LEN);
149 SSMPrintDataInfo("Section MISC serial cmd switch", SSM_RW_SERIAL_CMD_SWITCH_START, SSM_RW_SERIAL_CMD_SWITCH_LEN);
150 SSMPrintDataInfo("Section MISC ca buffer size", SSM_RW_CA_BUFFER_SIZE_START, SSM_RW_CA_BUFFER_SIZE_LEN);
151 SSMPrintDataInfo("Section MISC noise gate threshold", SSM_RW_NOISE_GATE_THRESHOLD_START, SSM_RW_NOISE_GATE_THRESHOLD_LEN);
152 SSMPrintDataInfo("Section MISC DTV Type", SSM_RW_DTV_TYPE_START, SSM_RW_DTV_TYPE_LEN);
153 SSMPrintDataInfo("Section MISC UI graphy backlight", SSM_RW_UI_GRHPHY_BACKLIGHT_START, SSM_RW_UI_GRHPHY_BACKLIGHT_LEN);
154 SSMPrintDataInfo("Section MISC fast suspend flag", SSM_RW_FASTSUSPEND_FLAG_START, SSM_RW_FASTSUSPEND_FLAG_LEN);
155
156 SSMPrintDataInfo("Section Customer", SSM_RW_CUSTOMER_DATA_START, SSM_RW_CUSTOMER_DATA_LEN);
157
158 SSMPrintDataInfo("Section Mark 02", SSM_MARK_02_START, SSM_MARK_02_LEN);
159
160 SSMPrintDataInfo("Section RW Test", SSM_RW_TEST_START, SSM_RW_TEST_LEN);
161
162 SSMPrintDataInfo("Section Mark 03", SSM_MARK_03_START, SSM_MARK_03_LEN);
163
164 SSMPrintDataInfo("Section Barcode(device id)", SSM_RSV_BAR_CODE_START, SSM_RSV_BAR_CODE_LEN);
165#endif
166
167 return 0;
168}*/
169
170CBlobDevice *CTvSettingDeviceFactory::getSaveDeviceFromConfigFile()
171{
172 const char *device_type = config_get_str(CFG_SECTION_SETTING, "store.device.type", "file");
173 const char *device_path = config_get_str(CFG_SECTION_SETTING, "device_path", "/param/default_data");
174 const char *device_size = config_get_str(CFG_SECTION_SETTING, "device_size", "0x1000");
175 LOGD("getSaveDeviceFromConfigFile type=%s path=%s size=%s", device_type, device_path, device_size);
176
177 //
178 if (mpCurDevice != NULL) delete mpCurDevice;
179
180 if (strcmp(device_type, "file") == 0) {
181 mpCurDevice = new CBlobDeviceFile();
182 } else if (strcmp(device_type, "e2prom") == 0) {
183 } else if (strcmp(device_type, "ram") == 0) {
184 }
185
186 return mpCurDevice;
187}
188