sl@0: // Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #include sl@0: #include "TextBasePanic.h" sl@0: //#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS sl@0: //#include sl@0: //#include sl@0: //#endif //SYMBIAN_ENABLE_SPLIT_HEADERS sl@0: sl@0: sl@0: // Global panic function sl@0: sl@0: _LIT(KTextBasePanicCategory,"TextBase"); sl@0: sl@0: void TextBasePanic(TTextBasePanic aError) sl@0: { sl@0: User::Panic(KTextBasePanicCategory,aError); sl@0: } sl@0: sl@0: _LIT(KTextBasePanicDesc1, "TextBase internal Panic %S, in file %S @ line %i"); sl@0: _LIT(KTextBasePanicDesc2, "Assert condition = \"%S\""); sl@0: _LIT(KTextBasePanicDesc3, "TextBase internal %S, in file %S @ line %i"); sl@0: sl@0: void TextBasePanicWithCondAndInfo(TTextBasePanic aError, const TDesC& aCondition, const TDesC& aFileName, const TDesC& aPanicName, TInt aLine) sl@0: { sl@0: TBuf<256> buf; sl@0: buf.Format(KTextBasePanicDesc1, &aPanicName, &aFileName, aLine); sl@0: RDebug::Print(buf); sl@0: sl@0: buf.Format(KTextBasePanicDesc2, &aCondition); sl@0: RDebug::Print(buf); sl@0: TextBasePanic(aError); sl@0: } sl@0: sl@0: void TextBasePanicLogWithInfo(const TDesC& aCommand, const TDesC& aCondition, const TDesC& aFileName, TInt aLine) sl@0: { sl@0: TBuf<256> buf; sl@0: buf.Format(KTextBasePanicDesc3, &aCommand, &aFileName, aLine); sl@0: RDebug::Print(buf); sl@0: sl@0: buf.Format(KTextBasePanicDesc2, &aCondition); sl@0: RDebug::Print(buf); sl@0: }