serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp
changeset 26 5d0ec8b709be
parent 5 989d2f495d90
--- 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);