diff -r 000000000000 -r f63038272f30 bluetoothengine/btmac/inc/btmonocmdhandler/btmcmobileline.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/btmac/inc/btmonocmdhandler/btmcmobileline.h Mon Jan 18 20:28:57 2010 +0200 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2002 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: A mobile line +* +*/ + + +#ifndef BTMCMOBILELINE_H +#define BTMCMOBILELINE_H + + +// INCLUDES +#include +#include // for etel +#include // for etel + +#include "btmccallactive.h" +#include "btmcline.h" + +// FORWARD DECLARATIONS +class CBtmcCallStatus; + +/** +* CBtmcMobileLine listens call state events (from RMobileCall) +* and passes them to MBtmcMobileLineObserver +*/ +NONSHARABLE_CLASS(CBtmcMobileLine) : public CBase, public MBtmcLine, public MBtmcActiveObserver + { + public: + + /** + * Two-phased constructor. + */ + static CBtmcMobileLine* NewL( + CBtmcCallStatus& aParent, RMobilePhone& aPhone, const TDesC& aLineName); + + /** + * Two-phased constructor. + */ + static CBtmcMobileLine* NewLC( + CBtmcCallStatus& aParent, RMobilePhone& aPhone, const TDesC& aLineName); + + /** + * Destructor. + */ + ~CBtmcMobileLine(); + + /** + * returns the bit mask + */ + TInt CallStatusL() const; + + const MCall& CallInformationL(); + + /** + * returns active call container + */ + const RPointerArray& ActiveCalls() const; + + /** + * Returns call status + * @param None + * @return the call status + */ + //RMobileCall::TMobileCallStatus CallStatus(const TName& aCallName) const; + + /** + * Accessor for phone + **/ + RMobilePhone& Phone(); + + /* From MBtmcLine + * Returns the type of call + * @return ETrue for Voip and EFalse otherwise + * + */ + TBool IsVoip(); + + private: // From MBtmcActiveObserver + + void RequestCompletedL(CBtmcActive& aActive, TInt aErr); + + void CancelRequest(TInt aServiceId); + + private: + /** + * C++ default constructor. + */ + CBtmcMobileLine( + CBtmcCallStatus& aParent, RMobilePhone& aPhone, const TDesC& aLineName); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: + CBtmcCallStatus& iParent; + + // needed for opening RMobileLine + RMobilePhone& iPhone; // unowned + + RMobileLine iLine; // owned + + RPointerArray iCallActives; + + CBtmcActive* iLineIncomingActive; + CBtmcActive* iLineOutgoingActive; + + TBuf iLineName; + + // passed to RMobileLine::NotifyCallAdded + TName iName; + + }; +#endif // BTMCMOBILELINE_H + +// End of File