Hi All,
I have written a MMF controller plugin and I am trying to load it by some application. When I invoke RMMFController open function with uid of controller plugin, My controller plugin "NewL" function is invoked, but control is not returned to application.
Here is my code
++++++++++++++++++++
Application:
{
...
RMMFController AudContrl;
TMMFPrioritySettings pri;
pri.iPriority = 100;
pri.iPref = EMdaPriorityPreferenceTimeAndQuality ;
pri.iState=EMMFStateIdle;
TUid id = TUid::Uid(0x101F1235);
TInt ret = AudContrl.Open(id,pri); << Hangs here
....
}
++++++++++++++++++
Controller Plugin code
const TImplementationProxy ImplementationTable[] =
{
{{0x101F1235}, CcontrollerPlugin::NewL}
};
// Standard ECOM factory code
EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
{
aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
return ImplementationTable;
}
// Member Functions
CcontrollerPlugin* CcontrollerPlugin::NewLC()
{
CcontrollerPlugin* self = new (ELeave) CcontrollerPlugin;
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CcontrollerPlugin* CcontrollerPlugin::NewL()
{
CcontrollerPlugin* self = CcontrollerPlugin::NewLC();
CleanupStack::Pop(self);
return self;
}
CcontrollerPlugin::CcontrollerPlugin()
// note, CBase initialises all member variables to zero
{
}
void CcontrollerPlugin::ConstructL()
{
// second phase constructor, anything that may leave must be constructed here
TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(KConsFullScreen,KConsFullScreen)));
if (createError)
return;
console->Write(_L("<-----Controller Plugin started---->\n"));
return;
}
+++++++++++++++++++++++++++++++++
I am able to see console print command written in controller plugin.
I am trying this code in SDK.
Thanks,
Mahantesh



