summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--Android.mk23
-rw-r--r--TvPlay.cpp (renamed from tvapi/android/tv/TvPlay.cpp)2
-rw-r--r--TvPlay.h (renamed from tvapi/android/tv/TvPlay.h)2
-rw-r--r--tv_callback.h2
-rw-r--r--tv_input.cpp4
-rw-r--r--tvapi/Android.mk1
-rw-r--r--tvapi/android/Android.mk1
-rw-r--r--tvapi/android/include/ITv.h49
-rw-r--r--tvapi/android/include/ITvClient.h28
-rw-r--r--tvapi/android/include/ITvService.h33
-rw-r--r--tvapi/android/include/TvClient.h78
-rw-r--r--tvapi/android/include/tvcmd.h618
-rw-r--r--tvapi/android/jni/Android.mk69
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp167
-rw-r--r--tvapi/android/jni/cfbc_test.cpp43
-rw-r--r--tvapi/android/jni/com_droidlogic_app_tv_TvControlManager.cpp469
-rw-r--r--tvapi/android/libtvbinder/Android.mk24
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp148
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp58
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp50
-rw-r--r--tvapi/android/libtvbinder/TvClient.cpp186
-rw-r--r--tvapi/android/tv/Android.mk23
-rw-r--r--tvapi/android/tvserver/Android.mk83
-rw-r--r--tvapi/android/tvserver/TvService.cpp4500
-rw-r--r--tvapi/android/tvserver/TvService.h90
-rw-r--r--tvapi/android/tvserver/main.cpp23
-rw-r--r--tvapi/android/tvserver/tv_callback.h17
-rw-r--r--tvapi/build/include/.gitignore0
-rw-r--r--tvapi/docs/TVMiddleware初期.wps252
-rw-r--r--tvapi/docs/tv.uml6093
-rw-r--r--tvapi/libtv/Android.mk222
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.cpp126
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.h31
-rw-r--r--tvapi/libtv/audio/CTvAudio.cpp28
-rw-r--r--tvapi/libtv/audio/CTvAudio.h76
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp853
-rw-r--r--tvapi/libtv/audio/audio_alsa.h127
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp131
-rw-r--r--tvapi/libtv/audio/audio_effect.h27
-rw-r--r--tvapi/libtv/include/amstream.h263
-rw-r--r--tvapi/libtv/include/amvecm.h68
-rw-r--r--tvapi/libtv/include/cm.h155
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h331
-rw-r--r--tvapi/libtv/include/ve.h242
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp207
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h46
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.cpp142
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.h36
-rw-r--r--tvapi/libtv/tv/CAv.cpp476
-rw-r--r--tvapi/libtv/tv/CAv.h153
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp1931
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h401
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp667
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h166
-rw-r--r--tvapi/libtv/tv/CTv.cpp7254
-rw-r--r--tvapi/libtv/tv/CTv.h817
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp159
-rw-r--r--tvapi/libtv/tv/CTvBooking.h81
-rw-r--r--tvapi/libtv/tv/CTvDmx.cpp24
-rw-r--r--tvapi/libtv/tv/CTvDmx.h17
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp214
-rw-r--r--tvapi/libtv/tv/CTvEpg.h158
-rw-r--r--tvapi/libtv/tv/CTvEv.cpp11
-rw-r--r--tvapi/libtv/tv/CTvEv.h150
-rw-r--r--tvapi/libtv/tv/CTvLog.cpp20
-rw-r--r--tvapi/libtv/tv/CTvLog.h28
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp273
-rw-r--r--tvapi/libtv/tv/CTvRecord.h46
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h21
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp1640
-rw-r--r--tvapi/libtv/tv/CTvScanner.h264
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp796
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h176
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp654
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h250
-rw-r--r--tvapi/libtv/tv/CTvTime.cpp64
-rw-r--r--tvapi/libtv/tv/CTvTime.h56
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp163
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.h49
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp553
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h144
-rw-r--r--tvapi/libtv/tv/ScreenCatch.cpp379
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp353
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.h72
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.conf30
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp53
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h93
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp324
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h287
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp256
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h94
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp639
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h97
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp237
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h85
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp44
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h30
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp905
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h536
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp174
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h42
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp651
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.h94
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp263
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.h73
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp3278
-rw-r--r--tvapi/libtv/tvin/CTvin.h1248
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp26
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h50
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp52
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h76
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp78
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h26
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp129
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h37
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp2448
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.h277
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h411
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp187
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.h22
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp1328
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.h125
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp723
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h70
-rw-r--r--tvapi/libtv/tvutils/CCondition.h90
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp195
-rw-r--r--tvapi/libtv/tvutils/CFile.h47
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp16
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.h9
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp122
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h53
-rw-r--r--tvapi/libtv/tvutils/CMutex.h115
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.cpp121
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h49
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp358
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.h54
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp151
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h184
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp165
-rw-r--r--tvapi/libtv/tvutils/CThread.h61
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp170
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h42
-rw-r--r--tvapi/libtv/tvutils/serial_base.cpp466
-rw-r--r--tvapi/libtv/tvutils/serial_base.h17
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp225
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h33
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp2025
-rw-r--r--tvapi/libtv/tvutils/tvutils.h103
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp88
-rw-r--r--tvapi/libtv/tvutils/zepoll.h48
-rw-r--r--tvapi/libtv/version/version.cpp94
-rw-r--r--tvapi/libtv/version/version.h11
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp1974
-rw-r--r--tvapi/libtv/vpp/CPQdb.h180
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp3779
-rw-r--r--tvapi/libtv/vpp/CVpp.h453
-rw-r--r--tvapi/libtv/vpp/pqdata.cpp143
-rw-r--r--tvapi/libtv/vpp/pqdata.h30
-rw-r--r--tvapi/tvtests/Android.mk49
-rw-r--r--tvapi/tvtests/android_tvtest.cpp32
-rw-r--r--tvapi/tvtests/comm_test.cpp33
-rw-r--r--tvapi/tvtests/ssm_test.cpp210
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp427
163 files changed, 13 insertions, 62934 deletions
diff --git a/tvapi/libtv/tvdb/CTvDatabase.cpp b/tvapi/libtv/tvdb/CTvDatabase.cpp
deleted file mode 100644
index ef36364..0000000
--- a/tvapi/libtv/tvdb/CTvDatabase.cpp
+++ b/dev/null
@@ -1,256 +0,0 @@
-//
-//
-// amlogic 2013
-//
-// @ Project : tv
-// @ File Name : CTvDatabase.cpp
-// @ Date : 2013-11
-// @ Author :
-//
-#define LOG_TAG "CTvDatabase"
-
-#include <assert.h>
-#include <tinyxml.h>
-#include "CTvDatabase.h"
-#include "tvutils/tvutils.h"
-#include "../tvconfig/tvconfig.h"
-
-const char *CTvDatabase::DEFAULT_DB_PATH = "/param/tv_default.xml";
-
-const char *CTvDatabase::DB_VERSION_FIELD = "DATABASE_VERSION";
-using namespace android;
-
-CTvDatabase *CTvDatabase::mpDb = NULL;
-
-const char CTvDatabase::feTypes[][32] = {"dvbs", "dvbc", "dvbt", "atsc", "analog", "dtmb"};
-const char CTvDatabase::srvTypes[][32] = {"other", "dtv", "radio", "atv", "other"};
-const char CTvDatabase::vidFmts[][32] = {"mpeg12", "mpeg4", "h264", "mjpeg", "real", "jpeg", "vc1", "avs"};
-const char CTvDatabase::audFmts[][32] = {"mpeg", "pcm_s16le", "aac", "ac3", "alaw", "mulaw", "dts", "pcm_s16be",
- "flac", "cook", "pcm_u8", "adpcm", "amr", "raac", "wma", "wma_pro",
- "pcm_bluray", "alac", "vorbis", "aac_latm", "ape", "eac3", "pcm_wifidisplay"
- };
-const char CTvDatabase::mods[][32] = {"qpsk", "qam16", "qam32", "qam64", "qam128", "qam256", "qamauto", "vsb8", "vsb16", "psk8", "apsk16", "apsk32", "dqpsk"};
-const char CTvDatabase::bandwidths[][32] = {"8", "7", "6", "auto", "5", "10", "1_712"};
-const char CTvDatabase::lnbPowers[][32] = {"13v", "18V", "off", "13/18v"};
-const char CTvDatabase::sig22K[][32] = {"on", "off", "auto"};
-const char CTvDatabase::tonebursts[][32] = {"none", "bursta", "burstb"};
-const char CTvDatabase::diseqc10s[][32] = {"lnb1", "lnb2", "lnb3", "lnb4", "none"};
-const char CTvDatabase::diseqc11s[][32] = {"lnb1", "lnb2", "lnb3", "lnb4", "lnb5", "lnb6", "lnb7", "lnb8",
- "lnb9", "lnb10", "lnb11", "lnb12", "lnb13", "lnb14", "lnb15", "lnb16", "none"
- };
-const char CTvDatabase::motors[][32] = {"none", "none", "none", "diseqc1.2", "diseqc1.3"};
-const char CTvDatabase::ofdmModes[][32] = {"dvbt", "dvbt2"};
-const char CTvDatabase::atvVideoStds[][32] = {"auto", "pal", "ntsc", "secam"};
-const char CTvDatabase::atvAudioStds[][32] = {"dk", "i", "bg", "m", "l", "auto"};
-
-CTvDatabase::CTvDatabase()
-{
-}
-
-int CTvDatabase::isFreqListExist()
-{
- String8 cmd = String8("select * from region_table");
- CTvDatabase::Cursor c;
- select(cmd, c);
- return c.moveToFirst();
-}
-int CTvDatabase::UnInitTvDb()
-{
- AM_DB_UnSetup();
- closeDb();
- return 0;
-}
-int CTvDatabase::InitTvDb(const char *path)
-{
- if (path != NULL) {
- if (Tv_Utils_IsFileExist(path) && config_get_int("TV", "tv_db_created", 0) == 1) { //exist or created
- LOGD("tv db file(%s) exist and created, open it", path);
- if (openDb(path) < 0 ) {
- LOGD("db(%s) open fail", path);
- return -1;
- }
- //setup and path set
- AM_DB_Setup((char *)path, getHandle());
- if (isFreqListExist() == false) {
- importXmlToDB("/etc/tv_default.xml");
- LOGD("scan region table is NULL, so import freq XML again\n");
- }
- } else {
- if (Tv_Utils_IsFileExist(path)) { // if just exist, create flag not set, delete it
- LOGD("tv db file (%s) exist, but delete it", path);
- if (unlink(path) != 0) {
- LOGD("delete tv db file(%s) err=%s", path, strerror(errno));
- }
- }
- LOGD("tv db file(%s) not exist, create it", path);
- //setup and path set
- sqlite3 *h = NULL;
- AM_DB_Setup((char *)path, h);
- //create db
- AM_DB_GetHandle(&h);
- //create table
- AM_DB_CreateTables(h);
- setHandle(h);
- //clear db
- ClearDbTable();
- //insert 256 ATV Program
- //load init date
- importXmlToDB("/etc/tv_default.xml");
- config_set_int("TV", "tv_db_created", 1);
- }
-
- }
- return 0;
-}
-//CTvDatabase::CTvDatabase(char* path, sqlite3 * h)
-//{
-/*if(path != NULL && h != NULL)
-{//setup and path set
- AM_DB_Setup((char*)path, h);
- mHandle = h;
-}else
-{
- mHandle = NULL;
-}*/
-//}
-
-CTvDatabase::~CTvDatabase()
-{
- AM_DB_UnSetup();
-}
-
-int CTvDatabase::getChannelParaList(char *path, Vector<sp<ChannelPara> > &vcp)
-{
- //?????o?????aXML????????£?ˉ1è±????
- TiXmlDocument myDocument(path);
- bool ret = myDocument.LoadFile();
- //è?·?????1????′?
- TiXmlElement *RootElement = myDocument.RootElement();
- //dvbc
- TiXmlElement *channel_list_element = RootElement->FirstChildElement("channel_list");
- for (TiXmlElement *channel_entry = channel_list_element->FirstChildElement("channel_entry") ; channel_entry != NULL; channel_entry = channel_entry->NextSiblingElement("channel_entry")) {
- sp<ChannelPara> pCp = new ChannelPara();
- channel_entry->Attribute("frequency", &(pCp->freq));
- channel_entry->Attribute("modulation", &(pCp->modulation));
- channel_entry->Attribute("symbol_rate", &(pCp->symbol_rate));
- vcp.push_back(pCp);
- }
- return vcp.size();
-}
-
-int CTvDatabase::ClearDbTable()
-{
- LOGD("Clearing database ...");
- exeSql("delete from net_table");
- exeSql("delete from ts_table");
- exeSql("delete from srv_table");
- exeSql("delete from evt_table");
- exeSql("delete from booking_table");
- exeSql("delete from grp_table");
- exeSql("delete from grp_map_table");
- exeSql("delete from dimension_table");
- exeSql("delete from sat_para_table");
- exeSql("delete from region_table");
- return 0;
-}
-
-int CTvDatabase::clearDbAllProgramInfoTable()
-{
- LOGD("Clearing clearDbAllProgramInfoTable ...");
- exeSql("delete from net_table");
- exeSql("delete from ts_table");
- exeSql("delete from srv_table");
- exeSql("delete from evt_table");
- exeSql("delete from booking_table");
- exeSql("delete from grp_table");
- exeSql("delete from grp_map_table");
- exeSql("delete from dimension_table");
- exeSql("delete from sat_para_table");
- return 0;
-}
-
-//showboz now just channellist
-int CTvDatabase::importXmlToDB(const char *xmlPath)
-{
- //delete region table before importing xml
- exeSql("delete from region_table");
-
- //?????o?????aXML????????£?ˉ1è±????
- TiXmlDocument myDocument(xmlPath);
- bool ret = myDocument.LoadFile();
-
- //è?·?????1????′?
- TiXmlElement *RootElement = myDocument.RootElement();
- beginTransaction();//-----------------------------------------------
- //list-->entry
- for (TiXmlElement *channel_list_element = RootElement->FirstChildElement("channel_list"); channel_list_element != NULL; channel_list_element = channel_list_element->NextSiblingElement("channel_list")) {
- //LOGD("showboz-----channel_list =%d", channel_list_element);
- const char *channel_name = channel_list_element->Attribute("name");
- const char *channel_fe_type = channel_list_element->Attribute("fe_type");
- //LOGD("showboz-----channel_list name = %s type=%s", channel_name, channel_fe_type);
-
- for (TiXmlElement *channel_entry = channel_list_element->FirstChildElement("channel_entry") ; channel_entry != NULL; channel_entry = channel_entry->NextSiblingElement("channel_entry")) {
- int freq, symb, channelNum;
- String8 cmd = String8("insert into region_table(name,fe_type,frequency,symbol_rate,modulation,bandwidth,ofdm_mode,logical_channel_num)");
- cmd += String8("values('") + channel_name + String8("',") + String8::format("%d", StringToIndex(feTypes, channel_fe_type)) + String8(",");
- channel_entry->Attribute("frequency", &freq);
- cmd += String8::format("%d", freq) + String8(",");
- channel_entry->Attribute("symbol_rate", &symb);
- cmd += String8::format("%d", symb) + String8(",");
- //LOGD("showboz---------m=%s,b=%s,o=%s", channel_entry->Attribute("modulation"), channel_entry->Attribute("bandwidth"), channel_entry->Attribute("ofdm_mode"));
- cmd += String8::format("%d", StringToIndex(mods, channel_entry->Attribute("modulation"))) + String8(",");
- cmd += String8::format("%d", StringToIndex(bandwidths, channel_entry->Attribute("bandwidth"))) + String8(",");
- cmd += String8::format("%d", StringToIndex(ofdmModes, channel_entry->Attribute("ofdm_mode"))) + String8(",");
- channel_entry->Attribute("logical_channel_num", &channelNum);
- cmd += String8::format("%d", channelNum) + String8(")");
- exeSql(cmd.string());
- }
- }
-
- commitTransaction();//------------------------------------------------------
- return 0;
-}
-
-bool CTvDatabase::isAtv256ProgInsertForSkyworth()
-{
- String8 select_ts_atvcount = String8("select * from ts_table where src = 4");
- Cursor c;
- select(select_ts_atvcount, c);
- return c.getCount() < 256 ? false : true;
-}
-
-int CTvDatabase::insert256AtvProgForSkyworth()
-{
- beginTransaction();
- for (int i = 0; i < 256; i++) {
- String8 insert_ts = String8("insert into ts_table(db_id, src, db_net_id, ts_id, freq, symb, mod, bw, snr, ber, strength, db_sat_para_id, polar, std, aud_mode, flags, dvbt_flag) values (");
- insert_ts += String8::format("'%d'", i);
- insert_ts += String8(", '4', '-1', '-1', '44250000', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '1', '0', '0')");
- exeSql(insert_ts.string());
- String8 insert_srv = String8("insert into srv_table(db_id, src, db_net_id, db_ts_id, name, service_id, service_type, eit_schedule_flag, eit_pf_flag, running_status, free_ca_mode, volume, aud_track, pmt_pid, vid_pid, vid_fmt, scrambled_flag, current_aud, aud_pids, aud_fmts, aud_langs, aud_types, current_sub, sub_pids, sub_types, sub_composition_page_ids, sub_ancillary_page_ids, sub_langs, current_ttx, ttx_pids, ttx_types, ttx_magazine_nos, ttx_page_nos, ttx_langs, chan_num, skip, lock, favor, lcn, sd_lcn, hd_lcn, default_chan_num, chan_order, lcn_order, service_id_order, hd_sd_order, db_sat_para_id, dvbt2_plp_id, major_chan_num, minor_chan_num, access_controlled, hidden, hide_guide, source_id, sdt_ver) values (");
- insert_srv += String8::format("'%d'", i);
- insert_srv += String8(" , '4', '-1', ");
- insert_srv += String8::format("'%d'", i);
- insert_srv += String8(", 'xxxATV Program', '-1', '3', '-1', '-1', '-1', '-1', '50', '1', '-1', '-1', '-1', '0', '-1', '-1', '-1', 'Audio1', '0', '-1', ' ', ' ', ' ', ' ', ' ', '-1', ' ', ' ', ' ', ' ', ' ', '-1', '1', '0', '0', '-1', '-1', '-1', '-1', ");
- insert_srv += String8::format("'%d'", i);
- insert_srv += String8(" , '0', '0', '0', '-1', '255', '0', '0', '0', '0', '0', '0', '255') ");
- exeSql(insert_srv.string());
- }
- commitTransaction();
- return 0;
-}
-
-void CTvDatabase::deleteTvDb()
-{
- if (mpDb != NULL) {
- delete mpDb;
- mpDb = NULL;
- }
-}
-CTvDatabase *CTvDatabase::GetTvDb()
-{
- if (mpDb == NULL) {
- mpDb = new CTvDatabase();
- }
- return mpDb;
-}