diff -r 26645d81f48d -r cc28652e0254 persistentstorage/sqlite3api/OsLayer/SqliteUtil.h --- a/persistentstorage/sqlite3api/OsLayer/SqliteUtil.h Tue Aug 31 16:57:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ -// 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 SQLITEUTIL_H -#define SQLITEUTIL_H - -#include - -/** -Panic codes - used by asserts in the OS porting layer and the file buffer. - -@see KPanicCategory - -@internalComponent -*/ -enum TSqlitePanic - { - ESqliteOsPanicFsCreationError = 1, - ESqliteOsPanicMutexCreationError = 2, - ESqliteOsPanicInvalidFs = 3, - ESqliteOsPanicNullPls1 = 4, - ESqliteOsPanicNullPls2 = 5, - ESqliteOsPanicNullPls3 = 6, - ESqliteOsPanicNullPls4 = 7, - ESqliteOsPanicAssert = 8, - ESqliteOsPanicMaxKeysExceeded = 9, - ESqliteOsPanicBufferSizeExceeded =10, - ESqliteOsPanicNullKey =11, - ESqliteOsPanicWsdBufSize =12, - ESqliteOsPanicWsdEntryCount =13, - ESqliteOsPanicInternalError =19, - ESqliteOsPanicNullDbFilePtr =20, - ESqliteOsPanicInvalidLock =21, - ESqliteOsPanicInvalidMutexType =22, - ESqliteOsPanicMutexLockCounter =23, - ESqliteOsPanicMutexOwner =24, - // - EFBufPanicCapacity =101, - EFBufPanicNullBuf =102, - EFBufPanicBufLen =103, - EFBufPanicFilePos =104, - EFBufPanicFileSize =105, - EFBufPanicFileHandle =106, - EFBufPanicFsHandle =107, - EFBufPanicMsgHandle =108, - EFBufPanicMsgIndex =109, - EFBufPanicFileNameLen =110, - EFBufPanicNullThis =111, - EFBufPanicDirty =112, - EFBufPanicNextReadFilePos =113, - EFBufPanicNextReadFilePosHits =114, - EFBufPanicFileBlockSize =115, - }; - -//////////////////////////////////////////////////////////////////////////////////////////// - -//All macros in this header will have a non-void definition only if the OST_TRACE_COMPILER_IN_USE macro -//is defined. -//In order to get the traces enabled, the OST_TRACE_COMPILER_IN_USE macro has to be defined in -//OstTraceDefinitions.h file. -//After that, the trace output can be redirected by defining _SQL_RDEBUG_PRINT or specific categories -//of traces can be enabled/disabled. - -//Enable _SQLITE_RDEBUG_PRINT if you want to redirect the OS porting layer and file buffer tracing output via RDebug::Print() -//#define _SQLITE_RDEBUG_PRINT - -//Enable _SQLITE_OS_TRACE_ENABLED if you get the OS porting layer traces compiled in the binary -//#define _SQLITE_OS_TRACE_ENABLED - -//Enable _SQLITE_FBUF_TRACE_ENABLED if you get the file buffer traces compiled in the binary -//#define _SQLITE_FBUF_TRACE_ENABLED - -#ifdef _DEBUG - //Enable _SQLITE_PANIC_TRACE_ENABLED if you want to get more detailed output regarding panics - //#define _SQLITE_PANIC_TRACE_ENABLED -#endif - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -//Wrap every string (file name, file path, etc.) you want to trace, in a __SQLITEPRNSTR()/__SQLITEPRNSTR8() macro. -//There is a difference how RDebug::Print() and OstTraceExt() work. -#if defined _SQLITE_RDEBUG_PRINT - const TInt KSqliteMaxPrnStrLen = 512; - #define __SQLITEPRNSTR(des) &des -#else - #define __SQLITEPRNSTR(des) des -#endif - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** -Set of useful functions to print diagnostic messages on the console when a panic occurs. - -@internalComponent -*/ -class TSqliteUtil - { -public: - static TInt Panic(const TText* aFile, TInt aLine, TInt aPanicCode, TUint aHandle); - -private: - static TPtrC FileName(const TText* aFile); - - }; - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#define __SQLITESTRING(str) _S(str) - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -//__SQLITEPANIC/__SQLITEPANIC2 macro is used for printing out additional information when panic occurs in SQLite OS porting layer and the file buffer: -//source file name, line number, "this" pointer, panic category. -#define __SQLITEPANIC(aPanicCode) TSqliteUtil::Panic(__SQLITESTRING(__FILE__), __LINE__, aPanicCode, (TUint)this) -#define __SQLITEPANIC2(aPanicCode) TSqliteUtil::Panic(__SQLITESTRING(__FILE__), __LINE__, aPanicCode, 0) - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#ifdef _SQLITE_OS_TRACE_ENABLED - #define SQLITE_TRACE_OS(trace) trace -#else - #define SQLITE_TRACE_OS(trace) do {} while(0) -#endif - -#ifdef _SQLITE_FBUF_TRACE_ENABLED - #define SQLITE_TRACE_FBUF(trace) trace -#else - #define SQLITE_TRACE_FBUF(trace) do {} while(0) -#endif - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#endif //SQLITEUTIL_H