SASC-NG
DVBSoftCAM

cOverrideEcmPrio Class Reference

Inheritance diagram for cOverrideEcmPrio:

List of all members.

Public Member Functions

 cOverrideEcmPrio (void)
virtual bool Parse (char *str)
int GetPrio (int Caid, int Prov)

Detailed Description

Definition at line 495 of file override.c.


Constructor & Destructor Documentation

cOverrideEcmPrio::cOverrideEcmPrio ( void  ) [inline]

Definition at line 501 of file override.c.

References OV_ECMPRIO, and cOverride::type.


Member Function Documentation

int cOverrideEcmPrio::GetPrio ( int  Caid,
int  Prov 
)

Definition at line 542 of file override.c.

References i, L_CORE_OVER, and PRINTF.

Referenced by cOverrides::GetEcmPrio().

{
  int pri=0;
  for(int i=0; i<num; i++) {
    if(Caid==caid[i] && (prov[i]<0 || Prov==prov[i])) break;
    pri--;
    }
  PRINTF(L_CORE_OVER,"ecmprio: %04x/%x pri %d",Caid,Prov,pri);
  return pri;
}
bool cOverrideEcmPrio::Parse ( char *  str) [virtual]

Implements cOverride.

Definition at line 506 of file override.c.

References i, L_CORE_LOAD, L_CORE_OVER, LBEND, LBPUT, LBSTART, OV_MAXPRIOS, cValidityRange::Parse2(), cValidityRange::Print(), and PRINTF.

{
  if((str=Parse2(str))) {
    num=0;
    int n=-1;
    do {
      prov[num]=-1;
      int l=n+1;
      if(sscanf(&str[l],"%x%n/%x%n",&caid[num],&n,&prov[num],&n)<1) {
        PRINTF(L_CORE_LOAD,"override: ECMPRIO format error");
        return false;
        }
      if(prov[num]>=0 && !UsesProvId(caid[num])) {
        PRINTF(L_CORE_LOAD,"override: ECMPRIO provider ID not supported for caid %04x",caid[num]);
        return false;
        }
      n+=l; num++;
      } while(num<OV_MAXPRIOS && str[n]==':');
    LBSTART(L_CORE_OVER);
    LBPUT("ecmprio: %s - chain",*Print());
    for(int i=0; i<num; i++) LBPUT(prov[i]>=0 ? " %04x/%x":" %04x",caid[i],prov[i]);
    LBEND();
    return true;
    }
  return false;
}

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