522 CleanupStack::PopAndDestroy( buf ); |
522 CleanupStack::PopAndDestroy( buf ); |
523 |
523 |
524 // Complete request |
524 // Complete request |
525 req->Message().Complete( KErrNone ); |
525 req->Message().Complete( KErrNone ); |
526 |
526 |
527 if ( aMessage.DataSize() ) |
527 CleanupStack::PopAndDestroy( req ); |
528 { |
528 } |
529 // Store request data to be read later |
529 |
530 // with GetMsgData() |
530 // Store message to enable message data requesting later or |
531 req->SetTrId( aMessage.TrId() ); |
531 // to wait receiver to be ready to receive request |
532 req->SetData( aMessage.Data() ); |
532 if ( found && aMessage.DataSize() || |
533 iRequests.AppendL( req ); |
533 !found && ( aMessage.Function() == ECcApiReq || |
534 CleanupStack::Pop( req ); |
534 aMessage.Function() == ECcApiNtf ) ) |
535 } |
535 { |
536 else |
536 // Store message to handled later |
537 { |
537 CCcSrvMsg* msg = CCcSrvMsg::NewL(); |
538 CleanupStack::PopAndDestroy( req ); |
538 CleanupStack::PushL( msg ); |
539 } |
539 msg->SetFunction( aMessage.Function() ); |
540 } |
540 msg->SetSender( aMessage.Sender() ); |
541 else |
541 msg->SetReceiver( aMessage.Receiver() ); |
542 { |
542 msg->SetMsgId( aMessage.MsgId() ); |
543 if ( aMessage.Function() == ECcApiReq || |
543 msg->SetTrId( aMessage.TrId() ); |
544 aMessage.Function() == ECcApiNtf ) |
544 msg->SetStatus( aMessage.Status() ); |
545 { |
545 msg->SetData( aMessage.Data() ); |
546 // Store message to handled later |
546 iRequests.AppendL( msg ); |
547 CCcSrvMsg* msg = CCcSrvMsg::NewL(); |
547 CleanupStack::Pop( msg ); |
548 CleanupStack::PushL( msg ); |
|
549 msg->SetFunction( aMessage.Function() ); |
|
550 msg->SetSender( aMessage.Sender() ); |
|
551 msg->SetReceiver( aMessage.Receiver() ); |
|
552 msg->SetMsgId( aMessage.MsgId() ); |
|
553 msg->SetTrId( aMessage.TrId() ); |
|
554 msg->SetStatus( aMessage.Status() ); |
|
555 msg->SetData( aMessage.Data() ); |
|
556 iRequests.AppendL( msg ); |
|
557 CleanupStack::Pop( msg ); |
|
558 } |
|
559 // ECcApiResp are ignored |
|
560 } |
548 } |
561 } |
549 } |
562 |
550 |
563 // ----------------------------------------------------------------------- |
551 // ----------------------------------------------------------------------- |
564 // CCcSrvSession::SendObserverNtfL() |
552 // CCcSrvSession::SendObserverNtfL() |