mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 01:11:12 +02:00
Move global satellitePositions to CServiceManager class; add frontendType member to CServiceManager
This commit is contained in:
@@ -26,10 +26,10 @@
|
|||||||
|
|
||||||
#include <eventserver.h>
|
#include <eventserver.h>
|
||||||
|
|
||||||
#include "ci.h"
|
#include <zapit/ci.h>
|
||||||
#include "descriptors.h"
|
#include <zapit/descriptors.h>
|
||||||
#include "sdt.h"
|
#include <zapit/sdt.h>
|
||||||
#include "types.h"
|
#include <zapit/types.h>
|
||||||
#include <xmltree/xmlinterface.h>
|
#include <xmltree/xmlinterface.h>
|
||||||
#include <zapit/channel.h>
|
#include <zapit/channel.h>
|
||||||
#include <zapit/bouquets.h>
|
#include <zapit/bouquets.h>
|
||||||
@@ -99,9 +99,12 @@ class CServiceManager
|
|||||||
tallchans curchans;
|
tallchans curchans;
|
||||||
tallchans nvodchannels;
|
tallchans nvodchannels;
|
||||||
|
|
||||||
|
fe_type_t frontendType;
|
||||||
|
satellite_map_t satellitePositions;
|
||||||
|
|
||||||
bool ParseScanXml();
|
bool ParseScanXml();
|
||||||
void ParseTransponders(xmlNodePtr node, t_satellite_position satellitePosition, bool cable);
|
void ParseTransponders(xmlNodePtr node, t_satellite_position satellitePosition, bool cable);
|
||||||
void ParseChannels(xmlNodePtr node, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq);
|
void ParseChannels(xmlNodePtr node, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq, uint8_t polarization);
|
||||||
void FindTransponder(xmlNodePtr search);
|
void FindTransponder(xmlNodePtr search);
|
||||||
void ParseSatTransponders(fe_type_t frontendType, xmlNodePtr search, t_satellite_position satellitePosition);
|
void ParseSatTransponders(fe_type_t frontendType, xmlNodePtr search, t_satellite_position satellitePosition);
|
||||||
int LoadMotorPositions(void);
|
int LoadMotorPositions(void);
|
||||||
@@ -120,7 +123,7 @@ class CServiceManager
|
|||||||
|
|
||||||
static void CopyFile(char * from, char * to);
|
static void CopyFile(char * from, char * to);
|
||||||
|
|
||||||
void InitSatPosition(t_satellite_position position);
|
bool InitSatPosition(t_satellite_position position, char * name = NULL, bool force = false);
|
||||||
bool LoadServices(bool only_current);
|
bool LoadServices(bool only_current);
|
||||||
void SaveServices(bool tocopy);
|
void SaveServices(bool tocopy);
|
||||||
void SaveMotorPositions();
|
void SaveMotorPositions();
|
||||||
@@ -148,6 +151,22 @@ class CServiceManager
|
|||||||
bool GetAllSatelliteChannels(ZapitChannelList &list, t_satellite_position position);
|
bool GetAllSatelliteChannels(ZapitChannelList &list, t_satellite_position position);
|
||||||
bool GetAllUnusedChannels(ZapitChannelList &list);
|
bool GetAllUnusedChannels(ZapitChannelList &list);
|
||||||
|
|
||||||
|
std::string GetSatelliteName(t_satellite_position position)
|
||||||
|
{
|
||||||
|
sat_iterator_t it = satellitePositions.find(position);
|
||||||
|
if(it != satellitePositions.end())
|
||||||
|
return it->second.name;
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
t_satellite_position GetSatellitePosition(std::string name)
|
||||||
|
{
|
||||||
|
for(sat_iterator_t sit = satellitePositions.begin(); sit != satellitePositions.end(); ++sit) {
|
||||||
|
if(name == sit->second.name)
|
||||||
|
return sit->second.position;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
satellite_map_t & SatelliteList() { return satellitePositions; }
|
||||||
xmlDocPtr ScanXml();
|
xmlDocPtr ScanXml();
|
||||||
};
|
};
|
||||||
#endif /* __getservices_h__ */
|
#endif /* __getservices_h__ */
|
||||||
|
@@ -1,7 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2011 CoolStream International Ltd
|
||||||
|
*
|
||||||
|
* License: GPLv2
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation;
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _SAT_CONFIG_H_
|
#ifndef _SAT_CONFIG_H_
|
||||||
#define _SAT_CONFIG_H_
|
#define _SAT_CONFIG_H_
|
||||||
|
|
||||||
typedef struct sat_config {
|
typedef struct sat_config {
|
||||||
|
t_satellite_position position;
|
||||||
int diseqc;
|
int diseqc;
|
||||||
int commited;
|
int commited;
|
||||||
int uncommited;
|
int uncommited;
|
||||||
@@ -14,8 +35,8 @@ typedef struct sat_config {
|
|||||||
int use_usals;
|
int use_usals;
|
||||||
std::string name;
|
std::string name;
|
||||||
int have_channels;
|
int have_channels;
|
||||||
t_satellite_position position;
|
|
||||||
int input;
|
int input;
|
||||||
|
int configured;
|
||||||
} sat_config_t;
|
} sat_config_t;
|
||||||
|
|
||||||
typedef enum diseqc_cmd_order {
|
typedef enum diseqc_cmd_order {
|
||||||
@@ -23,12 +44,14 @@ typedef enum diseqc_cmd_order {
|
|||||||
COMMITED_FIRST
|
COMMITED_FIRST
|
||||||
} diseqc_cmd_order_t;
|
} diseqc_cmd_order_t;
|
||||||
|
|
||||||
|
typedef std::pair<t_satellite_position, sat_config_t> satellite_pair_t;
|
||||||
typedef std::map<t_satellite_position, sat_config_t> satellite_map_t;
|
typedef std::map<t_satellite_position, sat_config_t> satellite_map_t;
|
||||||
typedef std::map<t_satellite_position, sat_config_t>::iterator sat_iterator_t;
|
typedef std::map<t_satellite_position, sat_config_t>::iterator sat_iterator_t;
|
||||||
|
|
||||||
typedef std::map <int, std::string> scan_list_t;
|
typedef std::map <int, std::string> scan_list_t;
|
||||||
typedef std::map <int, std::string>::iterator scan_list_iterator_t;
|
typedef std::map <int, std::string>::iterator scan_list_iterator_t;
|
||||||
|
|
||||||
extern satellite_map_t satellitePositions;
|
//extern satellite_map_t satellitePositions;
|
||||||
extern scan_list_t scanProviders;
|
extern scan_list_t scanProviders;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include <zapit/debug.h>
|
#include <zapit/debug.h>
|
||||||
#include <zapit/zapit.h>
|
#include <zapit/zapit.h>
|
||||||
#include <zapit/frontend_c.h>
|
#include <zapit/femanager.h>
|
||||||
#include <zapit/getservices.h>
|
#include <zapit/getservices.h>
|
||||||
#include <zapit/settings.h>
|
#include <zapit/settings.h>
|
||||||
#include <zapit/satconfig.h>
|
#include <zapit/satconfig.h>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
extern transponder_list_t transponders;
|
extern transponder_list_t transponders;
|
||||||
|
|
||||||
satellite_map_t satellitePositions;
|
//satellite_map_t satellitePositions;
|
||||||
std::map<transponder_id_t, transponder> select_transponders;
|
std::map<transponder_id_t, transponder> select_transponders;
|
||||||
|
|
||||||
extern int zapit_debug;
|
extern int zapit_debug;
|
||||||
@@ -64,7 +64,8 @@ bool CServiceManager::ParseScanXml(void)
|
|||||||
delete scanInputParser;
|
delete scanInputParser;
|
||||||
scanInputParser = NULL;
|
scanInputParser = NULL;
|
||||||
}
|
}
|
||||||
switch (CFrontend::getInstance()->getInfo()->type) {
|
frontendType = CFEManager::getInstance()->getLiveFE()->getInfo()->type;
|
||||||
|
switch (frontendType) {
|
||||||
case FE_QPSK:
|
case FE_QPSK:
|
||||||
scanInputParser = parseXmlFile(SATELLITES_XML);
|
scanInputParser = parseXmlFile(SATELLITES_XML);
|
||||||
break;
|
break;
|
||||||
@@ -74,7 +75,7 @@ bool CServiceManager::ParseScanXml(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
WARN("Unknown type %d", CFrontend::getInstance()->getInfo()->type);
|
WARN("Unknown type %d", frontendType);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return (scanInputParser != NULL);
|
return (scanInputParser != NULL);
|
||||||
@@ -307,7 +308,7 @@ void CServiceManager::ParseTransponders(xmlNodePtr node, t_satellite_position sa
|
|||||||
printf("[zapit] duplicate transponder id %llx freq %d\n", tid, feparams.frequency);
|
printf("[zapit] duplicate transponder id %llx freq %d\n", tid, feparams.frequency);
|
||||||
|
|
||||||
/* read channels that belong to the current transponder */
|
/* read channels that belong to the current transponder */
|
||||||
ParseChannels(node->xmlChildrenNode, transport_stream_id, original_network_id, satellitePosition, freq);
|
ParseChannels(node->xmlChildrenNode, transport_stream_id, original_network_id, satellitePosition, freq, polarization);
|
||||||
|
|
||||||
/* hop to next transponder */
|
/* hop to next transponder */
|
||||||
node = node->xmlNextNode;
|
node = node->xmlNextNode;
|
||||||
@@ -315,7 +316,7 @@ void CServiceManager::ParseTransponders(xmlNodePtr node, t_satellite_position sa
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CServiceManager::ParseChannels(xmlNodePtr node, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq)
|
void CServiceManager::ParseChannels(xmlNodePtr node, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq, uint8_t polarization)
|
||||||
{
|
{
|
||||||
t_service_id service_id;
|
t_service_id service_id;
|
||||||
std::string name;
|
std::string name;
|
||||||
@@ -377,6 +378,7 @@ void CServiceManager::ParseChannels(xmlNodePtr node, const t_transport_stream_id
|
|||||||
} else {
|
} else {
|
||||||
service_count++;
|
service_count++;
|
||||||
channel->scrambled = scrambled;
|
channel->scrambled = scrambled;
|
||||||
|
channel->polarization = polarization;
|
||||||
service_type = channel->getServiceType();
|
service_type = channel->getServiceType();
|
||||||
if(pmtpid != 0 && (((service_type == 2) && (apid > 0)) || ( (service_type == 1) && (vpid > 0) && (apid > 0))) ) {
|
if(pmtpid != 0 && (((service_type == 2) && (apid > 0)) || ( (service_type == 1) && (vpid > 0) && (apid > 0))) ) {
|
||||||
DBG("[getserv] preset chan %s vpid %X sid %X tpid %X onid %X\n", name.c_str(), vpid, service_id, transport_stream_id, transport_stream_id);
|
DBG("[getserv] preset chan %s vpid %X sid %X tpid %X onid %X\n", name.c_str(), vpid, service_id, transport_stream_id, transport_stream_id);
|
||||||
@@ -415,7 +417,7 @@ void CServiceManager::FindTransponder(xmlNodePtr search)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CServiceManager::ParseSatTransponders(fe_type_t frontendType, xmlNodePtr search, t_satellite_position satellitePosition)
|
void CServiceManager::ParseSatTransponders(fe_type_t fType, xmlNodePtr search, t_satellite_position satellitePosition)
|
||||||
{
|
{
|
||||||
uint8_t polarization = 0;
|
uint8_t polarization = 0;
|
||||||
uint8_t system = 0, modulation = 1;
|
uint8_t system = 0, modulation = 1;
|
||||||
@@ -432,7 +434,7 @@ void CServiceManager::ParseSatTransponders(fe_type_t frontendType, xmlNodePtr se
|
|||||||
feparams.frequency = xmlGetNumericAttribute(tps, "frequency", 0);
|
feparams.frequency = xmlGetNumericAttribute(tps, "frequency", 0);
|
||||||
|
|
||||||
freq_id_t freq;
|
freq_id_t freq;
|
||||||
if (frontendType == FE_QAM) {
|
if (fType == FE_QAM) {
|
||||||
if (feparams.frequency > 1000*1000)
|
if (feparams.frequency > 1000*1000)
|
||||||
feparams.frequency=feparams.frequency/1000; //transponderlist was read from tuxbox
|
feparams.frequency=feparams.frequency/1000; //transponderlist was read from tuxbox
|
||||||
//feparams.frequency = (int) 1000 * (int) round ((double) feparams.frequency / (double) 1000);
|
//feparams.frequency = (int) 1000 * (int) round ((double) feparams.frequency / (double) 1000);
|
||||||
@@ -445,12 +447,12 @@ void CServiceManager::ParseSatTransponders(fe_type_t frontendType, xmlNodePtr se
|
|||||||
|
|
||||||
feparams.inversion = INVERSION_AUTO;
|
feparams.inversion = INVERSION_AUTO;
|
||||||
|
|
||||||
if (frontendType == FE_QAM) {
|
if (fType == FE_QAM) {
|
||||||
feparams.u.qam.symbol_rate = xmlGetNumericAttribute(tps, "symbol_rate", 0);
|
feparams.u.qam.symbol_rate = xmlGetNumericAttribute(tps, "symbol_rate", 0);
|
||||||
feparams.u.qam.fec_inner = (fe_code_rate_t) xmlGetNumericAttribute(tps, "fec_inner", 0);
|
feparams.u.qam.fec_inner = (fe_code_rate_t) xmlGetNumericAttribute(tps, "fec_inner", 0);
|
||||||
feparams.u.qam.modulation = (fe_modulation_t) xmlGetNumericAttribute(tps, "modulation", 0);
|
feparams.u.qam.modulation = (fe_modulation_t) xmlGetNumericAttribute(tps, "modulation", 0);
|
||||||
}
|
}
|
||||||
else if (frontendType == FE_QPSK) {
|
else if (fType == FE_QPSK) {
|
||||||
feparams.u.qpsk.symbol_rate = xmlGetNumericAttribute(tps, "symbol_rate", 0);
|
feparams.u.qpsk.symbol_rate = xmlGetNumericAttribute(tps, "symbol_rate", 0);
|
||||||
polarization = xmlGetNumericAttribute(tps, "polarization", 0);
|
polarization = xmlGetNumericAttribute(tps, "polarization", 0);
|
||||||
system = xmlGetNumericAttribute(tps, "system", 0);
|
system = xmlGetNumericAttribute(tps, "system", 0);
|
||||||
@@ -496,10 +498,10 @@ int CServiceManager::LoadMotorPositions(void)
|
|||||||
satellitePosition = spos;
|
satellitePosition = spos;
|
||||||
sat_iterator_t sit = satellitePositions.find(satellitePosition);
|
sat_iterator_t sit = satellitePositions.find(satellitePosition);
|
||||||
if(sit != satellitePositions.end()) {
|
if(sit != satellitePositions.end()) {
|
||||||
sit->second.motor_position = mpos;
|
|
||||||
sit->second.diseqc = diseqc;
|
sit->second.diseqc = diseqc;
|
||||||
sit->second.commited = com;
|
sit->second.commited = com;
|
||||||
sit->second.uncommited = uncom;
|
sit->second.uncommited = uncom;
|
||||||
|
sit->second.motor_position = mpos;
|
||||||
sit->second.lnbOffsetLow = offL;
|
sit->second.lnbOffsetLow = offL;
|
||||||
sit->second.lnbOffsetHigh = offH;
|
sit->second.lnbOffsetHigh = offH;
|
||||||
sit->second.lnbSwitch = sw;
|
sit->second.lnbSwitch = sw;
|
||||||
@@ -539,20 +541,27 @@ void CServiceManager::SaveMotorPositions()
|
|||||||
fclose(fd);
|
fclose(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CServiceManager::InitSatPosition(t_satellite_position position)
|
bool CServiceManager::InitSatPosition(t_satellite_position position, char * name, bool force)
|
||||||
{
|
{
|
||||||
satellitePositions[position].position = position;
|
if(force || (satellitePositions.find(position) == satellitePositions.end())) {
|
||||||
satellitePositions[position].diseqc = -1;
|
satellitePositions[position].position = position;
|
||||||
satellitePositions[position].commited = -1;
|
satellitePositions[position].diseqc = -1;
|
||||||
satellitePositions[position].uncommited = -1;
|
satellitePositions[position].commited = -1;
|
||||||
satellitePositions[position].motor_position = 0;
|
satellitePositions[position].uncommited = -1;
|
||||||
satellitePositions[position].diseqc_order = 0;
|
satellitePositions[position].motor_position = 0;
|
||||||
satellitePositions[position].lnbOffsetLow = 9750;
|
satellitePositions[position].diseqc_order = 0;
|
||||||
satellitePositions[position].lnbOffsetHigh = 10600;
|
satellitePositions[position].lnbOffsetLow = 9750;
|
||||||
satellitePositions[position].lnbSwitch = 11700;
|
satellitePositions[position].lnbOffsetHigh = 10600;
|
||||||
satellitePositions[position].use_in_scan = 0;
|
satellitePositions[position].lnbSwitch = 11700;
|
||||||
satellitePositions[position].use_usals = 0;
|
satellitePositions[position].use_in_scan = 0;
|
||||||
satellitePositions[position].input = 0;
|
satellitePositions[position].use_usals = 0;
|
||||||
|
satellitePositions[position].input = 0;
|
||||||
|
satellitePositions[position].configured = 0;
|
||||||
|
if(name)
|
||||||
|
satellitePositions[position].name = name;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CServiceManager::LoadServices(bool only_current)
|
bool CServiceManager::LoadServices(bool only_current)
|
||||||
@@ -561,7 +570,7 @@ bool CServiceManager::LoadServices(bool only_current)
|
|||||||
static bool satcleared = 0;//clear only once, because menu is static
|
static bool satcleared = 0;//clear only once, because menu is static
|
||||||
service_count = 0;
|
service_count = 0;
|
||||||
printf("[zapit] Loading services, channel size %d ..\n", sizeof(CZapitChannel));
|
printf("[zapit] Loading services, channel size %d ..\n", sizeof(CZapitChannel));
|
||||||
fe_type_t frontendType = CFrontend::getInstance()->getInfo()->type;
|
frontendType = CFEManager::getInstance()->getLiveFE()->getInfo()->type;
|
||||||
|
|
||||||
if(only_current)
|
if(only_current)
|
||||||
goto do_current;
|
goto do_current;
|
||||||
@@ -575,8 +584,10 @@ bool CServiceManager::LoadServices(bool only_current)
|
|||||||
|
|
||||||
if (ParseScanXml()) {
|
if (ParseScanXml()) {
|
||||||
t_satellite_position position = 0;
|
t_satellite_position position = 0;
|
||||||
if(!satcleared)
|
if(!satcleared) {
|
||||||
satellitePositions.clear();
|
satellitePositions.clear();
|
||||||
|
//satelliteList.clear();
|
||||||
|
}
|
||||||
satcleared = 1;
|
satcleared = 1;
|
||||||
|
|
||||||
xmlNodePtr search = xmlDocGetRootElement(scanInputParser)->xmlChildrenNode;
|
xmlNodePtr search = xmlDocGetRootElement(scanInputParser)->xmlChildrenNode;
|
||||||
@@ -584,17 +595,10 @@ bool CServiceManager::LoadServices(bool only_current)
|
|||||||
if (!(strcmp(xmlGetName(search), "sat"))) {
|
if (!(strcmp(xmlGetName(search), "sat"))) {
|
||||||
position = xmlGetSignedNumericAttribute(search, "position", 10);
|
position = xmlGetSignedNumericAttribute(search, "position", 10);
|
||||||
char * name = xmlGetAttribute(search, "name");
|
char * name = xmlGetAttribute(search, "name");
|
||||||
/* FIXME reuse this */
|
InitSatPosition(position, name);
|
||||||
if(satellitePositions.find(position) == satellitePositions.end()) {
|
|
||||||
InitSatPosition(position);
|
|
||||||
}
|
|
||||||
satellitePositions[position].name = name;
|
|
||||||
} else if(!(strcmp(xmlGetName(search), "cable"))) {
|
} else if(!(strcmp(xmlGetName(search), "cable"))) {
|
||||||
char * name = xmlGetAttribute(search, "name");
|
char * name = xmlGetAttribute(search, "name");
|
||||||
if(satellitePositions.find(position) == satellitePositions.end()) {
|
InitSatPosition(position, name);
|
||||||
InitSatPosition(position);
|
|
||||||
}
|
|
||||||
satellitePositions[position].name = name;
|
|
||||||
}
|
}
|
||||||
ParseSatTransponders(frontendType, search, position);
|
ParseSatTransponders(frontendType, search, position);
|
||||||
position++;
|
position++;
|
||||||
@@ -609,10 +613,7 @@ bool CServiceManager::LoadServices(bool only_current)
|
|||||||
if (!(strcmp(xmlGetName(search), "sat"))) {
|
if (!(strcmp(xmlGetName(search), "sat"))) {
|
||||||
t_satellite_position position = xmlGetSignedNumericAttribute(search, "position", 10);
|
t_satellite_position position = xmlGetSignedNumericAttribute(search, "position", 10);
|
||||||
char * name = xmlGetAttribute(search, "name");
|
char * name = xmlGetAttribute(search, "name");
|
||||||
if(satellitePositions.find(position) == satellitePositions.end()) {
|
InitSatPosition(position, name);
|
||||||
InitSatPosition(position);
|
|
||||||
satellitePositions[position].name = name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
search = search->xmlNextNode;
|
search = search->xmlNextNode;
|
||||||
@@ -625,6 +626,9 @@ bool CServiceManager::LoadServices(bool only_current)
|
|||||||
LoadMotorPositions();
|
LoadMotorPositions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//FIXME copy, until global satellitePositions removed
|
||||||
|
//satelliteList = satellitePositions;
|
||||||
|
|
||||||
printf("[zapit] %d services loaded (%d)...\n", service_count, allchans.size());
|
printf("[zapit] %d services loaded (%d)...\n", service_count, allchans.size());
|
||||||
TIMER_STOP("[zapit] service loading took");
|
TIMER_STOP("[zapit] service loading took");
|
||||||
|
|
||||||
@@ -668,7 +672,7 @@ void CServiceManager::CopyFile(char * from, char * to)
|
|||||||
|
|
||||||
void CServiceManager::WriteSatHeader(FILE * fd, sat_config_t &config)
|
void CServiceManager::WriteSatHeader(FILE * fd, sat_config_t &config)
|
||||||
{
|
{
|
||||||
switch (CFrontend::getInstance()->getInfo()->type) {
|
switch (frontendType) {
|
||||||
case FE_QPSK: /* satellite */
|
case FE_QPSK: /* satellite */
|
||||||
fprintf(fd, "\t<sat name=\"%s\" position=\"%hd\" diseqc=\"%hd\" uncommited=\"%hd\">\n",
|
fprintf(fd, "\t<sat name=\"%s\" position=\"%hd\" diseqc=\"%hd\" uncommited=\"%hd\">\n",
|
||||||
config.name.c_str(), config.position, config.diseqc, config.uncommited);
|
config.name.c_str(), config.position, config.diseqc, config.uncommited);
|
||||||
@@ -684,7 +688,7 @@ void CServiceManager::WriteSatHeader(FILE * fd, sat_config_t &config)
|
|||||||
|
|
||||||
void CServiceManager::WriteTransponderHeader(FILE * fd, struct transponder &tp)
|
void CServiceManager::WriteTransponderHeader(FILE * fd, struct transponder &tp)
|
||||||
{
|
{
|
||||||
switch (CFrontend::getInstance()->getInfo()->type) {
|
switch (frontendType) {
|
||||||
case FE_QPSK: /* satellite */
|
case FE_QPSK: /* satellite */
|
||||||
fprintf(fd, "\t\t<TS id=\"%04x\" on=\"%04x\" frq=\"%u\" inv=\"%hu\" sr=\"%u\" fec=\"%hu\" pol=\"%hu\">\n",
|
fprintf(fd, "\t\t<TS id=\"%04x\" on=\"%04x\" frq=\"%u\" inv=\"%hu\" sr=\"%u\" fec=\"%hu\" pol=\"%hu\">\n",
|
||||||
tp.transport_stream_id, tp.original_network_id,
|
tp.transport_stream_id, tp.original_network_id,
|
||||||
@@ -771,7 +775,7 @@ void CServiceManager::SaveServices(bool tocopy)
|
|||||||
if(tpdone) fprintf(fd, "\t\t</TS>\n");
|
if(tpdone) fprintf(fd, "\t\t</TS>\n");
|
||||||
}
|
}
|
||||||
if(satdone) {
|
if(satdone) {
|
||||||
switch (CFrontend::getInstance()->getInfo()->type) {
|
switch (frontendType) {
|
||||||
case FE_QPSK:
|
case FE_QPSK:
|
||||||
fprintf(fd, "\t</sat>\n");
|
fprintf(fd, "\t</sat>\n");
|
||||||
break;
|
break;
|
||||||
@@ -852,7 +856,7 @@ bool CServiceManager::SaveCurrentServices(transponder_id_t tpid)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (CFrontend::getInstance()->getInfo()->type) {
|
switch (frontendType) {
|
||||||
case FE_QPSK: /* satellite */
|
case FE_QPSK: /* satellite */
|
||||||
sprintf(satstr, "\t<%s name=\"%s\" position=\"%hd\">\n", "sat", spos_it->second.name.c_str(), satellitePosition);
|
sprintf(satstr, "\t<%s name=\"%s\" position=\"%hd\">\n", "sat", spos_it->second.name.c_str(), satellitePosition);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user