summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tv_input.cpp45
-rw-r--r--tvapi/android/Android.mk2
-rw-r--r--tvapi/android/include/ITv.h100
-rw-r--r--tvapi/android/include/ITvClient.h58
-rw-r--r--tvapi/android/include/ITvService.h68
-rw-r--r--tvapi/android/include/Tv.h161
-rw-r--r--tvapi/android/include/tvcmd.h1188
-rw-r--r--tvapi/android/jni/Android.mk132
-rw-r--r--tvapi/android/jni/android_amlogic_tv.cpp911
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp214
-rw-r--r--tvapi/android/jni/cfbc_test.cpp86
-rw-r--r--tvapi/android/libtvbinder/Android.mk48
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp289
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp117
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp101
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp378
-rw-r--r--tvapi/android/tvserver/Android.mk162
-rw-r--r--tvapi/android/tvserver/TvService.cpp8755
-rw-r--r--tvapi/android/tvserver/TvService.h164
-rw-r--r--tvapi/android/tvserver/main.cpp46
-rwxr-xr-x[-rw-r--r--]tvapi/build/include/.gitignore0
-rw-r--r--tvapi/docs/tv.uml12156
-rw-r--r--tvapi/libtv/Android.mk3
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp2426
-rw-r--r--tvapi/libtv/audio/audio_alsa.h261
-rw-r--r--tvapi/libtv/audio/audio_android.cpp2070
-rw-r--r--tvapi/libtv/audio/audio_android.h157
-rw-r--r--tvapi/libtv/audio/audio_android_effect.cpp1182
-rw-r--r--tvapi/libtv/audio/audio_android_effect.h131
-rw-r--r--tvapi/libtv/audio/audio_api.cpp4940
-rw-r--r--tvapi/libtv/audio/audio_api.h647
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp456
-rw-r--r--tvapi/libtv/audio/audio_effect.h63
-rw-r--r--tvapi/libtv/include/amstream.h526
-rw-r--r--tvapi/libtv/include/amvecm.h136
-rw-r--r--tvapi/libtv/include/cm.h306
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h508
-rw-r--r--tvapi/libtv/include/ve.h438
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp426
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h47
-rw-r--r--tvapi/libtv/tv/CAv.cpp484
-rw-r--r--tvapi/libtv/tv/CAv.h194
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp2326
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h680
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp838
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h227
-rw-r--r--tvapi/libtv/tv/CTv.cpp10755
-rw-r--r--tvapi/libtv/tv/CTv.h1269
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp324
-rw-r--r--tvapi/libtv/tv/CTvBooking.h167
-rw-r--r--tvapi/libtv/tv/CTvDmx.cpp8
-rw-r--r--tvapi/libtv/tv/CTvDmx.h15
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp260
-rw-r--r--tvapi/libtv/tv/CTvEpg.h280
-rw-r--r--tvapi/libtv/tv/CTvEv.cpp2
-rw-r--r--tvapi/libtv/tv/CTvEv.h314
-rw-r--r--tvapi/libtv/tv/CTvLog.h8
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp552
-rw-r--r--tvapi/libtv/tv/CTvRecord.h93
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h43
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp1417
-rw-r--r--tvapi/libtv/tv/CTvScanner.h319
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1060
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h351
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp272
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h469
-rw-r--r--tvapi/libtv/tv/CTvTime.h137
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp250
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.h43
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp974
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h284
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp706
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.h79
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.conf58
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp106
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h40
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp694
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h575
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp300
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h190
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp714
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h196
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp482
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h171
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp88
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h61
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1766
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h1065
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp366
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h85
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp830
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp448
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp4240
-rw-r--r--tvapi/libtv/tvin/CTvin.h2222
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp54
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h101
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp706
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h153
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp160
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h53
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp258
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h75
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp4424
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h742
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp38
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.h11
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp2784
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp3706
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h338
-rw-r--r--tvapi/libtv/tvutils/CCondition.h87
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp250
-rw-r--r--tvapi/libtv/tvutils/CFile.h53
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp6
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.h9
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp144
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h44
-rw-r--r--tvapi/libtv/tvutils/CMutex.h116
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.cpp118
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h98
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp568
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.h45
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp126
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h292
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp212
-rw-r--r--tvapi/libtv/tvutils/CThread.h79
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp196
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h49
-rw-r--r--tvapi/libtv/tvutils/serial_base.cpp560
-rw-r--r--tvapi/libtv/tvutils/serial_base.h34
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp336
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h72
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp3822
-rw-r--r--tvapi/libtv/tvutils/tvutils.h238
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp66
-rw-r--r--tvapi/libtv/tvutils/zepoll.h57
-rw-r--r--tvapi/libtv/version/version.cpp188
-rw-r--r--tvapi/libtv/version/version.h22
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp3183
-rw-r--r--tvapi/libtv/vpp/CPQdb.h321
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp4772
-rw-r--r--tvapi/libtv/vpp/CVpp.h683
-rw-r--r--tvapi/libtv/vpp/pqdata.cpp216
-rw-r--r--tvapi/tvtests/Android.mk98
-rw-r--r--tvapi/tvtests/android_tvtest.cpp30
-rw-r--r--tvapi/tvtests/comm_test.cpp42
-rw-r--r--tvapi/tvtests/ssm_test.cpp420
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp854
147 files changed, 55964 insertions, 55946 deletions
diff --git a/tvapi/libtv/tv/CUpgradeFBC.h b/tvapi/libtv/tv/CUpgradeFBC.h
index 7c85e07..e7864a8 100644
--- a/tvapi/libtv/tv/CUpgradeFBC.h
+++ b/tvapi/libtv/tv/CUpgradeFBC.h
@@ -1,143 +1,141 @@
-#ifndef __TV_UPGRADE_FBC_H__
-#define __TV_UPGRADE_FBC_H__
-
-#include "CFbcCommunication.h"
-#include "../tvutils/CThread.h"
-
-#define CC_FBC_V01_00_VAL (0x10000000)
-#define CC_FBC_V02_00_VAL (0x20000000)
-#define CC_FBC_V02_01_VAL (0x20000001)
-#define CC_FBC_V03_00_VAL (0x30000000)
-#define CC_FBC_V03_01_VAL (0x30000001)
-
-#define CC_FBC_V01_FILE_SIZE (655360)
-#define CC_FBC_V02_FILE_SIZE (786432)
-#define CC_FBC_V02_CUR_PQ_BIN_FILE_SIZE (0xB000)
-#define CC_FBC_V03_FILE_SIZE (2097152)
-#define CC_FBC_V03_CUR_PQ_BIN_FILE_SIZE (0xB000)
-
-#define CC_UPGRADE_MAX_BLOCK_LEN (0x10000)
-#define CC_UPGRADE_DATA_BUF_SIZE (CC_UPGRADE_MAX_BLOCK_LEN + 4)
-
-#define CC_UPGRADE_MODE_BOOT_MAIN (0)
-#define CC_UPGRADE_MODE_BOOT (1)
-#define CC_UPGRADE_MODE_MAIN (2)
-#define CC_UPGRADE_MODE_COMPACT_BOOT (3)
-#define CC_UPGRADE_MODE_ALL (4)
-
-#define CC_UPGRADE_MODE_MAIN_PQ_WB (5)
-#define CC_UPGRADE_MODE_ALL_PQ_WB (6)
-#define CC_UPGRADE_MODE_MAIN_WB (7)
-#define CC_UPGRADE_MODE_ALL_WB (8)
-#define CC_UPGRADE_MODE_MAIN_PQ (9)
-#define CC_UPGRADE_MODE_ALL_PQ (10)
-
-#define CC_UPGRADE_MODE_PQ_WB_ONLY (11)
-#define CC_UPGRADE_MODE_WB_ONLY (12)
-#define CC_UPGRADE_MODE_PQ_ONLY (13)
-
-#define CC_UPGRADE_MODE_CUR_PQ_BIN (14)
-#define CC_UPGRADE_MODE_ALL_PQ_BIN (15)
-
-#define CC_UPGRADE_MODE_BURN (16)
-
-#define CC_UPGRADE_MODE_DUMMY (17)
-
-#define CC_UPGRADE_V01_BOOT_OFFSET (0x0)
-#define CC_UPGRADE_V01_BOOT_LEN (0x20000)
-#define CC_UPGRADE_V01_MAIN_OFFSET (0x20000)
-#define CC_UPGRADE_V01_MAIN_LEN (CC_FBC_V01_FILE_SIZE - CC_UPGRADE_V01_MAIN_OFFSET)
-#define CC_UPGRADE_V01_ALL_LENGTH (CC_FBC_V01_FILE_SIZE)
-
-#define CC_UPGRADE_V02_COMPACT_BOOT_OFFSET (0x0)
-#define CC_UPGRADE_V02_COMPACT_BOOT_LEN (0x10000)
-#define CC_UPGRADE_V02_BOOT_OFFSET (0x10000)
-#define CC_UPGRADE_V02_BOOT_LEN (0x30000)
-#define CC_UPGRADE_V02_MAIN_OFFSET (0x40000)
-#define CC_UPGRADE_V02_MAIN_LEN (0x80000)
-#define CC_UPGRADE_V02_BOOT_BAK_OFFSET (0xC0000)
-#define CC_UPGRADE_V02_BOOT_BAK_LEN (0x30000)
-#define CC_UPGRADE_V02_MAIN_BAK_OFFSET (0xF0000)
-#define CC_UPGRADE_V02_MAIN_BAK_LEN (0x80000)
-#define CC_UPGRADE_V02_ALL_LENGTH (0x170000)
-
-#define CC_UPGRADE_V02_CUR_PQ_OFFSET (0xAF000)
-
-#define CC_UPGRADE_V03_COMPACT_BOOT_OFFSET (CC_UPGRADE_V02_COMPACT_BOOT_OFFSET)
-#define CC_UPGRADE_V03_COMPACT_BOOT_LEN (CC_UPGRADE_V02_COMPACT_BOOT_LEN)
-#define CC_UPGRADE_V03_BOOT_OFFSET (CC_UPGRADE_V02_BOOT_OFFSET)
-#define CC_UPGRADE_V03_BOOT_LEN (CC_UPGRADE_V02_BOOT_LEN)
-#define CC_UPGRADE_V03_MAIN_OFFSET (CC_UPGRADE_V02_MAIN_OFFSET)
-#define CC_UPGRADE_V03_MAIN_LEN (CC_UPGRADE_V02_MAIN_LEN)
-#define CC_UPGRADE_V03_BOOT_BAK_OFFSET (CC_UPGRADE_V02_BOOT_BAK_OFFSET)
-#define CC_UPGRADE_V03_BOOT_BAK_LEN (CC_UPGRADE_V02_BOOT_BAK_LEN)
-#define CC_UPGRADE_V03_MAIN_BAK_OFFSET (CC_UPGRADE_V02_MAIN_BAK_OFFSET)
-#define CC_UPGRADE_V03_MAIN_BAK_LEN (CC_UPGRADE_V02_MAIN_BAK_LEN)
-#define CC_UPGRADE_V03_PROTECT_DATA_START (0x1FF000)
-#define CC_UPGRADE_V03_PROTECT_DATA_LEN (0x1000)
-#define CC_UPGRADE_V03_ALL_LENGTH (CC_UPGRADE_V03_PROTECT_DATA_START)
-
-#define CC_UPGRADE_V03_CUR_PQ_OFFSET (CC_UPGRADE_V02_CUR_PQ_OFFSET)
-
-
-class CUpgradeFBC: public CThread
-{
-public:
- CUpgradeFBC();
- ~CUpgradeFBC();
-
- int start();
- int stop();
- int GetUpgradeFBCProgress();
- int SetUpgradeFileName(char *file_name);
- int SetUpgradeFileSize(int file_size);
- int SetUpgradeBlockSize(int block_size);
- int SetUpgradeMode(int mode);
-
- class IUpgradeFBCObserver
- {
- public:
- IUpgradeFBCObserver() {};
- virtual ~IUpgradeFBCObserver() {};
- virtual void onUpgradeStatus(int state, int param) {};
- };
- void setObserver(IUpgradeFBCObserver *pOb)
- {
- mpObserver = pOb;
- };
-
-private:
- bool threadLoop();
-
- int AddCRCToDataBuf(unsigned char data_buf[], int data_len);
-
- int mState;
- int mUpgradeMode;
- int mOPTotalSize;
- int mBinFileSize;
- int mUpgradeBlockSize;
- unsigned char *mBinFileBuf;
- char mFileName[256];
- unsigned char mDataBuf[CC_UPGRADE_DATA_BUF_SIZE];
- IUpgradeFBCObserver *mpObserver;
- CFbcCommunication *mCfbcIns;
-
- enum UpgradeState {
- STATE_STOPED = 0,
- STATE_RUNNING,
- STATE_FINISHED,
- STATE_ABORT,
- };
-
- enum FBCUpgradeErrorCode {
- ERR_SERIAL_CONNECT = -1,
- ERR_OPEN_BIN_FILE = -2,
- ERR_BIN_FILE_SIZE = -3,
- ERR_READ_BIN_FILE = -4,
- ERR_NOT_SUPPORT_UPGRADE_MDOE = -5,
- ERR_NOT_CORRECT_UPGRADE_BLKSIZE = -6,
- ERR_DATA_CRC_ERROR = -7,
- };
-};
-
-#endif //__TV_UPGRADE_FBC_H__
+#ifndef __TV_UPGRADE_FBC_H__
+#define __TV_UPGRADE_FBC_H__
+
+#include "CFbcCommunication.h"
+#include "../tvutils/CThread.h"
+
+#define CC_FBC_V01_00_VAL (0x10000000)
+#define CC_FBC_V02_00_VAL (0x20000000)
+#define CC_FBC_V02_01_VAL (0x20000001)
+#define CC_FBC_V03_00_VAL (0x30000000)
+#define CC_FBC_V03_01_VAL (0x30000001)
+
+#define CC_FBC_V01_FILE_SIZE (655360)
+#define CC_FBC_V02_FILE_SIZE (786432)
+#define CC_FBC_V02_CUR_PQ_BIN_FILE_SIZE (0xB000)
+#define CC_FBC_V03_FILE_SIZE (2097152)
+#define CC_FBC_V03_CUR_PQ_BIN_FILE_SIZE (0xB000)
+
+#define CC_UPGRADE_MAX_BLOCK_LEN (0x10000)
+#define CC_UPGRADE_DATA_BUF_SIZE (CC_UPGRADE_MAX_BLOCK_LEN + 4)
+
+#define CC_UPGRADE_MODE_BOOT_MAIN (0)
+#define CC_UPGRADE_MODE_BOOT (1)
+#define CC_UPGRADE_MODE_MAIN (2)
+#define CC_UPGRADE_MODE_COMPACT_BOOT (3)
+#define CC_UPGRADE_MODE_ALL (4)
+
+#define CC_UPGRADE_MODE_MAIN_PQ_WB (5)
+#define CC_UPGRADE_MODE_ALL_PQ_WB (6)
+#define CC_UPGRADE_MODE_MAIN_WB (7)
+#define CC_UPGRADE_MODE_ALL_WB (8)
+#define CC_UPGRADE_MODE_MAIN_PQ (9)
+#define CC_UPGRADE_MODE_ALL_PQ (10)
+
+#define CC_UPGRADE_MODE_PQ_WB_ONLY (11)
+#define CC_UPGRADE_MODE_WB_ONLY (12)
+#define CC_UPGRADE_MODE_PQ_ONLY (13)
+
+#define CC_UPGRADE_MODE_CUR_PQ_BIN (14)
+#define CC_UPGRADE_MODE_ALL_PQ_BIN (15)
+
+#define CC_UPGRADE_MODE_BURN (16)
+
+#define CC_UPGRADE_MODE_DUMMY (17)
+
+#define CC_UPGRADE_V01_BOOT_OFFSET (0x0)
+#define CC_UPGRADE_V01_BOOT_LEN (0x20000)
+#define CC_UPGRADE_V01_MAIN_OFFSET (0x20000)
+#define CC_UPGRADE_V01_MAIN_LEN (CC_FBC_V01_FILE_SIZE - CC_UPGRADE_V01_MAIN_OFFSET)
+#define CC_UPGRADE_V01_ALL_LENGTH (CC_FBC_V01_FILE_SIZE)
+
+#define CC_UPGRADE_V02_COMPACT_BOOT_OFFSET (0x0)
+#define CC_UPGRADE_V02_COMPACT_BOOT_LEN (0x10000)
+#define CC_UPGRADE_V02_BOOT_OFFSET (0x10000)
+#define CC_UPGRADE_V02_BOOT_LEN (0x30000)
+#define CC_UPGRADE_V02_MAIN_OFFSET (0x40000)
+#define CC_UPGRADE_V02_MAIN_LEN (0x80000)
+#define CC_UPGRADE_V02_BOOT_BAK_OFFSET (0xC0000)
+#define CC_UPGRADE_V02_BOOT_BAK_LEN (0x30000)
+#define CC_UPGRADE_V02_MAIN_BAK_OFFSET (0xF0000)
+#define CC_UPGRADE_V02_MAIN_BAK_LEN (0x80000)
+#define CC_UPGRADE_V02_ALL_LENGTH (0x170000)
+
+#define CC_UPGRADE_V02_CUR_PQ_OFFSET (0xAF000)
+
+#define CC_UPGRADE_V03_COMPACT_BOOT_OFFSET (CC_UPGRADE_V02_COMPACT_BOOT_OFFSET)
+#define CC_UPGRADE_V03_COMPACT_BOOT_LEN (CC_UPGRADE_V02_COMPACT_BOOT_LEN)
+#define CC_UPGRADE_V03_BOOT_OFFSET (CC_UPGRADE_V02_BOOT_OFFSET)
+#define CC_UPGRADE_V03_BOOT_LEN (CC_UPGRADE_V02_BOOT_LEN)
+#define CC_UPGRADE_V03_MAIN_OFFSET (CC_UPGRADE_V02_MAIN_OFFSET)
+#define CC_UPGRADE_V03_MAIN_LEN (CC_UPGRADE_V02_MAIN_LEN)
+#define CC_UPGRADE_V03_BOOT_BAK_OFFSET (CC_UPGRADE_V02_BOOT_BAK_OFFSET)
+#define CC_UPGRADE_V03_BOOT_BAK_LEN (CC_UPGRADE_V02_BOOT_BAK_LEN)
+#define CC_UPGRADE_V03_MAIN_BAK_OFFSET (CC_UPGRADE_V02_MAIN_BAK_OFFSET)
+#define CC_UPGRADE_V03_MAIN_BAK_LEN (CC_UPGRADE_V02_MAIN_BAK_LEN)
+#define CC_UPGRADE_V03_PROTECT_DATA_START (0x1FF000)
+#define CC_UPGRADE_V03_PROTECT_DATA_LEN (0x1000)
+#define CC_UPGRADE_V03_ALL_LENGTH (CC_UPGRADE_V03_PROTECT_DATA_START)
+
+#define CC_UPGRADE_V03_CUR_PQ_OFFSET (CC_UPGRADE_V02_CUR_PQ_OFFSET)
+
+
+class CUpgradeFBC: public CThread {
+public:
+ CUpgradeFBC();
+ ~CUpgradeFBC();
+
+ int start();
+ int stop();
+ int GetUpgradeFBCProgress();
+ int SetUpgradeFileName(char *file_name);
+ int SetUpgradeFileSize(int file_size);
+ int SetUpgradeBlockSize(int block_size);
+ int SetUpgradeMode(int mode);
+
+ class IUpgradeFBCObserver {
+ public:
+ IUpgradeFBCObserver() {};
+ virtual ~IUpgradeFBCObserver() {};
+ virtual void onUpgradeStatus(int state, int param) {};
+ };
+ void setObserver(IUpgradeFBCObserver *pOb)
+ {
+ mpObserver = pOb;
+ };
+
+private:
+ bool threadLoop();
+
+ int AddCRCToDataBuf(unsigned char data_buf[], int data_len);
+
+ int mState;
+ int mUpgradeMode;
+ int mOPTotalSize;
+ int mBinFileSize;
+ int mUpgradeBlockSize;
+ unsigned char *mBinFileBuf;
+ char mFileName[256];
+ unsigned char mDataBuf[CC_UPGRADE_DATA_BUF_SIZE];
+ IUpgradeFBCObserver *mpObserver;
+ CFbcCommunication *mCfbcIns;
+
+ enum UpgradeState {
+ STATE_STOPED = 0,
+ STATE_RUNNING,
+ STATE_FINISHED,
+ STATE_ABORT,
+ };
+
+ enum FBCUpgradeErrorCode {
+ ERR_SERIAL_CONNECT = -1,
+ ERR_OPEN_BIN_FILE = -2,
+ ERR_BIN_FILE_SIZE = -3,
+ ERR_READ_BIN_FILE = -4,
+ ERR_NOT_SUPPORT_UPGRADE_MDOE = -5,
+ ERR_NOT_CORRECT_UPGRADE_BLKSIZE = -6,
+ ERR_DATA_CRC_ERROR = -7,
+ };
+};
+
+#endif //__TV_UPGRADE_FBC_H__