/**************************************************************************** ** ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage ** This file contains pre-release code and may not be distributed. ** You may use this file in accordance with the terms and conditions ** contained in the Technology Preview License Agreement accompanying ** this package. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional ** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@nokia.com. ** ** ** ** ** ** ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef __E32_COMMON_H__ #define __E32_COMMON_H__ #ifdef __KERNEL_MODE__ #include #include #include "u32std.h" #else #include #include #include #include #include #include #include // backport of Symbian^4 allocator to Symbian^3 SDK does not contain u32exec.h //#include #endif GLREF_C void Panic(TCdtPanic aPanic); GLDEF_C void PanicBadArrayIndex(); GLREF_C TInt __DoConvertNum(TUint, TRadix, TUint, TUint8*&); GLREF_C TInt __DoConvertNum(Uint64, TRadix, TUint, TUint8*&); #ifdef __KERNEL_MODE__ GLREF_C void KernHeapFault(TCdtPanic aPanic); GLREF_C void KHeapCheckThreadState(); TInt StringLength(const TUint16* aPtr); TInt StringLength(const TUint8* aPtr); #define STD_CLASS Kern #define STRING_LENGTH(s) StringLength(s) #define STRING_LENGTH_16(s) StringLength(s) #define PANIC_CURRENT_THREAD(c,r) Kern::PanicCurrentThread(c, r) #define __KERNEL_CHECK_RADIX(r) __ASSERT_ALWAYS(((r)==EDecimal)||((r)==EHex),Panic(EInvalidRadix)) #define APPEND_BUF_SIZE 10 #define APPEND_BUF_SIZE_64 20 #define HEAP_PANIC(r) Kern::Printf("HEAP CORRUPTED %s %d", __FILE__, __LINE__), RHeapK::Fault(r) #define GET_PAGE_SIZE(x) x = M::PageSizeInBytes() #define DIVISION_BY_ZERO() FAULT() #ifdef _DEBUG #define __CHECK_THREAD_STATE RHeapK::CheckThreadState() #else #define __CHECK_THREAD_STATE #endif #else #define STD_CLASS User #define STRING_LENGTH(s) User::StringLength(s) #define STRING_LENGTH_16(s) User::StringLength(s) #define PANIC_CURRENT_THREAD(c,r) User::Panic(c, r) #define MEM_COMPARE_16 Mem::Compare #define __KERNEL_CHECK_RADIX(r) #define APPEND_BUF_SIZE 32 #define APPEND_BUF_SIZE_64 64 #define HEAP_PANIC(r) RDebug::Printf("HEAP CORRUPTED %s %d", __FILE__, __LINE__), Panic(r) #define GET_PAGE_SIZE(x) UserHal::PageSizeInBytes(x) #define DIVISION_BY_ZERO() User::RaiseException(EExcIntegerDivideByZero) #define __CHECK_THREAD_STATE #endif // __KERNEL_MODE__ #endif