os/persistentdata/loggingservices/eventlogger/LogServ/inc/LogServRecentList.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef __LOGSERVRECENTLIST_H__
    17 #define __LOGSERVRECENTLIST_H__
    18 
    19 #include <logwrap.h>
    20 
    21 // Classes referenced
    22 class TResourceReader;
    23 class CLogEvent;
    24 class CLogFilter;
    25 class CLogServRecentCondition;
    26 
    27 /**
    28 Holds an array of CLogServRecentCondition elements.
    29 
    30 @see CLogServRecentCondition
    31 @see CLogServRecentListManager
    32 @internalComponent
    33 */
    34 class CLogServRecentList : public CBase
    35 	{
    36 public:
    37 	static CLogServRecentList* NewL(TResourceReader& aReader);
    38 	static CLogServRecentList* TestNewL();
    39 	~CLogServRecentList();
    40 	
    41 	TBool IsRecent(const CLogEvent& aEvent) const;
    42 	void GetFilter(const CLogEvent& aEvent, CLogFilter& aFilter) const;
    43 	inline TLogRecentList Id() const;
    44 
    45 private:
    46     void ConstructL(TResourceReader& aReader);
    47     void TestConstructL();
    48 	TBool IsFilterEmpty(const CLogFilter& aFilter) const;
    49 
    50 private:
    51 	TLogRecentList iId;
    52 	TUint16 iDuplicates;//It must be 16-bit. The iDuplicates value is read from a resource file. 
    53 						//See ConstructL() implementation. The Duplicates type width then restricts
    54 						//the max number of field macro values - 
    55 						//ELogContactField...ELogSimIdField. 
    56     typedef RPointerArray<CLogServRecentCondition> RLogRecentConditionArray;
    57 	RLogRecentConditionArray iConditions;
    58 	};
    59 
    60 inline TLogRecentList CLogServRecentList::Id() const
    61 	{
    62 	return iId;
    63 	}
    64 
    65 
    66 
    67 #endif