omadrm/drmhelper/src/drmhelper.cpp
changeset 49 69d8e75812b7
parent 31 908beac81e0a
child 84 b09186059647
equal deleted inserted replaced
48:c68061d56109 49:69d8e75812b7
    57 
    57 
    58 #include <AknLaunchAppService.h> // for launching RMUI embedded
    58 #include <AknLaunchAppService.h> // for launching RMUI embedded
    59 
    59 
    60 #include <utf.h>
    60 #include <utf.h>
    61 
    61 
    62 #include <SchemeHandler.h> // for handling URLs
       
    63 #include "DRMHelperServer.h"
    62 #include "DRMHelperServer.h"
    64 #include "ConsumeData.h"
    63 #include "ConsumeData.h"
    65 #include "DRMTypes.h"
    64 #include "DRMTypes.h"
    66 #include "DRMClockClient.h"
    65 #include "DRMClockClient.h"
    67 #include "DRMPointerArray.h"
    66 #include "DRMPointerArray.h"
       
    67 #include <drmbrowserlauncher.h>
    68 
    68 
    69 #include <SecondaryDisplay/DRMHelperSecondaryDisplay.h> // for secondary display support
    69 #include <SecondaryDisplay/DRMHelperSecondaryDisplay.h> // for secondary display support
    70 #include <AknMediatorFacade.h>
    70 #include <AknMediatorFacade.h>
    71 #include <MediatorEventProvider.h>
    71 #include <MediatorEventProvider.h>
    72 #include <MediatorDomainUIDs.h>
    72 #include <MediatorDomainUIDs.h>
   860         iFs.Close();
   860         iFs.Close();
   861         }
   861         }
   862 
   862 
   863     FeatureManager::UnInitializeLib();
   863     FeatureManager::UnInitializeLib();
   864 
   864 
   865     delete iSchemeHandler;
       
   866     delete iEventProvider;
   865     delete iEventProvider;
   867     }
   866     }
   868 
   867 
   869 #pragma mark -
   868 #pragma mark -
   870 
   869 
  5547             newUrl->Des().Append( ptr.Mid( i ) );
  5546             newUrl->Des().Append( ptr.Mid( i ) );
  5548             ptr.Set( *newUrl );
  5547             ptr.Set( *newUrl );
  5549             i = 0;
  5548             i = 0;
  5550             }
  5549             }
  5551 
  5550 
  5552         CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptr.Mid( i ) ) );
  5551 				// convert given URL to QUrl format
  5553         CleanupStack::PushL( schemeHandler );
  5552 				DRM::CDrmBrowserLauncher* browserLauncher = DRM::CDrmBrowserLauncher::NewLC();
  5554         if ( iUseCoeEnv )
  5553     	
  5555             {
  5554 		    browserLauncher->LaunchUrlL(ptr);
  5556             // launch embedded
  5555     
  5557             schemeHandler->Observer( this );
  5556     		CleanupStack::PopAndDestroy(); // browserLauncher
  5558             schemeHandler->HandleUrlEmbeddedL();
  5557 
  5559             CleanupStack::Pop( schemeHandler );
  5558         
  5560             iSchemeHandler = schemeHandler;
       
  5561             iWait.Start();
       
  5562             }
       
  5563         else
       
  5564             {
       
  5565             // no CoeEnv, launch standalone with scheme app
       
  5566             schemeHandler->HandleUrlStandaloneL();
       
  5567             CleanupStack::PopAndDestroy( schemeHandler );
       
  5568             }
       
  5569         schemeHandler = NULL;
       
  5570 
       
  5571         // delete newUrl if needed
  5559         // delete newUrl if needed
  5572         if ( newUrl )
  5560         if ( newUrl )
  5573             {
  5561             {
  5574             CleanupStack::PopAndDestroy( newUrl );
  5562             CleanupStack::PopAndDestroy( newUrl );
  5575             }
  5563             }
  7046 // CDRMHelper::HandleServerAppExit
  7034 // CDRMHelper::HandleServerAppExit
  7047 // -----------------------------------------------------------------------------
  7035 // -----------------------------------------------------------------------------
  7048 //
  7036 //
  7049 void CDRMHelper::HandleServerAppExit( TInt aReason )
  7037 void CDRMHelper::HandleServerAppExit( TInt aReason )
  7050     {
  7038     {
  7051     if ( aReason == EAknCmdExit && !iSchemeHandler )
  7039     if ( aReason == EAknCmdExit )
  7052         {
  7040         {
  7053         CAknEnv::RunAppShutter();
  7041         CAknEnv::RunAppShutter();
  7054         }
       
  7055 
       
  7056     if ( iSchemeHandler )
       
  7057         {
       
  7058         delete iSchemeHandler;
       
  7059         iSchemeHandler = NULL;
       
  7060         }
  7042         }
  7061 
  7043 
  7062     if ( iWait.IsStarted() )
  7044     if ( iWait.IsStarted() )
  7063         {
  7045         {
  7064         iWait.AsyncStop();
  7046         iWait.AsyncStop();