--- a/serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp Tue Nov 24 08:56:33 2009 +0200
+++ b/serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp Thu Dec 17 09:09:50 2009 +0200
@@ -159,8 +159,8 @@
}
else
{
- // Synchronous request not supported for this method.
- User::Leave(KErrNotSupported);
+ // Synchronous request
+ GetListL(aInParamList, aOutParamList, transactionID, aCallBack);
}
}//GetList
else if(aCmdName.CompareF(KCmdCancel) == 0)
@@ -465,7 +465,10 @@
minver.Reset();
maxver.Reset();
serviceName.Reset();
- interfaceName.Reset();
+ interfaceName.Reset();
+
+ if(aCallBack)
+ {
if(!IsActive())
{
@@ -487,7 +490,18 @@
aOutParamList.AppendL(TLiwGenericParam(KErrorCode,
TLiwVariant(TInt32(SErrNone))));
}
+ else
+ {
+ GetListProviderL(this);
+ aOutParamList.AppendL(TLiwGenericParam(KErrorCode,
+ TLiwVariant(TInt32(SErrNone))));
+ aOutParamList.AppendL(TLiwGenericParam(KReturnValue,
+ TLiwVariant(iIterator)));
+ iIterator->DecRef();
+ iIterator = NULL;
+ }
+ }
void CServiceInterface :: DoCancel()
{
iThread.Kill(KErrNone);