--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/searcher/searchserver/inc/clogplayerrecorder.h Mon Apr 19 14:40:16 2010 +0300
@@ -0,0 +1,185 @@
+/*
+* Copyright (c) 2010 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 CLOGPLAYERRECORDER_H
+#define CLOGPLAYERRECORDER_H
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <f32file.h>
+#include <flogger.h>
+
+#include "CSearchDocument.h"
+#include "indevicecfg.h"
+
+#ifdef RECORD_FOR_LOG_PLAYER
+#define LOG_PLAYER_RECORD(x) x
+#else
+#define LOG_PLAYER_RECORD(x)
+#endif
+
+// CLASS DECLARATION
+/**
+ * CSearchServer
+ */
+class CLogPlayerRecorder : public CBase
+ {
+public:
+ // Constructors and destructors
+
+ // None
+
+public:
+ // New functions
+
+ /**
+ * Log housekeeping
+ */
+ static void LogHouseKeepL();
+
+ /**
+ * Log define volume
+ */
+ static void LogDefineVolumeL(const TDesC& aQualifiedBaseAppClass,
+ const TDesC& aIndexDbPath);
+
+ /**
+ * Log flush
+ */
+ static void LogFlushL(TUint aId);
+
+ /**
+ * Log database opening
+ */
+ static void LogDatabaseOpenL(TUint aId, TBool aSearcher, const TDesC& aBaseAppClass);
+
+ /**
+ * Log document add
+ */
+ static void LogAddL( TUint aId, const CSearchDocument& aSearchDocument );
+
+ /**
+ * Log document update
+ */
+ static void LogUpdateL( TUint aId, const CSearchDocument& aSearchDocument );
+
+ /**
+ * Log document delete
+ */
+ static void LogDeleteL( TUint aId, const TDesC& aDocUid );
+
+ /**
+ * Log document search
+ */
+ static void LogSearchL( TUint aId, const TDesC& aDocUid );
+
+ /**
+ * Log document getting
+ */
+ static void LogGetDocumentL( TUint aId, TUint aIndex );
+
+ /**
+ * Log reset
+ */
+ static void LogResetL( TUint aId );
+
+ /**
+ * Log Cancel
+ */
+ static void LogCancelL( TUint aId );
+
+
+private:
+ // New functions
+
+ /**
+ * Open RFileLogger connection
+ */
+ static void OpenL();
+
+ /**
+ * Serialize search document
+ */
+ static HBufC8* SerializeDocumentL( const CSearchDocument& aSearchDocument );
+
+
+ /**
+ * Get handle id
+ * @param unique identifier for subsession i.e. memory-address
+ * @return Log player usable id
+ */
+ static TUint GetHandleId( TUint aId );
+
+ /**
+ * Append time stamp to buffer
+ * First call creates time stamp with value 0 and following calls
+ * microseconds relative to first call
+ * @param aBuffer Buffer where time stamp is appended.
+ */
+ static void AppendTimeStampToMsgBuffer( RBuf8& aBuffer );
+
+ /**
+ * Append data to buffer
+ * @param aBuffer Buffer where data is appended
+ * @return aData Data to be appended
+ */
+ static void AppendToMsgBuffer( RBuf8& aBuffer, const TDesC8& aData );
+
+ /**
+ * Append data to buffer
+ * @param aBuffer Buffer where data is appended
+ * @return aData Data to be appended
+ */
+ static void AppendToMsgBuffer( RBuf8& aBuffer, const TDesC16& aData );
+
+ /**
+ * Helper method for AppendToMsgBuffer
+ * @param aBuffer Buffer where data is appended
+ * @return aData Data to be appended
+ */
+ static void DoAppendToMsgBuffer( RBuf8& aBuffer, const TDesC16& aData );
+
+ /**
+ * Append integer to buffer
+ * @param aBuffer Buffer where interger is appended
+ * @return aData Integer to be appended
+ */
+ static void AppendToMsgBuffer( RBuf8& aBuffer, TInt64 aData );
+
+
+private:
+ // Data
+
+ // Is log file already opened
+ static TBool iLogOpen;
+
+ // File server serssion
+ static RFs iRfs;
+
+ // File handling log writing
+ static RFile iFile;
+
+ // Subsession array. Used to map log player usable id values
+ static RArray<TUint> iHandleArray;
+
+ // First call time (in microseconds) of AppendTimeStampToMsgBuffer
+ static TInt64 iStartTimeStamp;
+ };
+
+#endif // CLOGPLAYERRECORDER_H
+// End of File