diff -r 000000000000 -r 3553901f7fa8 telephonyserver/etelmultimode/CETEL/mm_line.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserver/etelmultimode/CETEL/mm_line.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,98 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// Contains method definitions for EtelMM subsession RMobileLine +// +// + +// From core API +#include + +// Multimode header files +#include +#include "mm_hold.h" + + +/************************************************************************/ +// +// RMobileLine +// +/************************************************************************/ + +EXPORT_C RMobileLine::RMobileLine() + : iMmPtrHolder(NULL) +/** Constructor. */ + { + } + +EXPORT_C void RMobileLine::ConstructL() +/** Constructs and initializes the object. + +@leave KErrNoMemory Out of memory. +@capability None +*/ + { + RLine::ConstructL(); + __ASSERT_ALWAYS(iMmPtrHolder==NULL,PanicClient(EEtelPanicHandleNotClosed)); + iMmPtrHolder = CMobileLinePtrHolder::NewL(CMobileLinePtrHolder::EMaxNumberLinePtrSlots,CMobileLinePtrHolder::EMaxNumberLinePtrCSlots); + } + +EXPORT_C void RMobileLine::Destruct() +/** Destructor +@capability None +*/ + { + RLine::Destruct(); + delete iMmPtrHolder; + iMmPtrHolder = NULL; + } + +EXPORT_C TInt RMobileLine::GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const +/** Returns the current state of the line. + +If there is one call object RMobileCall associated with this line the returned +line status will be equal to the call status. + +If there is more than one call object associated with this line, the state +of the call that is most active, i.e. the call that is connected and active +or is about to be connected, will be returned my this function. + +@param aStatus On completion, contains the mobile line status. +@return KErrNone if successful, otherwise another of the system-wide error +codes. +@capability None +*/ + { + TPckg ptr1(aStatus); + return Get(EMobileLineGetMobileLineStatus, ptr1); + } + +EXPORT_C void RMobileLine::NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const +/** Allows the client to be notified when a line changes state. This function completes +when the mobile line changes it state. + +Use RTelSubSessionBase::CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange) +to cancel a previously placed asynchronous NotifyMobileLineStatusChange(). + +@param aReqStatus On return, KErrNone if successful. +@param aStatus On completion, contains the new mobile call status. +@capability None +*/ + { + __ASSERT_ALWAYS(iMmPtrHolder!=NULL,PanicClient(EEtelPanicNullHandle)); + + TPtr8& ptr1=iMmPtrHolder->Set(CMobileLinePtrHolder::ESlot1LineNotifyMobileLineStatusChange, aStatus); + + Get(EMobileLineNotifyMobileLineStatusChange, aReqStatus, ptr1); + } +