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

Class CPluginInfo

Interface access: publishedPartner

class CPluginInfo : public CStreamElementBase;

Description

Class that represents a ECOM plugin instance. 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...
        • CPluginInfo - Class that represents a ECOM plugin instance. It is based on CStreamElementBase ...

Members

Defined in CPluginInfo More...

Inherited from CStreamElementBase:

Construction and destruction


NewL(const TDesC &,const TInt,const TUint,const TPluginRequest::TPluginType)

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C static CPluginInfo* NewL(const TDesC &aName, const TInt aUid, const TUint aVersion, const TPluginRequest::TPluginType aType);

Description

Allocates and constructs a CPluginInfo object.

Parameters

const TDesC &aName

const TInt aUid

const TUint aVersion

const TPluginRequest::TPluginType aType

Return value

CPluginInfo *


NewL(const TDesC8 &)

Interface access: publishedPartnerInherited from: CPluginInfo

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

Description

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

Parameters

const TDesC8 &aStreamData

Descriptor with externalised/streamed object to initialize from.

Return value

CPluginInfo *

See also:


~CPluginInfo()

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C ~CPluginInfo();

Description

Destructor. Deletes name if allocated.


CPluginInfo(const TInt,const TUint,const TPluginRequest::TPluginType)

Interface access: internal to technologyDefault as private.

private: CPluginInfo(const TInt aUid, const TUint aVersion, const TPluginRequest::TPluginType aType);

Description

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

Parameters

const TInt aUid

const TUint aVersion

const TPluginRequest::TPluginType aType

See also:


CPluginInfo()

Interface access: internal to technologyDefault as private.

private: CPluginInfo();

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

Plugin name

See also:

Member functions


NameL(const TDesC &)

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C void NameL(const TDesC &aName);

Description

Set the name of the plugin 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: CPluginInfo

IMPORT_C const TDesC& Name() const;

Description

Obtain the kernel executable name.

Return value

const TDesC &


Uid(const TInt)

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C void Uid(const TInt aUid);

Description

Parameters

const TInt aUid


Uid()const

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C TInt Uid() const;

Description

Return value

TInt


Version(TUint)

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C void Version(TUint aVersion);

Description

Parameters

TUint aVersion


Version()const

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C TUint Version() const;

Description

Return value

TUint


Pair(TUint)

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C void Pair(TUint aIndex);

Description

Parameters

TUint aIndex


Pair()const

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C TUint Pair() const;

Description

Return value

TUint


Type(TPluginRequest::TPluginType)

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C void Type(TPluginRequest::TPluginType aType);

Description

Parameters

TPluginRequest::TPluginType aType


Type()const

Interface access: publishedPartnerInherited from: CPluginInfo

IMPORT_C TPluginRequest::TPluginType Type() const;

Description

Return value

TPluginRequest::TPluginType


MaxSize()

Interface access: publishedPartnerInherited from: CPluginInfo

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: CPluginInfo

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

Return value

TInt


InternalizeL(RReadStream &)

Interface access: publishedPartnerInherited from: CPluginInfo

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

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 CPluginInfo for a client. Any modifications to this method should be synchronised with CPluginInfo::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

Plugin name


iUid

Interface access: internal to technologyDefault as private.

private: TInt iUid;

Description

Plugin UID


iVersion

Interface access: internal to technologyDefault as private.

private: TUint iVersion;

Description

Plugin version


iType

Interface access: internal to technologyDefault as private.

private: TPluginRequest::TPluginType iType;

Description

Plugin type : from TPluginRequest::TPluginType


iPair

Interface access: internal to technologyDefault as private.

private: TUint iPair;

Description

Index to paired plugin


iSize

Interface access: internal to technologyDefault as private.

private: TUint iSize;

Description

Externalized size


iSpare1

Interface access: internal to technology

private: TUint32 iSpare1;

Description

Reserved for future use


iSpare2

Interface access: internal to technology

private: TUint32 iSpare2;

Description