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