btobexprofiles/obexserviceman/obexservicemanserver/src/SrcsServiceManager.cpp
changeset 42 b72428996822
parent 32 19bd632b5100
equal deleted inserted replaced
32:19bd632b5100 42:b72428996822
   226     switch(aTransport)
   226     switch(aTransport)
   227         {
   227         {
   228     case ESrcsTransportBT:
   228     case ESrcsTransportBT:
   229         FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(Bluetooth)"));
   229         FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(Bluetooth)"));
   230         iTransportName.Set(KSrcsTransportBT);
   230         iTransportName.Set(KSrcsTransportBT);
   231         ServiceArray(*iBTConnectionArray, aState);
   231         ServiceArrayL(*iBTConnectionArray, aState);
   232         break;
   232         break;
   233     case ESrcsTransportUSB:
   233     case ESrcsTransportUSB:
   234         FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(USB)"));
   234         FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(USB)"));
   235         iTransportName.Set(KSrcsTransportUSB);
   235         iTransportName.Set(KSrcsTransportUSB);
   236         ServiceArray(*iUSBConnectionArray, aState);
   236         ServiceArrayL(*iUSBConnectionArray, aState);
   237         break;
   237         break;
   238     case ESrcsTransportIrDA:
   238     case ESrcsTransportIrDA:
   239         FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(IrDA)"));
   239         FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(IrDA)"));
   240         iTransportName.Set(KSrcsTransportIrDA);
   240         iTransportName.Set(KSrcsTransportIrDA);
   241         ServiceArray(*iIrDAConnectionArray, aState);
   241         ServiceArrayL(*iIrDAConnectionArray, aState);
   242         break;
   242         break;
   243     default:
   243     default:
   244         FTRACE(FPrint(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL. Transport not supported.")));
   244         FTRACE(FPrint(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL. Transport not supported.")));
   245         User::Leave(KErrNotSupported);              
   245         User::Leave(KErrNotSupported);              
   246         }
   246         }
   250 // ---------------------------------------------------------
   250 // ---------------------------------------------------------
   251 // CSrcsServiceManager
   251 // CSrcsServiceManager
   252 // Method to manage Service arrays
   252 // Method to manage Service arrays
   253 // ---------------------------------------------------------
   253 // ---------------------------------------------------------
   254 //     
   254 //     
   255 void CSrcsServiceManager::ServiceArray(CArrayPtr<CSrcsTransport> &aTransport, TBool aState)
   255 void CSrcsServiceManager::ServiceArrayL(CArrayPtr<CSrcsTransport> &aTransport, TBool aState)
   256     {
   256     {
   257     FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ServiceArray"));
   257     FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ServiceArrayL"));
   258 
   258 
   259     // We start and stop services by aState value
   259     // We start and stop services by aState value
   260     if ( aState ) // trun on service
   260     if ( aState ) // trun on service
   261         {
   261         {
   262 	    FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(Turn ON)"));
   262 	    FLOG(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL(Turn ON)"));
   318             else
   318             else
   319                 {
   319                 {
   320                 FTRACE(FPrint(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL. Transport implementation not found.")));
   320                 FTRACE(FPrint(_L("[SRCS]\tserver\tCSrcsServiceManager: ManageServicesL. Transport implementation not found.")));
   321                 }
   321                 }
   322 
   322 
   323             // Clean up            
   323             // Clean up.  todo (from reviewing): memory leak when some func above leaves.  To be fixed          
   324             infoArrayTranport.ResetAndDestroy();                 
   324             infoArrayTranport.ResetAndDestroy();                 
   325             infoArrayServiceController.ResetAndDestroy();                
   325             infoArrayServiceController.ResetAndDestroy();                
   326             CleanupStack::PopAndDestroy(2); //infoArrayServiceController
   326             CleanupStack::PopAndDestroy(2); //infoArrayServiceController
   327            
   327            
   328             }
   328             }