--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/perfsrv/memspy/MemSpyClient/inc/memspyapikernelobjectitem.h Fri Sep 17 08:38:31 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 <e32base.h>
+#include <memspy/driver/memspydriverenumerationsshared.h>
+
+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