TInt CCallDummyBase::AcquireOwnership(const TTsyReqHandle aTsyReqHandle) // // Acquire call Ownership // { TInt ret(KErrNone); if (CheckOwnership(aTsyReqHandle)==CCallBase::EOwnedUnowned) { SetOwnership(aTsyReqHandle); ReqCompleted(aTsyReqHandle,KErrNone); } else { if(iList->iAcquireList.IsEmpty()) // List is empty. Client is the first one to request ownership of the call. { CAcquireEntry* entry=NULL; TRAP(ret, entry=CAcquireEntry::NewL(aTsyReqHandle)); if (ret==KErrNone) iList->iAcquireList.AddLast(*entry); } else // List is not empty. Another client has already requested to acquire ownership of the call. // Only one client can be waiting to acquire ownership at any one time. return KErrInUse; } return ret; }
TInt CCallDummyBase::TransferOwnership(const TTsyReqHandle aTsyReqHandle) // // Transfer Call Ownership // { if (CheckOwnership(aTsyReqHandle)!=CCallBase::EOwnedTrue) { ReqCompleted(aTsyReqHandle,KErrEtelNotCallOwner); return KErrNone; } if(iList->iAcquireList.IsEmpty()) // no one interested in this call ! { ReqCompleted(aTsyReqHandle,KErrEtelNoClientInterestedInThisCall); return KErrNone; } CAcquireEntry* entry=iList->iAcquireList.First(); if (entry) // someone interested in this call { SetOwnership(entry->iTsyReqHandle); ReqCompleted(entry->iTsyReqHandle,KErrNone); iList->Remove(entry); ReqCompleted(aTsyReqHandle,KErrNone); } return KErrNone; }
AudioOutDriver::AudioOutDriver(AudioDriver &driver) { driver_=&driver ; driver.AddObserver(*this) ; primarySoundBuffer_=0 ; mixBuffer_=0 ; SetOwnership(false) ; }
bool PessimisticTxnManager::PerformInsert(const oid_t &tile_group_id, const oid_t &tuple_id) { LOG_TRACE("Perform insert"); SetOwnership(tile_group_id, tuple_id); // no need to set next item pointer. // Add the new tuple into the insert set current_txn->RecordInsert(tile_group_id, tuple_id); return true; }
LPITEM CItem::RemoveFromGround() { if (GetSectree()) { SetOwnership(NULL); GetSectree()->RemoveEntity(this); ViewCleanup(); Save(); } return (this); }
TInt CCallDummyBase::Dial(const TTsyReqHandle aTsyReqHandle,const TDesC8* /*aParams*/,TDesC* aNumber) { if (CheckOwnership(aTsyReqHandle)==CCallBase::EOwnedUnowned) { SetOwnership(aTsyReqHandle); if(aNumber->Compare(DACQ_PHONE_NUMBER_TO_DIAL)!=KErrNone) TsyPanic(KTsyPanicDataCorrupted); iFac->QueueTimer(iDial,aTsyReqHandle,DACQ_ASYN_TIMEOUT, CCallDummyBase::DialHandler,this); } else if (CheckOwnership(aTsyReqHandle)==CCallBase::EOwnedFalse) ReqCompleted(aTsyReqHandle,KErrEtelNotCallOwner); else ReqCompleted(aTsyReqHandle,KErrEtelCallAlreadyActive); return KErrNone; }
TInt CCallDummyBase::ProcessingOwnership() { if (iList) { if(iList->iAcquireList.IsEmpty()) // no one interested in this call ! { SetUnowned(); return KErrNone; } CAcquireEntry* entry=iList->iAcquireList.First(); if (entry) // someone interested in this call { SetOwnership(entry->iTsyReqHandle); ReqCompleted(entry->iTsyReqHandle,KErrNone); iList->Remove(entry); } return KErrNone; } else return KErrNotFound; }