summaryrefslogtreecommitdiff
path: root/tvapi/libtv/tvdb/CTvDatabase.h (plain)
blob: fc9b28553222f4505ecbf70da22916e8093952c2
1//
2//
3// amlogic 2013
4//
5// @ Project : tv
6// @ File Name : CTvDatabase.h
7// @ Date : 2013-11
8// @ Author :
9//
10//
11#include <am_db.h>
12#if !defined(_CTVDATABASE_H)
13#define _CTVDATABASE_H
14// 使用AM_DB
15#include <unistd.h>
16#include <stdlib.h>
17#include <utils/String8.h>
18#include <utils/Log.h>
19#include <utils/Vector.h>
20#include <utils/RefBase.h>
21#include <tvutils/CSqlite.h>
22
23#include "CTvLog.h"
24
25
26using namespace android;
27//根据现在情况需求,此类只针对电视功能绑定的单文件数据库,与AM_DB有关联性
28//无解的关联
29class CTvDatabase: public CSqlite {
30public:
31 static const char *DEFAULT_DB_PATH;
32 static const int DB_VERSION = 8;
33 static const char *DB_VERSION_FIELD;
34
35 static const char feTypes[][32];
36 static const char srvTypes[][32];
37 static const char vidFmts[][32];
38 static const char audFmts[][32];
39 static const char mods[][32];
40 static const char bandwidths[][32];
41 static const char lnbPowers[][32];
42 static const char sig22K[][32];
43 static const char tonebursts[][32];
44 static const char diseqc10s[][32];
45 static const char diseqc11s[][32];
46 static const char motors[][32];
47 static const char ofdmModes[][32];
48 static const char atvVideoStds[][32];
49 static const char atvAudioStds[][32];
50 template<typename T>
51 int StringToIndex(const T &t, const char *item)
52 {
53 if (item == NULL) return -1;
54 int size = sizeof(t) / sizeof(t[0]);
55 for (int i = 0; i < size; i++) {
56 if (strcmp(t[i], item) == 0) return i;
57 }
58 return -1;
59 }
60public:
61 CTvDatabase();
62 //直接指定数据库连接句柄
63 //CTvDatabase(char* path, sqlite3 * h);
64 static CTvDatabase *GetTvDb();
65 static void deleteTvDb();
66 ~CTvDatabase();
67 //用指定路径创建TV数据库.
68 int UnInitTvDb();
69 int InitTvDb(const char *path);
70 //showboz test
71 class ChannelPara : public LightRefBase<ChannelPara> {
72 public:
73 int mode;
74 int freq;
75 int symbol_rate;
76 int modulation;
77 int bandwidth;
78 int polar;
79 };
80
81 static int getChannelParaList(char *path, Vector<sp<ChannelPara> > &vcp);
82
83 int importDbToXml();
84 int importXmlToDB(const char *xmlPath);
85 bool isAtv256ProgInsertForSkyworth();
86 int insert256AtvProgForSkyworth();
87 int ClearDbTable();
88 int clearDbAllProgramInfoTable();
89private:
90 static CTvDatabase *mpDb;
91 int isFreqListExist(void);
92};
93
94#endif //_CTVDATABASE_H
95