summaryrefslogtreecommitdiff
path: root/tvapi/libtv/tvdb/CTvChannel.cpp (plain)
blob: d39d025a954d9387fc0f1d5ef9f8043e94d1581c
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
20void 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
110CTvChannel::CTvChannel()
111{
112
113}
114
115CTvChannel::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
150CTvChannel::~CTvChannel()
151{
152
153}
154
155Vector<CTvChannel> CTvChannel::tvChannelList(int sat_id)
156{
157 Vector<CTvChannel> v_channel;
158 return v_channel;
159}
160
161int 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
178int 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
203int 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
231int 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
238int 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}
258int 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
272void CTvChannel::tvChannelDel()
273{
274
275}
276
277void CTvChannel::tvChannelDelBySatID(int id)
278{
279
280}
281
282int CTvChannel::getDVBTSID()
283{
284 return dvbTSID;
285}
286
287void CTvChannel::getDVBOrigNetID()
288{
289
290}
291
292void CTvChannel::getFrontendID()
293{
294
295}
296
297void CTvChannel::getTSSourceID()
298{
299
300}
301
302
303void CTvChannel::isDVBCMode()
304{
305
306}
307
308void CTvChannel::setFrequency()
309{
310
311}
312
313void CTvChannel::setSymbolRate()
314{
315
316}
317
318void CTvChannel::setPolarisation()
319{
320
321}
322
323void CTvChannel::setATVAudio()
324{
325
326}
327
328void CTvChannel::setATVVideoFormat()
329{
330
331}
332
333void CTvChannel::setATVAudioFormat()
334{
335
336}
337
338void CTvChannel::setATVFreq()
339{
340
341}
342
343void CTvChannel::setATVAfcData()
344{
345
346}
347
348