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

Class CExecutableInfo

Interface access: publishedPartner

class CExecutableInfo : public CStreamElementBase;

Description

Class that represents a target executable file from which a process can launched. It is based on CStreamElementBase so it can be streamed between client and server.

Derivation

    • CBase - No description.
      • CStreamElementBase - Pure virtual base class for streamable classes. Used when a class must be passed...
        • CExecutableInfo - Class that represents a target executable file from which a process can launched...

Members

Defined in CExecutableInfo More...

Inherited from CStreamElementBase:

Construction and destruction


NewL(const TDesC &,const TBool,const TBool)

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C static CExecutableInfo* NewL(const TDesC &aName, const TBool aActivelyDebugged, const TBool aPassivelyDebugged);

Description

Allocates and constructs a CExecutableInfo object.

Parameters

const TDesC &aName

Name of target executable.

const TBool aActivelyDebugged

True if executable if being actively debugged by Debug Security Server.

const TBool aPassivelyDebugged

True if executable if being passively debugged by Debug Security Server.

Return value

CExecutableInfo *

See also:


NewL(const TDesC8 &)

Interface access: publishedPartnerInherited from: CExecutableInfo

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

Description

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

Parameters

const TDesC8 &aStreamData

Descriptor with externalised/streamed object to initialize from.

Return value

CExecutableInfo *

See also:


~CExecutableInfo()

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C ~CExecutableInfo();

Description

Destructor. Deletes name if allocated.


CExecutableInfo(const TBool,const TBool)

Interface access: internal to technologyDefault as private.

private: CExecutableInfo(const TBool aActivelyDebugged, const TBool aPassivelyDebugged);

Description

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

Parameters

const TBool aActivelyDebugged

Whether this executable is being actively debugged according to the Debug Security Server.

const TBool aPassivelyDebugged

Whether this executable is being passively debugged according to the Debug Security Server.

See also:


CExecutableInfo()

Interface access: internal to technologyDefault as private.

private: CExecutableInfo();

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 executable.

Parameters

const TDesC &aName

Executable name

See also:

Member functions


NameL(const TDesC &)

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C void NameL(const TDesC &aName);

Description

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

Parameters

const TDesC &aName

Name of the executable to set to

See also:


Name()const

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C const TDesC& Name() const;

Description

Obtain the kernel executable name.

Return value

const TDesC &


ActivelyDebugged()const

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C TBool ActivelyDebugged() const;

Description

Return ETrue if the executable if being actively debugged by a client of the Debug Security Server.

Return value

TBool


ActivelyDebugged(TBool)

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C void ActivelyDebugged(TBool aActivelyDebugged);

Description

Set whether the executable is being actively debugged by a client of the Debug Security Server.

Parameters

TBool aActivelyDebugged


PassivelyDebugged()const

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C TBool PassivelyDebugged() const;

Description

Return ETrue if the executable if being passively debugged by a client of the Debug Security Server.

Return value

TBool


PassivelyDebugged(TBool)

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C void PassivelyDebugged(TBool aPassivelyDebugged);

Description

Set whether the executable is being passively debugged by a client of the Debug Security Server.

Parameters

TBool aPassivelyDebugged


Observed()const

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C TBool Observed() const;

Description

Returns ETrue if the the Core Dump Server is observing this executable.

Return value

TBool


Observed(TBool)

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C void Observed(TBool aFlag);

Description

Set whether the the Core Dump Server is observing this executable.

Parameters

TBool aFlag


MaxSize()

Interface access: publishedPartnerInherited from: CExecutableInfo

IMPORT_C static TInt MaxSize();

Description

Get the maximum size allowed for this object. This is needed as the object is passed across the Client Server interface.

Return value

TInt


Size()const

Interface access: publishedPartnerInherited from: CExecutableInfo

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 CExecutableInfo::Size()const. Furthermore the << operator adds two bytes to the stream when externalizing a descriptor.

Return value

TInt


InternalizeL(RReadStream &)

Interface access: publishedPartnerInherited from: CExecutableInfo

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 CExecutableInfo object from the core dump server. Any modifications to this method should be synchronised with CExecutableInfo::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: CExecutableInfo

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

Description

Make a streamed representation of this object to a RWriteStream.

This method is typically by the core dump server when contructing a list of CExecutableInfo for a client. Any modifications to this method should be synchronised with CExecutableInfo::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


iName

Interface access: internal to technologyDefault as private.

private: HBufC * iName;

Description

Symbian kernel executable name


iActivelyDebugged

Interface access: internal to technologyDefault as private.

private: TBool iActivelyDebugged;

Description

Actively debugged by client of Debug Security Server


iPassivelyDebugged

Interface access: internal to technologyDefault as private.

private: TBool iPassivelyDebugged;

Description

Passively debugged by client of Debug Security Server


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


iSpare1

Interface access: internal to technologyDefault as private.

private: TUint32 iSpare1;

Description


iSpare2

Interface access: internal to technologyDefault as private.

private: TUint32 iSpare2;

Description


iSpare3

Interface access: internal to technologyDefault as private.

private: TUint32 iSpare3;

Description