1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
27 #include <streamelement.h>
34 Class that represents a process on the target. It is based on CStreamElementBase so
35 it can be streamed between client and server.
36 It is used by the Core Dump server, its clients and the plugins.
37 @see CServerCrashDataSource::GetProcessListL()
39 class CProcessInfo : public CStreamElementBase
44 IMPORT_C static CProcessInfo* NewL( const TUint64 aId,
45 const TDesC & aName );
47 IMPORT_C static CProcessInfo* NewL( const TDesC8 & aStreamData );
49 IMPORT_C ~CProcessInfo();
52 // Methods specific to CProcessInfo
54 IMPORT_C const TUint64 & Id( ) const;
56 IMPORT_C void NameL( const TDesC & aName );
57 IMPORT_C const TDesC & Name() const;
59 IMPORT_C TBool Observed( ) const;
60 IMPORT_C void Observed( TBool aFlag );
63 // Methods required by streaming interface
65 IMPORT_C TInt static MaxSize();
67 IMPORT_C TInt Size() const;
69 // Initializes ’this’ from stream
70 IMPORT_C void InternalizeL( RReadStream & aStream );
72 // Writes ’this’ to the stream
73 IMPORT_C void ExternalizeL( RWriteStream & aStream, CBufFlat* buf );
78 CProcessInfo( const TUint64 aId );
82 void ConstructL( const TDesC & aName );
86 /** Symbian kernel process id */
89 /** Symbian kernel process name */
92 /** Observed by core dump server */
95 /** Externalized size */
98 // These are not internalised/externalised since they are spare
110 List of CProcessInfo object pointers
114 typedef RPointerArray<CProcessInfo> RProcessPointerList;