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 | |
15 | void 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 | |
104 | CTvChannel::CTvChannel() |
105 | { |
106 | } |
107 | |
108 | CTvChannel::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 | |
143 | CTvChannel::~CTvChannel() |
144 | { |
145 | } |
146 | |
147 | Vector<CTvChannel> CTvChannel::tvChannelList(int sat_id __unused) |
148 | { |
149 | Vector<CTvChannel> v_channel; |
150 | return v_channel; |
151 | } |
152 | |
153 | int 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 | |
170 | int 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 | |
195 | int 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 | |
223 | int 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 | |
230 | int 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 | |
251 | int 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 | |
264 | void CTvChannel::tvChannelDel() |
265 | { |
266 | } |
267 | |
268 | void CTvChannel::tvChannelDelBySatID(int id __unused) |
269 | { |
270 | } |
271 | |
272 | int CTvChannel::getDVBTSID() |
273 | { |
274 | return dvbTSID; |
275 | } |
276 | |
277 | void CTvChannel::getDVBOrigNetID() |
278 | { |
279 | } |
280 | |
281 | void CTvChannel::getFrontendID() |
282 | { |
283 | } |
284 | |
285 | void CTvChannel::getTSSourceID() |
286 | { |
287 | } |
288 | |
289 | void CTvChannel::isDVBCMode() |
290 | { |
291 | } |
292 | |
293 | void CTvChannel::setFrequency() |
294 | { |
295 | } |
296 | |
297 | void CTvChannel::setSymbolRate() |
298 | { |
299 | } |
300 | |
301 | void CTvChannel::setPolarisation() |
302 | { |
303 | } |
304 | |
305 | void CTvChannel::setATVAudio() |
306 | { |
307 | } |
308 | |
309 | void CTvChannel::setATVVideoFormat() |
310 | { |
311 | } |
312 | |
313 | void CTvChannel::setATVAudioFormat() |
314 | { |
315 | } |
316 | |
317 | void CTvChannel::setATVFreq() |
318 | { |
319 | } |
320 | |
321 | void CTvChannel::setATVAfcData() |
322 | { |
323 | } |
324 | |
325 |