diff -r 000000000000 -r 08ec8eefde2f loggingservices/eventlogger/LogServ/inc/LOGQUERY.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/loggingservices/eventlogger/LogServ/inc/LOGQUERY.H Fri Jan 22 11:06:30 2010 +0200 @@ -0,0 +1,118 @@ +// Copyright (c) 2002-2009 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: +// + +#ifndef __LOGQUERY_H__ +#define __LOGQUERY_H__ + +#include +#include + +// Classes referenced +class MLogServDatabaseTransactionInterface; + +/** +RDbTable derived class which offers an OpenLC() method. +As part of the "open table" call, the method will try to recover the database if the database is damaged. + +@internalComponent +*/ +class RLogDbTable : public RDbTable + { +public: + void OpenLC(RDbDatabase& aDb, const TDesC& aTblName, RDbRowSet::TAccess aAccess = RDbRowSet::EUpdatable); + }; + +/** +RLogDbTable derived class. +Opens "Event" table. +If the table is opened for the first time, the OpenLC() method will retrieve the table column numbers. + +@see RLogDbTable +@internalComponent +*/ +class RLogEventDbTable : public RLogDbTable + { +public: + void OpenLC(RDbDatabase& aDb, RDbRowSet::TAccess aAccess = RDbRowSet::EUpdatable); + +public: + static TDbColNo iIdColNo; + static TDbColNo iTypeColNo; + static TDbColNo iRemotePartyColNo; + static TDbColNo iDirectionColNo; + static TDbColNo iTimeColNo; + static TDbColNo iDurationTypeColNo; + static TDbColNo iDurationColNo; + static TDbColNo iStatusColNo; + static TDbColNo iSubjectColNo; + static TDbColNo iNumberColNo; + static TDbColNo iContactColNo; + static TDbColNo iLinkColNo; + static TDbColNo iDataColNo; + static TDbColNo iFlagColNo[KLogFlagsCount]; + static TDbColNo iRecentColNo; + static TDbColNo iDuplicateColNo; +#ifdef SYMBIAN_ENABLE_EVENTLOGGER_DUALSIM + static TDbColNo iSimIdColNo; +#endif + +private: + void InitializeColumnsL(); + }; + +/** +RLogDbTable derived class. +Opens "Config" table. +If the table is opened for the first time, the OpenLC() method will retrieve the table column numbers. + +@see RLogDbTable +@internalComponent +*/ +class RLogConfigDbTable : public RLogDbTable + { +public: + void OpenLC(RDbDatabase& aDb, RDbRowSet::TAccess aAccess = RDbRowSet::EUpdatable); + +public: + static TDbColNo iSizeColNo; + static TDbColNo iRecentColNo; + static TDbColNo iAgeColNo; + +private: + void InitializeColumnsL(); + }; + +/** +RDbView derived class. + +As part of the "prepare view" call, the method will try to recover the database if the database is damaged. +The PrepareLC() method will call also view's EvaluateAll() method, if the preparation was successful. + +@internalComponent +*/ +class RLogDbView : public RDbView + { +public: + void PrepareLC(RDbDatabase& aDb, const TDesC& aQuery, RDbRowSet::TAccess aAccess = RDbRowSet::EUpdatable); + }; + +void LogGetRecentEventsLC(MLogServDatabaseTransactionInterface& aDb, TLogRecentList aRecentListId, + TLogRecentSize aMaxRecentLogSize, RArray& aEventIds); +void LogPurgeRecentEventsL(MLogServDatabaseTransactionInterface& aDb, const RArray& aEventIds); +void LogPurgeMainL(MLogServDatabaseTransactionInterface& aDb, RLogEventDbTable& aTbl, + TLogSize aMaxLogSize, TInt aCountPlus); +void LogResetDuplicatesL(MLogServDatabaseTransactionInterface& aDb, TLogId aEventId); + +#endif