serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp
changeset 26 5d0ec8b709be
parent 5 989d2f495d90
equal deleted inserted replaced
23:50974a8b132e 26:5d0ec8b709be
   157                 User::Leave(KErrArgument);
   157                 User::Leave(KErrArgument);
   158                 }
   158                 }
   159             }
   159             }
   160             else 
   160             else 
   161             {
   161             {
   162             // Synchronous request not supported for this method.            
   162             // Synchronous request            
   163             User::Leave(KErrNotSupported);
   163             GetListL(aInParamList, aOutParamList, transactionID, aCallBack);
   164             }
   164             }
   165         }//GetList
   165         }//GetList
   166     else if(aCmdName.CompareF(KCmdCancel) == 0)
   166     else if(aCmdName.CompareF(KCmdCancel) == 0)
   167         {
   167         {
   168         // TServiceRegistryUtilities utility class instance
   168         // TServiceRegistryUtilities utility class instance
   463         }
   463         }
   464         }        
   464         }        
   465     minver.Reset();
   465     minver.Reset();
   466     maxver.Reset();  
   466     maxver.Reset();  
   467     serviceName.Reset();
   467     serviceName.Reset();
   468     interfaceName.Reset();     
   468     interfaceName.Reset();    
       
   469     
       
   470     if(aCallBack) 
       
   471     {
   469            
   472            
   470     if(!IsActive())
   473     if(!IsActive())
   471         {
   474         {
   472         User::LeaveIfError(iThread.Create(KThreadName, 
   475         User::LeaveIfError(iThread.Create(KThreadName, 
   473                            ThreadListProvider, 
   476                            ThreadListProvider, 
   485     iThread.Logon(iStatus);      
   488     iThread.Logon(iStatus);      
   486     // append the error code to the outputlist.
   489     // append the error code to the outputlist.
   487     aOutParamList.AppendL(TLiwGenericParam(KErrorCode, 
   490     aOutParamList.AppendL(TLiwGenericParam(KErrorCode, 
   488                           TLiwVariant(TInt32(SErrNone))));
   491                           TLiwVariant(TInt32(SErrNone))));
   489     }
   492     }
   490 
   493     else
       
   494     {
       
   495         GetListProviderL(this);
       
   496         aOutParamList.AppendL(TLiwGenericParam(KErrorCode, 
       
   497                           TLiwVariant(TInt32(SErrNone))));
       
   498         aOutParamList.AppendL(TLiwGenericParam(KReturnValue, 
       
   499                                 TLiwVariant(iIterator)));                             
       
   500         iIterator->DecRef(); 
       
   501         iIterator = NULL;
       
   502     }
       
   503 
       
   504     }
   491 void CServiceInterface :: DoCancel()
   505 void CServiceInterface :: DoCancel()
   492     {
   506     {
   493     iThread.Kill(KErrNone); 
   507     iThread.Kill(KErrNone); 
   494     iThread.Close();
   508     iThread.Close();
   495     }
   509     }