diff -r 0659d0e1a03c -r 94f2adf59133 kernel/eka/debug/crashMonitor/inc/scmconfigitem.h --- a/kernel/eka/debug/crashMonitor/inc/scmconfigitem.h Wed Oct 20 13:58:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "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: -// some utility classes for writing data to flash buffer -// -// WARNING: This file contains some APIs which are internal and are subject -// to change without notice. Such APIs should therefore not be used -// outside the Kernel and Hardware Services package. -// - -/** - @file - @internalTechnology -*/ - -#ifndef __SCMCONFIGITEM_H_INCLUDED__ -#define __SCMCONFIGITEM_H_INCLUDED__ - - -#include -#ifndef __KERNEL_MODE__ -#include -#endif // ! __KERNEL_MODE__ - -#include - - -namespace Debug - { - /** - * This object represents a data type to dump - */ - class TConfigItem : public MByteStreamSerializable - { - public: - enum TSCMDataType - { - EExceptionStacks, /**< Dumps exception stacks */ - EVariantSpecificData, /**< Dumps Variant Specific data */ - ERomInfo, /**< Dumps ROM Build Info */ - ELocks, /**< Dumps Kernel Lock Info */ - EKernelHeap, /**< Dumps the Kernel Heap */ - ETraceData, /**< Dumps any trace data we find */ - EProcessCodeSegs, /**< Dumps System wide Code Segments for each Process */ - EThreadsUsrStack, /**< Dumps System wide User Stacks for each thread */ - EThreadsSvrStack, /**< Dumps System wide Supervisor Stacks for each thread */ - EThreadsUsrRegisters, /**< Dumps User Registers available for every thread in the System */ - EThreadsSvrRegisters, /**< Dumps Supervisor Registers available for every thread in the System */ - EProcessMetaData, /**< Dumps the Process List */ - EThreadsMetaData, /**< Dumps the Thread List */ - ECrashedProcessCodeSegs, /**< Dumps the Code Segments for the process that has crashed */ - ECrashedProcessUsrStacks, /**< Dumps the User stacks for each thread in the process that has crashed */ - ECrashedProcessSvrStacks, /**< Dumps the Supervisor stacks for each thread in the process that has crashed */ - ECrashedProcessMetaData, /**< Dumps Info about the process that has crashed */ - ECrashedThreadMetaData, /**< Dumps Info about the Thread that has crashed */ - ELast /**< End Marker */ - }; - - TConfigItem(); - TConfigItem(TSCMDataType aDataType, TUint8 aPriority, TInt32 aSizeToDump); - - TSCMDataType GetDataType() const; - TInt GetPriority() const; - TInt GetSizeToDump() const; - - // from MByteStreamSerializable - virtual TInt Serialize(TByteStreamWriter& aWriter); - virtual TInt Deserialize(TByteStreamReader& aReader); - virtual TInt GetSize() const; - - void SetSpaceRequired(TUint aSpaceReq); - TUint GetSpaceRequired(); - - void Print() const; - TBool operator == (const TConfigItem& aOther) const; - TConfigItem* Next() const; - -#ifndef __KERNEL_MODE__ - static const TDesC& GetSCMConfigOptionText(TConfigItem::TSCMDataType aType); -#endif // ! __KERNEL_MODE__ - - private: - TSCMDataType iDataType; /** The type this data represents */ - TUint iSizeToDump; /** the size of the data to dump */ - TUint iSpaceRequiredToDump; /** If known, this will contain the size of the data we need to dump */ - TUint8 iPriority; /** Priority of this data (0 is not required) */ - TConfigItem* iNext; /** Next config item in list */ - - friend class SCMConfiguration; - - }; - } - - -#endif // __SCMCONFIGITEM_H_INCLUDED__