summaryrefslogtreecommitdiff
path: root/tvapi/libtv/tvdb/CTvChannel.cpp (plain)
blob: a40eb8592b9a7bf7f5e2eee3f87fb67345003172
1//
2//
3// amlogic 2013
4//
5// @ Project : tv
6// @ File Name : CTvChannel.cpp
7// @ Date : 2013-11
8// @ Author :
9//
10//
11#define LOG_TAG "CTvChannel"
12
13#include "CTvChannel.h"
14
15void CTvChannel::createFromCursor(CTvDatabase::Cursor &c)
16{
17 int col;
18 int src, freq, mod, symb, bw, satid, satpolar;
19
20 col = c.getColumnIndex("db_id");
21 this->id = c.getInt(col);
22
23 col = c.getColumnIndex("ts_id");
24 this->dvbTSID = c.getInt(col);
25
26 col = c.getColumnIndex("src");
27 src = c.getInt(col);
28
29 col = c.getColumnIndex("freq");
30 freq = c.getInt(col);
31
32 if (src == MODE_QAM) {
33 col = c.getColumnIndex("mod");
34 mod = c.getInt(col);
35
36 col = c.getColumnIndex("symb");
37 symb = c.getInt(col);
38
39 frequency = freq;
40 modulation = mod;
41 symbolRate = symb;
42 mode = MODE_QAM;
43
44 } else if (src == MODE_OFDM) {
45 col = c.getColumnIndex("bw");
46 bw = c.getInt(col);
47
48 frequency = freq;
49 bandwidth = bw;
50 mode = MODE_OFDM;
51
52 } else if (src == MODE_ATSC) {
53 col = c.getColumnIndex("mod");
54 mod = c.getInt(col);
55
56 frequency = freq;
57 modulation = mod;
58 mode = MODE_ATSC;
59 } else if (src == MODE_ANALOG) {
60 col = c.getColumnIndex("std");
61 int std = c.getInt(col);
62 col = c.getColumnIndex("aud_mode");
63 int aud_mode = c.getInt(col);
64 col = c.getColumnIndex("flags");
65 int afc_flag = c.getInt(col);
66
67 frequency = freq;
68 audio = aud_mode;
69 standard = std;
70 afc_data = afc_flag;
71 mode = MODE_ANALOG;
72 } else if (src == MODE_QPSK) {
73 col = c.getColumnIndex("symb");
74 symb = c.getInt(col);
75
76 col = c.getColumnIndex("db_sat_para_id");
77 satid = c.getInt(col);
78
79 col = c.getColumnIndex("polar");
80 satpolar = c.getInt(col);
81
82 frequency = freq;
83 symbolRate = symb;
84 sat_id = satid;
85 sat_polarisation = satpolar;
86 mode = MODE_QPSK;
87
88 /*new tv_satparams*/
89 //showboz
90 //TVSatellite sat = TVSatellite.tvSatelliteSelect(sat_id);
91 //tv_satparams = sat.getParams();
92 } else if (src == MODE_DTMB) {
93 col = c.getColumnIndex("bw");
94 bw = c.getInt(col);
95
96 frequency = freq;
97 bandwidth = bw;
98 mode = MODE_DTMB;
99 }
100
101 this->fendID = 0;
102}
103
104CTvChannel::CTvChannel()
105{
106}
107
108CTvChannel::CTvChannel(int dbID, int mode, int freq, int bw, int mod, int symb, int ofdm __unused, int channelNum)
109{
110 //other member not init,just a paras
111 if (mode == MODE_QAM) {
112 id = dbID;
113 frequency = freq;
114 modulation = mod;
115 symbolRate = symb;
116 mode = MODE_QAM;
117 } else if (mode == MODE_OFDM) {
118 id = dbID;
119 frequency = freq;
120 bandwidth = bw;
121 mode = MODE_OFDM;
122 } else if (mode == MODE_ATSC) {
123 id = dbID;
124 frequency = freq;
125 modulation = mod;
126 logicalChannelNum = channelNum;
127 mod = MODE_ATSC;
128 } else if (mode == MODE_ANALOG) {
129 id = dbID;
130 frequency = freq;
131 audio = 0;
132 standard = 0;
133 afc_data = 0;
134 mode = MODE_ANALOG;
135 } else if (mode == MODE_DTMB) {
136 id = dbID;
137 frequency = freq;
138 bandwidth = bw;
139 mode = MODE_DTMB;
140 }
141}
142
143CTvChannel::~CTvChannel()
144{
145}
146
147Vector<CTvChannel> CTvChannel::tvChannelList(int sat_id __unused)
148{
149 Vector<CTvChannel> v_channel;
150 return v_channel;
151}
152
153int CTvChannel::selectByID(int cid, CTvChannel &channel)
154{
155 String8 cmd = String8("select * from ts_table where ts_table.db_id = ") + String8::format("%d", cid);
156 CTvDatabase::Cursor c;
157 CTvDatabase::GetTvDb()->select(cmd, c);
158
159 if (c.moveToFirst()) {
160 channel.createFromCursor(c);
161 } else {
162 c.close();
163 return -1;
164 }
165 c.close();
166
167 return 0;
168}
169
170int CTvChannel::SelectByFreq(int freq, CTvChannel &channel)
171{
172 String8 cmd ;
173 CTvDatabase::Cursor c;
174 int iOutRet = 0;
175
176 do {
177 cmd = String8("select * from ts_table where ts_table.freq = ") + String8::format("%d", freq);
178 CTvDatabase::GetTvDb()->select(cmd, c);
179
180 if (c.moveToFirst()) {
181 channel.createFromCursor(c);
182 } else {
183 iOutRet = -1;
184 break;
185 }
186
187 cmd = String8("delete from ts_table where ts_table.freq = ") + String8::format("%d", freq);
188 CTvDatabase::GetTvDb()->exeSql(cmd.string());
189 } while (false);
190
191 c.close();
192 return iOutRet;
193}
194
195int CTvChannel::DeleteBetweenFreq(int beginFreq, int endFreq)
196{
197 String8 cmd ;
198 CTvDatabase::Cursor c;
199 int iOutRet = 0;
200 CTvChannel channel;
201
202 do {
203 cmd = String8("select * from ts_table where ts_table.freq >= ") + String8::format("%d", beginFreq)
204 + String8("and ts_table.freq <= ") + String8::format("%d", endFreq);
205 CTvDatabase::GetTvDb()->select(cmd, c);
206 if (c.moveToFirst()) {
207 do {
208 channel.createFromCursor(c);
209 cmd = String8("delete from ts_table where ts_table.freq = ") + String8::format("%d", channel.frequency);
210 CTvDatabase::GetTvDb()->exeSql(cmd.string());
211 } while (c.moveToNext());
212 } else {
213 iOutRet = -1;
214 break;
215 }
216
217 } while (false);
218
219 c.close();
220 return iOutRet;
221}
222
223int CTvChannel::CleanAllChannelBySrc(int src)
224{
225 String8 cmd = String8("delete from ts_table where src = ") + String8::format("%d", src);
226 CTvDatabase::GetTvDb()->exeSql(cmd.string());
227 return 0;
228}
229
230int CTvChannel::getChannelListBySrc(int src, Vector< sp<CTvChannel> > &v_channel)
231{
232 CTvDatabase::Cursor c;
233 CTvChannel *channel;
234 do {
235 String8 cmd = String8("select * from ts_table where src = ") + String8::format("%d", src);
236 CTvDatabase::GetTvDb()->select(cmd, c);
237 if (c.moveToFirst()) {
238 do {
239 channel = new CTvChannel();
240 channel->createFromCursor(c);
241 v_channel.add(channel);
242 } while (c.moveToNext());
243 } else {
244 break;
245 }
246 } while (false);
247
248 return 0;
249}
250
251int CTvChannel::updateByID(int progID, int std, int freq, int fineFreq)
252{
253
254 String8 cmd = String8("update ts_table set std = ") + String8::format("%d", std) +
255 String8(", freq = ") + String8::format("%d", freq) +
256 String8(", flags = ") + String8::format("%d", fineFreq) +
257 String8(" where ts_table.db_id = ") + String8::format("%d", progID);
258 LOGD("%s, cmd = %s\n", "TV", cmd.string());
259 CTvDatabase::GetTvDb()->exeSql(cmd.string());
260
261 return 0;
262}
263
264void CTvChannel::tvChannelDel()
265{
266}
267
268void CTvChannel::tvChannelDelBySatID(int id __unused)
269{
270}
271
272int CTvChannel::getDVBTSID()
273{
274 return dvbTSID;
275}
276
277void CTvChannel::getDVBOrigNetID()
278{
279}
280
281void CTvChannel::getFrontendID()
282{
283}
284
285void CTvChannel::getTSSourceID()
286{
287}
288
289void CTvChannel::isDVBCMode()
290{
291}
292
293void CTvChannel::setFrequency()
294{
295}
296
297void CTvChannel::setSymbolRate()
298{
299}
300
301void CTvChannel::setPolarisation()
302{
303}
304
305void CTvChannel::setATVAudio()
306{
307}
308
309void CTvChannel::setATVVideoFormat()
310{
311}
312
313void CTvChannel::setATVAudioFormat()
314{
315}
316
317void CTvChannel::setATVFreq()
318{
319}
320
321void CTvChannel::setATVAfcData()
322{
323}
324
325