diff options
Diffstat (limited to 'lib/service/servicedvb.cpp')
| -rw-r--r-- | lib/service/servicedvb.cpp | 72 |
1 files changed, 63 insertions, 9 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 238f838f..9d9f2d1f 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1770,19 +1770,54 @@ int eDVBServiceBase::getFrontendInfo(int w) return fe->readFrontendData(w); } -PyObject *eDVBServiceBase::getFrontendData(bool original) +PyObject *eDVBServiceBase::getFrontendData() { - ePyObject ret; + ePyObject ret = PyDict_New(); + if (ret) + { + eUsePtr<iDVBChannel> channel; + if(!m_service_handler.getChannel(channel)) + { + ePtr<iDVBFrontend> fe; + if(!channel->getFrontend(fe)) + fe->getFrontendData(ret); + } + } + else + Py_RETURN_NONE; + return ret; +} - eUsePtr<iDVBChannel> channel; - if(!m_service_handler.getChannel(channel)) +PyObject *eDVBServiceBase::getFrontendStatus() +{ + ePyObject ret = PyDict_New(); + if (ret) + { + eUsePtr<iDVBChannel> channel; + if(!m_service_handler.getChannel(channel)) + { + ePtr<iDVBFrontend> fe; + if(!channel->getFrontend(fe)) + fe->getFrontendStatus(ret); + } + } + else + Py_RETURN_NONE; + return ret; +} + +PyObject *eDVBServiceBase::getTransponderData(bool original) +{ + ePyObject ret = PyDict_New(); + if (ret) { - ePtr<iDVBFrontend> fe; - if(!channel->getFrontend(fe)) + eUsePtr<iDVBChannel> channel; + if(!m_service_handler.getChannel(channel)) { - ret = fe->readTransponderData(original); - if (ret) + ePtr<iDVBFrontend> fe; + if(!channel->getFrontend(fe)) { + fe->getTransponderData(ret, original); ePtr<iDVBFrontendParameters> feparm; channel->getCurrentFrontendParameters(feparm); if (feparm) @@ -1808,11 +1843,30 @@ PyObject *eDVBServiceBase::getFrontendData(bool original) } } } - if (!ret) + else Py_RETURN_NONE; return ret; } +PyObject *eDVBServiceBase::getAll(bool original) +{ + ePyObject ret = getTransponderData(original); + if (ret != Py_None) + { + eUsePtr<iDVBChannel> channel; + if(!m_service_handler.getChannel(channel)) + { + ePtr<iDVBFrontend> fe; + if(!channel->getFrontend(fe)) + { + fe->getFrontendData(ret); + fe->getFrontendStatus(ret); + } + } + } + return ret; +} + int eDVBServicePlay::getNumberOfSubservices() { ePtr<eServiceEvent> evt; |
