|
SASC-NG
DVBSoftCAM
|
Inheritance diagram for cMenuSetupSc:Public Member Functions | |
| cMenuSetupSc (const char *CfgDir) | |
| virtual | ~cMenuSetupSc () |
| virtual eOSState | ProcessKey (eKeys Key) |
Protected Member Functions | |
| virtual void | Store (void) |
| cMenuSetupSc::cMenuSetupSc | ( | const char * | CfgDir | ) |
Definition at line 866 of file sc.c.
References cOsdMenu::Add(), cOpts::Backup(), cOpts::Create(), Feature, cSystems::GetSystemOpts(), cScInfoItem::Ident(), IDSTR_LEN, cSmartCards::ListCard(), osUser4, osUser5, osUser6, osUser7, osUser8, osUser9, cMenuSetupPage::SetSection(), cFeature::SmartCard(), smartcards, and tr.
{
cfgdir=strdup(CfgDir);
SetSection(tr("SoftCAM"));
ScOpts->Backup(); LogOpts->Backup();
for(cOpts *opts=0; (opts=cSystems::GetSystemOpts(opts==0));) opts->Backup();
ScOpts->Create(this);
Add(new cOsdItem(tr("Cryptsystem options..."),osUser5));
Add(new cOsdItem(tr("Message logging..."),osUser6));
if(Feature.SmartCard()) {
char id[IDSTR_LEN];
for(int i=0; smartcards.ListCard(i,id,sizeof(id)); i++) {
char buff[32];
snprintf(buff,sizeof(buff),"%s %d",tr("Smartcard interface"),i);
cScInfoItem *ii;
if(id[0]) ii=new cScInfoItem(buff,id,osUser4);
else ii=new cScInfoItem(buff,tr("(empty)"));
ii->Ident(i);
Add(ii);
}
}
Add(new cOsdItem(tr("Status information..."),osUser8));
Add(new cOsdItem(tr("Flush ECM cache"),osUser7));
Add(new cOsdItem(tr("Reload files"),osUser9));
}
| cMenuSetupSc::~cMenuSetupSc | ( | ) | [virtual] |
Reimplemented from cMenuSetupPage.
Definition at line 904 of file sc.c.
References cGlobal::Active(), cOsdMenu::AddSubMenu(), cInterface::Confirm(), cOsdMenu::Current(), ecmcache, Feature, cEcmCache::Flush(), cList< cOsdItem >::Get(), cScInfoItem::Ident(), Interface, kDown, kNone, kOk, kUp, cSoftCAM::Load(), cSkins::Message(), mtError, NORMALKEY, osBack, osContinue, osEnd, osUnknown, osUser4, osUser5, osUser6, osUser7, osUser8, osUser9, cOsdItem::ProcessKey(), Skins, cFeature::SmartCard(), Store(), and tr.
{
eOSState state = cOsdMenu::ProcessKey(Key);
switch(state) {
case osUser4:
if(Feature.SmartCard()) {
cScInfoItem *ii=dynamic_cast<cScInfoItem *>(Get(Current()));
if(ii) return(AddSubMenu(new cMenuInfoCard(ii->Ident())));
}
state=osContinue;
break;
case osUser7:
state=osContinue;
if(Interface->Confirm(tr("Really flush ECM cache?"))) {
ecmcache.Flush();
state=osEnd;
}
break;
case osUser8:
return AddSubMenu(new cMenuInfoSc);
case osUser6:
return AddSubMenu(new cMenuLogSys);
case osUser5:
return AddSubMenu(new cMenuSysOpts);
case osUser9:
state=osContinue;
if(!cGlobal::Active(true)) {
if(Interface->Confirm(tr("Really reload files?"))) {
Store();
cSoftCAM::Load(cfgdir);
state=osEnd;
}
}
else
Skins.Message(mtError,tr("Active! Can't reload files now"));
break;
case osContinue:
if(NORMALKEY(Key)==kUp || NORMALKEY(Key)==kDown) {
cOsdItem *item=Get(Current());
if(item) item->ProcessKey(kNone);
}
break;
case osUnknown:
if(Key==kOk) { Store(); state=osBack; }
break;
default:
break;
}
return state;
}
| void cMenuSetupSc::Store | ( | void | ) | [protected, virtual] |
Implements cMenuSetupPage.
Definition at line 899 of file sc.c.
References ScSetup, and cScSetup::Store().
Referenced by ProcessKey().