From 87eb85b6bbc6c25862bc6d3686f11ba8731611ff Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 2 Apr 2013 14:30:01 +0400 Subject: [PATCH] zapit/src/femanager.cpp: add cached have_sat/cable flags Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/6753630b68aa0b1ed57d7468c2a1c0bf9028a1af Author: [CST] Focus Date: 2013-04-02 (Tue, 02 Apr 2013) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/zapit/include/zapit/femanager.h | 10 ++++++---- src/zapit/src/femanager.cpp | 25 +++++-------------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/src/zapit/include/zapit/femanager.h b/src/zapit/include/zapit/femanager.h index d1e22e37b..ecdaaf18a 100644 --- a/src/zapit/include/zapit/femanager.h +++ b/src/zapit/include/zapit/femanager.h @@ -82,6 +82,8 @@ class CFEManager common_fe_config_t config; bool config_exist; + bool have_sat; + bool have_cable; bool have_locked; OpenThreads::Mutex mutex; @@ -136,9 +138,9 @@ class CFEManager bool lockDemux(int i, transponder_id_t id); void unlockDemux(int i); bool haveFreeDemux(); - bool haveSat(); - bool haveCable(); - bool satOnly() { return (haveSat() && !haveCable()); } - bool cableOnly() { return (haveCable() && !haveSat()); } + bool haveSat() { return have_sat; } + bool haveCable() { return have_cable; } + bool satOnly() { return (have_sat && !have_cable); } + bool cableOnly() { return (have_cable && !have_sat); } }; #endif /* __femanager_h__ */ diff --git a/src/zapit/src/femanager.cpp b/src/zapit/src/femanager.cpp index 956ce7798..bddd2f8de 100644 --- a/src/zapit/src/femanager.cpp +++ b/src/zapit/src/femanager.cpp @@ -90,6 +90,7 @@ bool CFEManager::Init() unsigned short fekey; OpenThreads::ScopedLock m_lock(mutex); + have_sat = have_cable = false; for(int i = 0; i < MAX_ADAPTERS; i++) { for(int j = 0; j < MAX_FE; j++) { fe = new CFrontend(j, i); @@ -99,6 +100,10 @@ bool CFEManager::Init() INFO("add fe %d", fe->fenumber); if(livefe == NULL) livefe = fe; + if (fe->getInfo()->type == FE_QPSK) + have_sat = true; + else if (fe->getInfo()->type == FE_QAM) + have_cable = true; } else delete fe; } @@ -751,26 +756,6 @@ bool CFEManager::haveFreeFrontend() return true; } -bool CFEManager::haveSat() -{ - for(fe_map_iterator_t it = femap.begin(); it != femap.end(); it++) { - CFrontend * fe = it->second; - if (fe->getInfo()->type == FE_QPSK) - return true; - } - return false; -} - -bool CFEManager::haveCable() -{ - for(fe_map_iterator_t it = femap.begin(); it != femap.end(); it++) { - CFrontend * fe = it->second; - if (fe->getInfo()->type == FE_QAM) - return true; - } - return false; -} - int CFEManager::getEnabledCount() { OpenThreads::ScopedLock m_lock(mutex);