diff -r 07b41fa8d1dd -r ca8a1b6995f6 memspy/MemSpyClient/inc/memspyapikernelobjectitem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memspy/MemSpyClient/inc/memspyapikernelobjectitem.h Tue Aug 31 16:45:49 2010 +0300 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2009 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: +* Contains the declaration of CMemSpyProcess class +*/ + +#ifndef MEMSPYAPIKERNELOBJECTITEM_H +#define MEMSPYAPIKERNELOBJECTITEM_H + +// System includes +#include +#include + +class TMemSpyDriverHandleInfoGeneric; +//class TMemSpyDriverContainerType; +//class TMemSpyDriverTimerType; +//class TMemSpyDriverTimerState; + +NONSHARABLE_CLASS( CMemSpyApiKernelObjectItem ) + { +public: + IMPORT_C ~CMemSpyApiKernelObjectItem(); + + static CMemSpyApiKernelObjectItem* NewL(const TMemSpyDriverHandleInfoGeneric& aData); + + static CMemSpyApiKernelObjectItem* NewLC(const TMemSpyDriverHandleInfoGeneric& aData); + +public: + + IMPORT_C const TDesC8& Name() const; + + IMPORT_C TAny* Handle() const; + + IMPORT_C TMemSpyDriverContainerType Type() const; + + // For Process, thread, chunk (owning process id), server (owning thread id) + IMPORT_C TInt Id() const; + + // For Chunk, Library + IMPORT_C TUint32 Size() const; + + // For Semaphore, Mutex, Server + IMPORT_C TInt Count() const; + + // For Mutex + IMPORT_C TInt WaitCount() const; + + // For Server, Session + IMPORT_C TIpcSessionType SessionType() const; + + // For Timer + IMPORT_C TMemSpyDriverTimerType TimerType() const; + IMPORT_C TMemSpyDriverTimerState TimerState() const; + + // For Logical channel + IMPORT_C TInt OpenChannels(); + + // For most of the object types + IMPORT_C const TDesC8& NameDetail() const; // Name + IMPORT_C TInt AccessCount() const; + IMPORT_C TInt UniqueID() const; + IMPORT_C TUint Protection() const; + IMPORT_C TUint8* AddressOfKernelOwner(); + IMPORT_C TInt Priority() const; + IMPORT_C TUint8* AddressOfOwningProcess(); + IMPORT_C TUint CreatorId() const; + IMPORT_C TUint SecurityZone() const; + IMPORT_C TInt Attributes() const; + IMPORT_C TUint8* AddressOfDataBssStackChunk(); + + // For Server, Session + IMPORT_C TUint8* AddressOfOwningThread(); + IMPORT_C TUint8* AddressOfServer(); + IMPORT_C TUint16 TotalAccessCount() const; + IMPORT_C TUint8 SvrSessionType() const; + IMPORT_C TInt MsgCount() const; + IMPORT_C TInt MsgLimit() const; + + // For chunk + IMPORT_C TInt MaxSize() const; + IMPORT_C TInt Bottom() const; + IMPORT_C TInt Top() const; + IMPORT_C TInt StartPos() const; + IMPORT_C TUint ControllingOwner() const; + IMPORT_C TUint Restrictions() const; + IMPORT_C TUint MapAttr() const; + IMPORT_C TUint ChunkType() const; + IMPORT_C const TDesC8& NameOfOwner() const; // chunk, server + + // For library + IMPORT_C TInt MapCount() const; + IMPORT_C TUint8 State() const; + IMPORT_C TUint8* AddressOfCodeSeg(); + + // Semaphore, mutex, condvar + IMPORT_C TUint8 Resetting() const; + IMPORT_C TUint8 Order() const; + + // For Logical/Physical device + IMPORT_C TVersion Version() const; + IMPORT_C TUint ParseMask() const; + IMPORT_C TUint UnitsMask() const; + + // For change notifier + IMPORT_C TUint Changes() const; + +private: + CMemSpyApiKernelObjectItem(); + + void ConstructL(const TMemSpyDriverHandleInfoGeneric& aData); + +private: + TMemSpyDriverHandleInfoGeneric *iItem; +}; + + +#endif // MEMSPYAPIKERNELOBJECTITEM_H