diff -r 41a7f70b3818 -r 5266b1f337bd phoneapp/phoneuiview/inc/phonebubbleextensiondata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiview/inc/phonebubbleextensiondata.h Wed Sep 01 12:30:10 2010 +0100 @@ -0,0 +1,173 @@ +/* +* Copyright (c) 2008 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 call data. +* +*/ + + +#ifndef C_PHONEBUBBLEEXTENSIONDATA_H +#define C_PHONEBUBBLEEXTENSIONDATA_H + +#include + +class TPhoneCmdParamCallHeaderData; + +/** + * Call data. + * All data that plugins need to know about a call is collected here. + * Note that the data is changed to reflect changed call info before plugin + * is notified about changes, so plugin needs to save the current information + * if it needs it for comparison or otherwise. + * + * @lib ?library + * @since S60 5.0 + */ +class CPhoneBubbleExtensionData : public CBase, public MTelBubbleExtensionData + { +public: + + /** + * Two-phased constructor. + * + * @param aBubbleId Bubble Id this data relates to. + * @param aParams Phoneapp parameters + * @param aFirst Is this the first call. Default yes. + */ + static CPhoneBubbleExtensionData* NewL( + TInt aBubbleId, + TPhoneCmdParamCallHeaderData* aParams, + TBool aFirst = ETrue ); + + /** + * Two-phased constructor. + * + * @param aBubbleId Bubble Id this data relates to. + * @param aParams Phoneapp parameters + * @param aFirst Is this the first call. Default yes. + */ + static CPhoneBubbleExtensionData* NewLC( + TInt aBubbleId, + TPhoneCmdParamCallHeaderData* aParams, + TBool aFirst = ETrue ); + + /** + * Destructor. + */ + virtual ~CPhoneBubbleExtensionData(); + + /** + * (Re)sets the call state + * + * @since S60 5.0 + * @param aState New state (TPEState, not bubble state) + * @param aFirst Is this the first call. Default yes. + */ + void SetState( TInt aState, TBool aFirst = ETrue ); + +// from base class MTelBubbleExtensionData + + /** + * Bubble ID this call is connected to. + * @return Bubble ID. + */ + TInt BubbleId() const; + + /** + * Call state information. + * @return Call state. + */ + TCallState State() const; + + /** + * Call type information + * @return Call type. + */ + TCallType Type() const; + + /** + * Call service id + * @return Call service + */ + TUint32 ServiceId() const; + + /** + * Contact Link related to this call. + * @return Reference to Contact Link + */ + const TDesC8& ContactLink() const; + + /** + * Remote phone number for this call. + * @return Remote phone number + */ + const TDesC& RemotePhoneNumber() const; +private: + + /** + * First phase constructor. + * + * @param aBubbleId Bubble Id this data relates to. + * @param aParams Phoneapp parameters + * @param aFirst Is this the first call + */ + CPhoneBubbleExtensionData( + TInt aBubbleId, + TPhoneCmdParamCallHeaderData* aParams, + TBool aFirst ); + + /** + * Second phase constructor. + * + * @param aParams Phoneapp parameters + * @param aFirst Is this the first call + */ + void ConstructL( TPhoneCmdParamCallHeaderData* aParams ); + +private: // data + + /** + * Bubble ID + */ + TInt iBubbleId; + + /** + * Call state + */ + TCallState iState; + + /** + * Call type + */ + TCallType iType; + + /** + * Service id + */ + TUint32 iService; + + /** + * Contact Link + * Owned. + */ + HBufC8* iContactLink; + + /** + * Remote phone number + * Owned. + */ + HBufC* iRemotePhoneNumber; + }; + + +#endif // C_PHONEBUBBLEEXTENSIONDATA_H