CFeatureInfoPlugin Class Reference

class CFeatureInfoPlugin : public CBase

Feature Manager ECOM Plugin interface class to be implemented by adaptation. As it is an adaptation interface implementations are only loaded from ROM.

Implementations of this interface are created by the Feature Manager server during start up in it's main thread where an Active Scheduler is installed. Implementations must perform minmial work in ProcessCommandL() and return. Plugin work and calls to ProcessResponseL() must be performed asynchronsly in an active object callback running in the server's main thread.

For the command Ids and types used with this interface see definitions in the FeatureInfoCommand namespace.

MFeatureInfoPluginCallback KFeatureInfoPluginInterfaceUid

Inherits from

Constructor & Destructor Documentation

~CFeatureInfoPlugin()

~CFeatureInfoPlugin()[inline, virtual]

Destructor

Member Functions Documentation

NewL(TUid, MFeatureInfoPluginCallback &)

CFeatureInfoPlugin *NewL(TUidaImplementationUid,
MFeatureInfoPluginCallback &aResponseCallback
)[static, inline]

Constructor method for instance. Uses ECom to find correct instance.

Parameters

TUid aImplementationUidUID of the interface implementation to instantiate.
MFeatureInfoPluginCallback & aResponseCallbackReference to plugin callback handler.

ProcessCommandL(const FeatureInfoCommand::TFeatureInfoCmd, const TUint8, TDesC8 &)

voidProcessCommandL(const FeatureInfoCommand::TFeatureInfoCmdaCommandId,
const TUint8aTransId,
TDesC8 &aData
)[pure virtual]

Method to invoke a particular command in the plugin. Response to method is returned via separate ProcessResponseL call. Call to ProcessResponseL is done after the call to ProcessCommandL returns. Leaves with error code KErrNotSupported if command ID is not supported by the plug-in. If ProcessCommandL leaves, no corresponding ProcessResponseL is expected.

leave
KErrNotSupported aCommandId not supported by plug-in.

Parameters

const FeatureInfoCommand::TFeatureInfoCmd aCommandIdCommand ID
const TUint8 aTransIdTransaction ID
TDesC8 & aDataData associated with command. Data package contents are defined by command. Some commands require no data and pass empty buffer as aData.

Member Data Documentation

TUid iDestructorIDKey

TUid iDestructorIDKey[private]

Destructor identifier to be used with ECom framework.

MFeatureInfoPluginCallback * iResponseCallback

MFeatureInfoPluginCallback *iResponseCallback[protected]

Callback pointer to be used with responses to commands. This pointer is not owned by this class.