#include <processdata.h>
Link against: cdssupport.lib

Class CProcessInfo

Interface access: publishedPartner

class CProcessInfo : public CStreamElementBase;

Description

Class that represents a process on the target. It is based on CStreamElementBase so it can be streamed between client and server. It is used by the Core Dump server, its clients and the plugins.

Derivation

    • CBase - No description.
      • CStreamElementBase - Pure virtual base class for streamable classes. Used when a class must be passed...
        • CProcessInfo - Class that represents a process on the target. It is based on CStreamElementBase...

Members

Defined in CProcessInfo More...

Inherited from CStreamElementBase:

Construction and destruction


NewL(const TUint64,const TDesC &)

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C static CProcessInfo* NewL(const TUint64 aId, const TDesC &aName);

Description

Allocates and constructs a CProcessInfo object.

Parameters

const TUint64 aId

Kernel process id

const TDesC &aName

Kernel process name

Return value

CProcessInfo *

See also:


NewL(const TDesC8 &)

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C static CProcessInfo* NewL(const TDesC8 &aStreamData);

Description

Allocates and constructs a CProcessInfo object from a descriptor. The descriptor contains an externalised version of a CProcessInfo object. This method is typically used to obtain a CProcessInfo object from a descriptor returned by the core dump server.

Parameters

const TDesC8 &aStreamData

Descriptor with externalised/streamed object

Return value

CProcessInfo *

See also:


~CProcessInfo()

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C ~CProcessInfo();

Description

Destructor. Deletes name if allocated.


CProcessInfo(const TUint64)

Interface access: internal to technologyDefault as private.

private: CProcessInfo(const TUint64 aId);

Description

First phase contructor. Sets the size to 0, name to NULL.

Parameters

const TUint64 aId

See also:


CProcessInfo()

Interface access: internal to technologyDefault as private.

private: CProcessInfo();

Description


ConstructL(const TDesC &)

Interface access: internal to technologyDefault as private.

private: void ConstructL(const TDesC &aName);

Description

Second phase constructor initialises the name of the process.

Parameters

const TDesC &aName

Process name

See also:

Member functions


Id()const

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C const TUint64& Id() const;

Description

Obtain the kernel process id.

Return value

const TUint64 &


NameL(const TDesC &)

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C void NameL(const TDesC &aName);

Description

Set the name of the process by deleting, allocating and then copying the parameter.

Parameters

const TDesC &aName

Name of the process to set to

See also:


Name()const

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C const TDesC& Name() const;

Description

Obtain the kernel process name.

Return value

const TDesC &


Observed()const

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C TBool Observed() const;

Description

Returns ETrue if the process is being observed for crashes by the Core Dump Server.

Return value

TBool


Observed(TBool)

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C void Observed(TBool aFlag);

Description

Set whether this process is being observed for crashes by the Core Dump Server.

Parameters

TBool aFlag


MaxSize()

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C static TInt MaxSize();

Description

Return value

TInt


Size()const

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C virtual TInt Size() const;

Description

Gets the size of the object when externalized. The sizeofs used to calculate this must match the operators used in ExternalizeL and InternalizeL. Special attention must be paid to the name. If the object has not been externalized yet then this method returns the maximum that it could take. The name descriptor is compressed when externalized, so it is not its CProcessInfo::Size()const. Furthermore the << operator adds two bytes to the stream when externalizing a descriptor.

Return value

TInt


InternalizeL(RReadStream &)

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C virtual void InternalizeL(RReadStream &aStream);

Pre-Condition

Call Externalise to obtain the stream containing an externalised version of this object.

Description

Initialise this object with the contents of RReadStream aStream The descriptor contains an externalised version of an object. This method is typically used to obtain a CProcessInfo object from the core dump server. Any modifications to this method should be synchronised with CProcessInfo::ExternalizeL(RWriteStream &,CBufFlat *). Also note that the methods used from RReadStream (>> or ReadUint32L) can behave differently, especially for descriptors.

Parameters

RReadStream &aStream

Stream with streamed object

See also:


ExternalizeL(RWriteStream &,CBufFlat *)

Interface access: publishedPartnerInherited from: CProcessInfo

IMPORT_C virtual void ExternalizeL(RWriteStream &aStream, CBufFlat *buf);

Description

Make a streamed representation of this object to RWriteStream aStream.

This method is typically by the core dump server when contructing a list of CProcessInfo for a client. Any modifications to this method should be synchronised with CProcessInfo::InternalizeL(RReadStream &). Also note that the methods used from RWriteStream (>> or WriteUint32L) can behave differently, especially for descriptors.

Post-Condition

The stream contains an externalised version of this object.

Parameters

RWriteStream &aStream

Stream to stream object onto

CBufFlat *buf

Buffer onto the same stream, used to obtain the correct size of the externalised object

See also:

Member data


iId

Interface access: internal to technologyDefault as private.

private: TUint64 iId;

Description

Symbian kernel process id


iName

Interface access: internal to technologyDefault as private.

private: HBufC * iName;

Description

Symbian kernel process name


iObserved

Interface access: internal to technologyDefault as private.

private: TBool iObserved;

Description

Observed by core dump server


iSize

Interface access: internal to technologyDefault as private.

private: TUint iSize;

Description

Externalized size


iSpare0

Interface access: internal to technologyDefault as private.

private: TUint32 iSpare0;

Description


iSpare1

Interface access: internal to technologyDefault as private.

private: TUint32 iSpare1;

Description


iSpare2

Interface access: internal to technologyDefault as private.

private: TUint32 iSpare2;

Description