SASC
DVBSoftCAM

cMenuSetupSc Class Reference

Inheritance diagram for cMenuSetupSc:

List of all members.

Public Member Functions

 cMenuSetupSc (const char *CfgDir)
virtual ~cMenuSetupSc ()
virtual eOSState ProcessKey (eKeys Key)
 cMenuSetupSc (const char *CfgDir)
virtual ~cMenuSetupSc ()
virtual eOSState ProcessKey (eKeys Key)

Protected Member Functions

virtual void Store (void)
virtual void Store (void)

Detailed Description

Definition at line 855 of file sc.c.


Constructor & Destructor Documentation

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]

Definition at line 894 of file sc.c.

References free.

{
  free(cfgdir);
}
cMenuSetupSc::cMenuSetupSc ( const char *  CfgDir)
virtual cMenuSetupSc::~cMenuSetupSc ( ) [virtual]

Member Function Documentation

eOSState cMenuSetupSc::ProcessKey ( eKeys  Key) [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;
}
virtual eOSState cMenuSetupSc::ProcessKey ( eKeys  Key) [virtual]

Reimplemented from cMenuSetupPage.

virtual void cMenuSetupSc::Store ( void  ) [protected, virtual]

Implements cMenuSetupPage.

void cMenuSetupSc::Store ( void  ) [protected, virtual]

Implements cMenuSetupPage.

Definition at line 899 of file sc.c.

References ScSetup, and cScSetup::Store().

Referenced by ProcessKey().

{
  ScSetup.Store(false);
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines