loggingservices/eventlogger/LogServ/inc/LOGQUERY.H
changeset 0 08ec8eefde2f
--- /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 <d32dbms.h>
+#include <logwraplimits.h>
+
+// 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<TLogId>& aEventIds);
+void LogPurgeRecentEventsL(MLogServDatabaseTransactionInterface& aDb, const RArray<TLogId>& aEventIds);
+void LogPurgeMainL(MLogServDatabaseTransactionInterface& aDb, RLogEventDbTable& aTbl, 
+                   TLogSize aMaxLogSize, TInt aCountPlus);
+void LogResetDuplicatesL(MLogServDatabaseTransactionInterface& aDb, TLogId aEventId);
+
+#endif