|
SASC
DVBSoftCAM
|
Inheritance diagram for cCardClientBuffy: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) |
| cCardClientBuffy::cCardClientBuffy | ( | const char * | Name | ) |
Definition at line 339 of file camd.c.
:cCardClientCommon(Name,true,false,true,0) {}
| cCardClientBuffy::cCardClientBuffy | ( | const char * | Name | ) |
| 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.