diff -r 5b6f26637ad3 -r f4a778e096c2 logsui/AppSrc/CLogsCtAdapter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/AppSrc/CLogsCtAdapter.h Wed Sep 01 12:29:52 2010 +0100 @@ -0,0 +1,178 @@ +/* +* 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: +* Adaptor to EventList, copies data from model listbox +* +*/ + + +#ifndef __CLogsCtAdapter_H__ +#define __CLogsCtAdapter_H__ + +// INCLUDES +#include // MDesCArray +#include + +#include "LogsAlsEnum.hrh" + +// CONSTANTS +const TInt KLogsCtAdapterLen = 100; +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class MLogsSharedData; +class MLogsCallStatus; + +// CLASS DECLARATION + +/** +* Adaptor to EventList, copies data from model listbox +*/ +class CLogsCtAdapter : public CBase, public MDesCArray + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * + * @param aModel, pointer to logs model. + * @param aSelectedAlsLine, selected als line. + * @param aCallStatus, call status accessor class. + */ + static CLogsCtAdapter* NewL( MLogsSharedData* aSharedData, + const TAlsEnum& aSelectedAlsLine, + MLogsCallStatus& aCallStatus ); + + /** + * Destructor. + */ + virtual ~CLogsCtAdapter(); + + public: + /** + * Update data for adaptation + */ + TBool UpdateDataL(); + + /** + * Get time strings in localised form for recent call counters. UpdateDataL() needs + * to be called before to get up-to-date values + */ + TInt LastCallTimeStringL( TDes& aDes, const TAlsEnum& aSelectedAlsLine, const TVoipEnum aVoip ); + TInt ReceivedCallsTimeStringL( TDes& aDes, const TAlsEnum& aSelectedAlsLine, const TVoipEnum aVoip); + TInt DialledCallsTimeStringL( TDes& aDes, const TAlsEnum& aSelectedAlsLine, const TVoipEnum aVoip ); + TInt AllCallsTimeStringL( TDes& aDes, const TAlsEnum& aSelectedAlsLine, const TVoipEnum aVoip ); + + + private: + /** + * Active call timer in seconds. + */ + TInt ActiveTime(); + + /** + * Converts seconds to proper time format + * @param aSeconds time in seconds + * @param aText converted string + */ + void ToTimeFormat( TInt aSeconds, HBufC* aText ); + + private: + /** + * C++ default constructor. + */ + CLogsCtAdapter( MLogsSharedData* aSharedData, + const TAlsEnum& aSelectedAlsLine, + MLogsCallStatus& aCallStatus); + + /** + * Symbian OS constructor. + */ + void ConstructL(); + + private: // from MDesCArray + + /** + * Returns number of entries + * + * @return TInt + */ + TInt MdcaCount() const; + + /** + * Returns a TPtrC related with the position given by aIndex + * + * @param TInt aIndex + * @return TPtrC16 + */ + TPtrC16 MdcaPoint( TInt aIndex ) const; + + private: //data + + /// Ref: Reference to SD + MLogsSharedData* iSharedData; + + /// Own: main buffer + TBuf iBuffer; + + /// Own: "Active call timer" text + HBufC* iActiveCallText; + + /// Own: "Last call timer" text + HBufC* iLastCallText; + + /// Own: "Dialled call timer" text + HBufC* iDialledCallsText; + + /// Own: "Received call timer" text + HBufC* iReceivedCallsText; + + /// Own: "All call timer" text + HBufC* iAllCallsText; + + /// Own: active call timer conversion buffer + HBufC* iActiveCallTime; + + /// Own: last call timer conversion buffer + HBufC* iLastCallTime; + + /// Own: dialled call timer conversion buffer + HBufC* iDialledCallsTime; + + /// Own: received call timer conversion buffer + HBufC* iReceivedCallsTime; + + /// Own: all call timer conversion buffer + HBufC* iAllCallsTime; + + /// Ref: Selected als line + const TAlsEnum& iSelectedAlsLine; + + /// Ref: call status object reference. + MLogsCallStatus& iCallStatus; + + //Members to track whether a time value has changed from previous call + TInt iPreviousActiveTime; + TInt iPreviousAllCallsTime; + + TBool iShowCallDurationLogs; + }; + +#endif // CLogsCtAdapter_H + +// End of File