SASC
DVBSoftCAM

cCardClientBuffy Class Reference

Inheritance diagram for cCardClientBuffy:

List of all members.

Public Member Functions

 cCardClientBuffy (const char *Name)
virtual bool Init (const char *config)
virtual bool Login (void)
virtual bool CanHandle (unsigned short SysId)
 cCardClientBuffy (const char *Name)
virtual bool Init (const char *config)
virtual bool Login (void)
virtual bool CanHandle (unsigned short SysId)

Detailed Description

Definition at line 327 of file camd.c.


Constructor & Destructor Documentation

cCardClientBuffy::cCardClientBuffy ( const char *  Name)

Definition at line 339 of file camd.c.

:cCardClientCommon(Name,true,false,true,0)
{}
cCardClientBuffy::cCardClientBuffy ( const char *  Name)

Member Function Documentation

bool cCardClientBuffy::CanHandle ( unsigned short  SysId) [virtual]

Reimplemented from cCardClient.

Definition at line 349 of file camd.c.

References i.

{
  cMutexLock lock(this);
  for(int i=0; i<numCAIDs; i++) if(CAIDs[i]==SysId) return true;
  return false;
}
virtual bool cCardClientBuffy::CanHandle ( unsigned short  SysId) [virtual]

Reimplemented from cCardClient.

virtual bool cCardClientBuffy::Init ( const char *  config) [virtual]

Reimplemented from cCardClientCommon.

bool cCardClientBuffy::Init ( const char *  config) [virtual]

Reimplemented from cCardClientCommon.

Definition at line 343 of file camd.c.

{
  cMutexLock lock(this);
  return cCardClientCommon::Init(config);
}
bool cCardClientBuffy::Login ( void  ) [virtual]

Reimplemented from cCardClientCommon.

Definition at line 356 of file camd.c.

References caid, cCardClient::CaidsChanged(), i, L_CC_LOGIN, LBEND, LBPUT, LBSTART, cCardClientCommon::Login(), MAX_CAIDS, cCardClient::name, cCardClientCommon::RecvMsg(), and cCardClientCommon::SendMsg().

{
  cMutexLock lock(this);
  if(!cCardClientCommon::Login()) return false;

  unsigned char buff[128];
  memset(buff,0,sizeof(buff));
  buff[0]=0x0A;
  if(!SendMsg(buff,32)) return false;
  int n=RecvMsg(buff,-sizeof(buff));
  if(n<0) return false;
  for(int i=1; i<n && numCAIDs<MAX_CAIDS; i+=2) {
    unsigned short caid=(buff[i+1]<<8)+buff[i];
    if(caid==0xFFFF) break;
    if(caid) CAIDs[numCAIDs++]=caid;
    }
  CaidsChanged();
  LBSTART(L_CC_LOGIN);
  LBPUT("%s: CAIDs ",name);
  for(int i=0; i<numCAIDs && CAIDs[i]; i++) LBPUT("%04X ",CAIDs[i]);
  LBEND();
  return true;
}
virtual bool cCardClientBuffy::Login ( void  ) [virtual]

Reimplemented from cCardClientCommon.


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