WORD SSIManager::nextContactId() { if ( d->nextContactId == 0 ) d->nextContactId++; d->nextContactId = findFreeId( d->itemIdList, d->nextContactId ); if ( d->nextContactId == 0xFFFF ) { kdWarning(OSCAR_RAW_DEBUG) << k_funcinfo << "No free id!" << endl; return 0xFFFF; } if ( d->itemIdList.contains( d->nextContactId ) == 0 ) d->itemIdList.append( d->nextContactId ); return d->nextContactId++; }
int Phone::createCall() { int newId = findFreeId(); if (newId < 0) { throw Error(QString("max number of calls reached (%1)").arg(maxcall)); } else { calls[newId] = new Call(newId, myName); connect( calls[newId], SIGNAL(connectedSignal(int)), this, SLOT(connectedCall(int)) ); connect( calls[newId], SIGNAL(cancelCallSignal(int)), this, SLOT(cancelCall(int)) ); connect( calls[newId], SIGNAL(abortSignal(int, QString)), this, SLOT(abortCall(int, QString)) ); connect( calls[newId], SIGNAL(warningSignal(int, QString)), this, SLOT(callWarning(int, QString)) ); connect( calls[newId], SIGNAL(newKeySignal(int, QString)), this, SLOT(receivedNewKey(int, QString)) ); connect( calls[newId], SIGNAL(cryptedSignal(int)), this, SLOT(cryptCall(int)) ); connect( calls[newId], SIGNAL(initSignal(int)), this, SLOT(playInit(int)) ); connect( calls[newId], SIGNAL(ringSignal(int)), this, SLOT(playRing(int)) ); } return newId; }