--- a/omadrm/drmhelper/src/drmhelper.cpp Fri Jun 11 15:44:45 2010 +0300
+++ b/omadrm/drmhelper/src/drmhelper.cpp Thu Jun 24 12:39:58 2010 +0300
@@ -59,12 +59,12 @@
#include <utf.h>
-#include <SchemeHandler.h> // for handling URLs
#include "DRMHelperServer.h"
#include "ConsumeData.h"
#include "DRMTypes.h"
#include "DRMClockClient.h"
#include "DRMPointerArray.h"
+#include <drmbrowserlauncher.h>
#include <SecondaryDisplay/DRMHelperSecondaryDisplay.h> // for secondary display support
#include <AknMediatorFacade.h>
@@ -862,7 +862,6 @@
FeatureManager::UnInitializeLib();
- delete iSchemeHandler;
delete iEventProvider;
}
@@ -5549,25 +5548,14 @@
i = 0;
}
- CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptr.Mid( i ) ) );
- CleanupStack::PushL( schemeHandler );
- if ( iUseCoeEnv )
- {
- // launch embedded
- schemeHandler->Observer( this );
- schemeHandler->HandleUrlEmbeddedL();
- CleanupStack::Pop( schemeHandler );
- iSchemeHandler = schemeHandler;
- iWait.Start();
- }
- else
- {
- // no CoeEnv, launch standalone with scheme app
- schemeHandler->HandleUrlStandaloneL();
- CleanupStack::PopAndDestroy( schemeHandler );
- }
- schemeHandler = NULL;
-
+ // convert given URL to QUrl format
+ DRM::CDrmBrowserLauncher* browserLauncher = DRM::CDrmBrowserLauncher::NewLC();
+
+ browserLauncher->LaunchUrlL(ptr);
+
+ CleanupStack::PopAndDestroy(); // browserLauncher
+
+
// delete newUrl if needed
if ( newUrl )
{
@@ -7048,17 +7036,11 @@
//
void CDRMHelper::HandleServerAppExit( TInt aReason )
{
- if ( aReason == EAknCmdExit && !iSchemeHandler )
+ if ( aReason == EAknCmdExit )
{
CAknEnv::RunAppShutter();
}
- if ( iSchemeHandler )
- {
- delete iSchemeHandler;
- iSchemeHandler = NULL;
- }
-
if ( iWait.IsStarted() )
{
iWait.AsyncStop();