diff -r 5b6f26637ad3 -r f4a778e096c2 logsui/EngineInc/CLogsEvent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/EngineInc/CLogsEvent.h Wed Sep 01 12:29:52 2010 +0100 @@ -0,0 +1,214 @@ +/* +* 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: +* Implements MLogsEvent interface +* +*/ + + +#ifndef __Logs_Engine_CLogsEvent_H__ +#define __Logs_Engine_CLogsEvent_H__ + +// INCLUDES +#include +#include "MLogsEvent.h" + +// FORWARD DECLARATION +class CPhCltEmergencyCall; + +// CLASS DECLARATION + +/** + * Implements MLogsEvent interface + */ +class CLogsEvent : public CBase, + public MLogsEvent + { + + public: + + /** + * Two-phased constructor. + * + * @return CLogsEvent object + */ + static CLogsEvent* NewLC(); + + /** + * Destructor. + */ + ~CLogsEvent(); + + private: + + /** + * C++ default constructor. + */ + CLogsEvent(); + + + public: // from MLogsEvent + + /** + * Has the event been read already + * + * @return true/false + */ + TBool IsRead() const; + + virtual TTime Time() const; + + TLogId LogId() const; + + HBufC* Number(); + + HBufC* RemoteParty( ); + + TLogsDirection Direction() const; + + TUid EventUid() const; + + TLogsEventType EventType() const; + + TInt8 Duplicates() const; + + void InitializeEventL( const CLogEvent& aSource, + TLogsEventStrings aStrings, + TLogsModel aModel ); + + MLogsEventData* LogsEventData() const; + + /** + * Set the event read/unread according to flags in + * + * @param true/false + */ + void SetIsRead(TBool aRead); + + /** + * Get the ALS flag from event + * + * @return true/false + */ + TBool ALS() const; + + TBool CNAP() const { return EFalse; }; + //For ring duation feature + TLogDuration RingDuration() const; + + /** + * Return Phone number field type + * + * @return Phone number field type + */ + TInt NumberFieldType() const; + + + private: + + //void Reset(); + + virtual void SetTime( const TTime aTime ); + + void SetLogId( const TLogId aLogId ); + + void SetNumber( HBufC* aNumber ); + + void SetRemoteParty( HBufC* aRemoteParty ); + + void SetDirection( const TLogsDirection aDirection ); + + void SetEventUid( const TUid aUid ); + + void SetEventType( const TLogsEventType aEventType ); + + void SetDuplicates( const TInt8 aDuplicates ); + + void SetLogsEventData( MLogsEventData* aLogsEventData ); + + /** + * Set the ALS flag + * + * @param true/false + */ + void SetALS( TBool aALS ); + + void SetRingDuration( TLogDuration aRingDuration ); + + /** + * Check wether the number is an emergency number. + * + * @param aNumber, the number + * @return true/false + */ + TBool IsEmergencyNumberL( const TDesC& aNumber ); + + /** + * Phone number field type setter + * + * @param set number field type + */ + void SetNumberFieldType( const TInt aNumberFieldType ); + + private: // data + + //Flag to control skip time processing to optimise performance of event list view + TBool iTimeSet; + + // own: log id + TLogId iLogId; + + // own: direction + TInt8 iDirection; + + // own: event type + TInt8 iEventType; + + // own: uid + //TUint8 iUid; + TUid iUid; + + // own: Logs additional event data + MLogsEventData* iLogsEventData; + + /// Own: Remote party + HBufC* iRemoteParty; + + /// Own: Nunber + HBufC* iNumber; + + // own: duplicates + TInt8 iDuplicates; + + // own: time + TTime iTime; + + //For ring duation feature + TLogDuration iRingDuration; + + // For indicate new missed calls feature + TBool iIsRead; + + TBool iALS; + + // own: number field type + TInt iNumberFieldType; + + }; + +#endif // __Logs_Engine_CLogsEvent_H__ + + + +// End of File