--- a/browserplugins/browseraudiovideoplugin/inc/BavpControllerVideo.h Mon Mar 15 12:40:52 2010 +0200
+++ b/browserplugins/browseraudiovideoplugin/inc/BavpControllerVideo.h Wed Mar 31 21:35:49 2010 +0300
@@ -20,7 +20,13 @@
#define BAVPCONTROLLERVIDEO_H
// INCLUDES
+#include <browser_platform_variant.hrh>
+
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+#include <VideoPlayer2.h>
+#else
#include <VideoPlayer.h>
+#endif
#include "BavpController.h"
// FORWARD DECLARATIONS
@@ -385,19 +391,39 @@
TBool NoScreenSaverMode();
void SetDefaultAspectRatioL();
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ /**
+ * Handles a window rect update timer event where the timer completes the KWindowChangeUpdateTimeout
+ * with the system clock
+ * @since S60 v5.2
+ * @param none
+ * @return void
+ */
+ void UpdateWindowSize();
+#endif
private: // Data
// Used to call MMF for video functionality
- CVideoPlayerUtility* iVideoPlayer;
-
- // Active object for display update
- CIdle* iDisplayUpdater;
-
- // The full screen view
- CBavpViewFullScreen* iBavpViewFullScreen;
- //heart beat progress
- CHeartbeat* iBackLightUpdater;
- TRect iNormalScreenRect;
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ /**
+ * MMF Client API has updated with new methods to control video display
+ *windows and video picture positioning to produce a new version of the API,
+ *CVideoPlayerUtility2. The new API is the preferred way to play video on graphics
+ *surfaces, and will support new features such as more flexible window positioning.
+ */
+ CVideoPlayerUtility2* iVideoPlayer;
+#else
+ CVideoPlayerUtility* iVideoPlayer;
+#endif
+ // Active object for display update
+ CIdle* iDisplayUpdater;
+
+ // The full screen view
+ CBavpViewFullScreen* iBavpViewFullScreen;
+ //heart beat progress
+ CHeartbeat* iBackLightUpdater;
+ TRect iNormalScreenRect;
+ RWindow* iActiveWindow;
};
#endif // CBAVPCONTROLLERVIDEO_H
--- a/browserplugins/browseraudiovideoplugin/src/BavpControllerVideo.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserplugins/browseraudiovideoplugin/src/BavpControllerVideo.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -74,6 +74,9 @@
if ( iVideoPlayer )
{
iVideoPlayer->Close();
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ iVideoPlayer->RemoveDisplayWindow(iBavpView->WindowInst());
+#endif
delete iVideoPlayer;
}
@@ -101,7 +104,7 @@
// might leave.
// -----------------------------------------------------------------------------
CBavpControllerVideo::CBavpControllerVideo( MBavpView* aView, TUint aAccessPtId )
- : CBavpController( aView, aAccessPtId )
+ : CBavpController( aView, aAccessPtId ), iActiveWindow(NULL)
{
}
@@ -187,6 +190,27 @@
{
iVideoPlayer->SetPositionL( iClipInfo->iPosition );
}
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ TRect rect( iBavpView->CoeControl().Rect() );
+ CEikonEnv* eikon = CEikonEnv::Static();
+ RWsSession& ws = eikon->WsSession();
+ CWsScreenDevice* screenDevice = eikon->ScreenDevice();
+ // Clip rect manipulation.
+ // Calculate the rect for display, including title and status pane
+ TRect clipRect = GetClipRect( rect );
+ TRAPD(errAdd, iVideoPlayer->AddDisplayWindowL(CCoeEnv::Static()->WsSession(),
+ *screenDevice,
+ iBavpView->WindowInst(),
+ rect,
+ clipRect));
+ TRAPD(errScale, iVideoPlayer->SetAutoScaleL(iBavpView->WindowInst(), EAutoScaleBestFit));
+ if( ( errAdd != KErrNone ) && (iActiveWindow != &iBavpView->WindowInst()) )
+ {
+ iActiveWindow = &iBavpView->WindowInst();
+ }
+ Log( EFalse, _L("CBavpControllerVideo::InitVideoPlayerL() AddDisplayWindowL %d"), errAdd );
+ Log( EFalse, _L("CBavpControllerVideo::InitVideoPlayerL() SetAutoScaleL %d"), errScale );
+#endif
}
// -----------------------------------------------------------------------------
@@ -211,6 +235,9 @@
if ( iVideoPlayer )
{
iVideoPlayer->Close();
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ iVideoPlayer->RemoveDisplayWindow(iBavpView->WindowInst());
+#endif
delete iVideoPlayer;
iVideoPlayer = NULL;
}
@@ -231,11 +258,16 @@
Log( EFalse, _L("InitVideoPlayerL() - calling CVideoPlayerUtility::NewL") );
// Initialize the videoplayer
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ iVideoPlayer = CVideoPlayerUtility2::NewL( *this, EMdaPriorityNormal,
+ EMdaPriorityPreferenceNone);
+#else
iVideoPlayer = CVideoPlayerUtility::NewL( *this, EMdaPriorityNormal,
EMdaPriorityPreferenceNone,
ws, *screenDevice,
iBavpView->WindowInst(), rect,
clipRect);
+#endif
// Register for loading notification
iVideoPlayer->RegisterForVideoLoadingNotification( *this );
@@ -276,6 +308,9 @@
if ( iVideoPlayer )
{
iVideoPlayer->Close();
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ iVideoPlayer->RemoveDisplayWindow(iBavpView->WindowInst());
+#endif
delete iVideoPlayer;
iVideoPlayer = NULL;
}
@@ -297,7 +332,12 @@
// Rotate only if screen rect height is greater than its width
if ( screenRect.Height() > screenRect.Width() )
{
- TRAP_IGNORE( iVideoPlayer->SetRotationL( EVideoRotationClockwise90 ) );
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ TRAP_IGNORE( iVideoPlayer->SetRotationL(iBavpView->WindowInst(), EVideoRotationClockwise90 ) );
+#else
+ TRAP_IGNORE( iVideoPlayer->SetRotationL( EVideoRotationClockwise90 ) );
+#endif
+
}
}
@@ -310,8 +350,13 @@
Log( EFalse, _L("CBavpControllerVideo::RevertToFullScreenL()"));
CBavpPluginEcomMain* npm = (CBavpPluginEcomMain*)Dll::Tls();
bool fullscreen = true;
-
- iVideoPlayer->StopDirectScreenAccessL();
+
+ //This method is not supported when using CVideoPlayerUtility2, and will
+ //always leave with KErrNotSupported. instead of variating for new player
+ //we are ignoring the Leave
+ TRAP_IGNORE( iVideoPlayer->StopDirectScreenAccessL() );
+
+
iClipInfo->iInFullScreenMode = ETrue;
npm->Funcs()->setvalue(iBavpView->bavPlugin()->getNPP(),
@@ -331,12 +376,21 @@
CCoeControl* parentView = iBavpView->CoeControl().Parent();
parentView->SetRect(screenRect);
iBavpView->CoeControl().SetExtent(TPoint(0,0), screenRect.Size());
-
- iVideoPlayer->SetDisplayWindowL( ws, *screenDevice,
+
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+
+ iVideoPlayer->RemoveDisplayWindow(iBavpView->WindowInst());
+ TRAPD(errAdd, iVideoPlayer->AddDisplayWindowL(ws,*screenDevice,iBavpView->WindowInst(), screenRect, screenRect));
+ TRAPD(errScale, iVideoPlayer->SetAutoScaleL(iBavpView->WindowInst(), EAutoScaleBestFit));
+ Log( EFalse, _L("CBavpControllerVideo::RevertToFullScreenL() errAdd %d"), errAdd);
+ Log( EFalse, _L("CBavpControllerVideo::RevertToFullScreenL() errScale %d"), errScale);
+#else
+ iVideoPlayer->SetDisplayWindowL( ws, *screenDevice,
iBavpView->WindowInst(),
screenRect, screenRect );
RotateScreen90();
+#endif
}
// -----------------------------------------------------------------------------
@@ -352,7 +406,10 @@
CBavpPluginEcomMain* npm = (CBavpPluginEcomMain*)Dll::Tls();
bool fullscreen = false;
- iVideoPlayer->StopDirectScreenAccessL();
+ //This method is not supported when using CVideoPlayerUtility2, and will
+ //always leave with KErrNotSupported. instead of variating for new player
+ //we are ignoring the Leave
+ TRAP_IGNORE( iVideoPlayer->StopDirectScreenAccessL() );
npm->Funcs()->setvalue(iBavpView->bavPlugin()->getNPP(),
NPPVpluginFullScreenBool,
@@ -364,7 +421,12 @@
iClipInfo->iInFullScreenMode = EFalse;
RefreshRectCoordinatesL();
- iVideoPlayer->SetRotationL( EVideoRotationNone );
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ iVideoPlayer->SetRotationL(iBavpView->WindowInst(), EVideoRotationNone );
+#else
+ iVideoPlayer->SetRotationL( EVideoRotationNone );
+#endif
+
iBavpView->ControllerStateChangedL();
}
@@ -397,21 +459,24 @@
}
if ( iVideoPlayer )
{
+
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+ UpdateWindowSize();
+#else
TRect rect( iBavpView->CoeControl().Rect() );
TRect wr(iBavpView->WindowRect()); //can have negative coordinates
//if video scrolled out of viewport
- // Windows' absolute position, relative to the current screen
+ CEikonEnv* eikon = CEikonEnv::Static();
+ RWsSession& ws = eikon->WsSession();
+ CWsScreenDevice* screenDevice = eikon->ScreenDevice();
+
+ // Windows' absolute position, relative to the current screen
TPoint pt = iBavpView->WindowInst().AbsPosition();
rect.Move( pt.iX, pt.iY );
wr.Move( pt.iX, pt.iY );
-
- CEikonEnv* eikon = CEikonEnv::Static();
- RWsSession& ws = eikon->WsSession();
- CWsScreenDevice* screenDevice = eikon->ScreenDevice();
-
- // Reset clipRect
+ // Reset clipRect
TRect clipRect = rect;
clipRect = GetClipRect( rect );
@@ -427,11 +492,14 @@
iBavpView->WindowInst(),
wr, clipRect );
);
- if( iCurrentState == EBavpPaused || iCurrentState == EBavpStopped || iCurrentState == EBavpPlayComplete )
- {
- iVideoPlayer->RefreshFrameL();
- }
- }
+
+#endif
+ if( iCurrentState == EBavpPaused || iCurrentState == EBavpStopped || iCurrentState == EBavpPlayComplete )
+ {
+ iVideoPlayer->RefreshFrameL();
+ }
+
+ } //end of iVideoPlayer
}
// -----------------------------------------------------------------------------
@@ -1373,4 +1441,47 @@
}
return ret;
}
+#ifdef BRDO_VIDEOPLAYER2_ENABLED_FF
+// -----------------------------------------------------------------------------
+// CBavpControllerVideo::UpdateWindowSize
+// Refreshing the window co-ordinates.
+// -----------------------------------------------------------------------------
+/*
+ * MMF Client API has updated with new methods to control video display
+ * Windows and video picture positioning to produce a new version of the API,
+ * CVideoPlayerUtility2. The new API is the preferred way to play video on graphics
+ * surfaces, and will support new features such as more flexible window positioning.
+ * Updatewindow has made in separate method so that in future, timer can be
+ * implemented for redusing the call to update window.
+ */
+void CBavpControllerVideo::UpdateWindowSize()
+ {
+ TRect rect( iBavpView->CoeControl().Rect() );
+ TRect wr(iBavpView->WindowRect()); //can have negative coordinates
+ //if video scrolled out of viewport
+ CEikonEnv* eikon = CEikonEnv::Static();
+ RWsSession& ws = eikon->WsSession();
+ CWsScreenDevice* screenDevice = eikon->ScreenDevice();
+ // Reset clipRect
+ TRect clipRect = rect;
+ clipRect = GetClipRect( rect );
+ if( ( iActiveWindow != &iBavpView->WindowInst() ) && ( iActiveWindow != NULL ) )
+ {
+ //Remove the active window and add the new window
+ iVideoPlayer->RemoveDisplayWindow(iBavpView->WindowInst());
+ TRAPD(errAdd, iVideoPlayer->AddDisplayWindowL(ws,*screenDevice,iBavpView->WindowInst(), wr, clipRect));
+ TRAP_IGNORE(iVideoPlayer->SetAutoScaleL(iBavpView->WindowInst(), EAutoScaleBestFit));
+ if( errAdd == KErrNone )
+ iActiveWindow = &iBavpView->WindowInst();
+ }
+ else
+ {
+ //window is already active, only needs the window size changed or position change
+ TRAPD(err1,iVideoPlayer->SetVideoExtentL(iBavpView->WindowInst(),wr));
+ TRAPD(err2,iVideoPlayer->SetWindowClipRectL(iBavpView->WindowInst(),clipRect));
+ Log( EFalse, _L("SetVideoExtent err1 = %d"), err1 );
+ Log( EFalse, _L("SetVideoExtent err2 = %d"), err2 );
+ }
+ }
+#endif
// End of File
--- a/browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -405,6 +405,11 @@
}
}
}
+ else if(iBavpController && iPauseState && (iBavpController->State() == EBavpPaused) && (iIsForeGround))
+ {
+ iPauseState = EFalse;
+ iBavpController->PlayL();
+ }
break;
default:
// Not implemented
--- a/browserui/browser/BrowserAppInc/BrowserAppUi.h Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/BrowserAppInc/BrowserAppUi.h Wed Mar 31 21:35:49 2010 +0300
@@ -33,7 +33,9 @@
#include <downloadedcontenthandler.h>
#include "WindowInfoProvider.h"
#include <browseroverriddensettings.h>
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+#include <iaupdateobserver.h>
+#endif
// FORWARD DECLARATIONS
class CBrowserViewBase;
class MCommsModel;
@@ -74,7 +76,10 @@
class CBrowserPushMtmObserver;
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+class CIAUpdate;
+class CIAUpdateParameters;
+#endif
// CLASS DECLARATION
/**
@@ -88,6 +93,9 @@
public MConnectionStageObserver,
public MDownloadedContentHandler,
public MWindowInfoProvider
+ #ifdef BRDO_IAD_UPDATE_ENABLED_FF
+ ,public MIAUpdateObserver
+ #endif
{
public: // Constructors and destructor
/**
@@ -709,6 +717,12 @@
public:
void StopConnectionObserving();
+#ifdef BRDO_OCC_ENABLED_FF
+ //Retry flags
+ void SetRetryFlag(TBool flag);
+ TBool GetRetryFlag();
+#endif
+
private:
/**
@@ -783,8 +797,85 @@
* @param none
*/
void StartFetchHomePageL();
+
+#ifdef BRDO_OCC_ENABLED_FF
+ //For Call back for reconnectivity
+ static TInt RetryConnectivity(TAny* aCBrowserAppUi);
+ TInt RetryInternetConnection();
+#endif
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+ /**
+ * Check updates
+ */
+ void CheckUpdatesL();
+
+ /**
+ * Clean IAD update parameters
+ */
+ void CleanUpdateParams();
+
+ /**
+ * This callback function is called when the update checking operation has completed.
+ *
+ * @param aErrorCode The error code of the observed update operation.
+ * KErrNone for successful completion,
+ * otherwise a system wide error code.
+ * @param aAvailableUpdates Number of the updates that were found available.
+ */
+ void CheckUpdatesComplete( TInt aErrorCode, TInt aAvailableUpdates );
+
+ /**
+ * This callback function is called when an update operation has completed.
+ *
+ * @param aErrorCode The error code of the completed update operation.
+ * KErrNone for successful completion,
+ * otherwise a system wide error code.
+ * @param aResult Details about the completed update operation.
+ * Ownership is transferred.
+ */
+ void UpdateComplete( TInt aErrorCode, CIAUpdateResult* aResultDetails );
+
+ /**
+ * This callback function is called when an update query operation has completed.
+ *
+ * @param aErrorCode The error code of the observed query operation.
+ * KErrNone for successful completion,
+ * otherwise a system wide error code.
+ * @param aUpdateNow ETrue informs that an update operation should be started.
+ * EFalse informs that there is no need to start an update
+ * operation.
+ */
+ void UpdateQueryComplete( TInt aErrorCode, TBool aUpdateNow ){return;}
+
+ /**
+ * This function is checking the existence of the file containing last update time
+ * @param None
+ * @return TBool.
+ */
+ TBool CheckUpdateFileAvailable();
+
+ /**
+ * This function is deleting of the file(if exist) containing last update time
+ * @param None
+ * @return None.
+ */
+ void DeleteUpdateFile();
+
+ /**
+ * This function is will write the current time in file
+ * @param None
+ * @return None.
+ */
+ void WriteUpdateFile();
+
+ /**
+ * This function will read the content of the file if it exists
+ * @param None
+ * @return TBool.
+ */
+ TInt64 ReadUpdateFile();
+#endif
protected:
/**
@@ -984,6 +1075,17 @@
TBool iBrowserAlreadyRunning;
+#ifdef BRDO_OCC_ENABLED_FF
+ CPeriodic *iRetryConnectivity;
+ TBool reConnectivityFlag;
+#endif
+
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+ CIAUpdate* iUpdate;
+ CIAUpdateParameters* iParameters;
+ RFs iFs;
+#endif
+
protected:
CBrowserCommsModel* iCommsModel;
--- a/browserui/browser/BrowserAppSrc/BrowserAppUi.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/BrowserAppSrc/BrowserAppUi.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -107,6 +107,12 @@
#include "BrowserPushMtmObserver.h"
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+#include <iaupdate.h>
+#include <iaupdateparameters.h>
+#include <iaupdateresult.h>
+#endif
+
//CONSTANTS
const TUint KBookmarkId = 1;
const TUint KUrlId = 4;
@@ -124,6 +130,14 @@
const TInt KMinimumCDriveDiskSpace = 512 * 1024;
+const TInt KRetryConnectivityTimeout( 2*1000*1000 ); // 2 seconds
+
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+const TUint KBrowser8xUID = 0x200267CC;
+_LIT( KUpdateFileName, "lastupdatechecked.txt" );
+const TInt64 KMaxTimeToPostponeUpdate = 604800000000;
+#endif
+
// ================= MEMBER FUNCTIONS =======================
// -----------------------------------------------------------------------------
@@ -158,6 +172,10 @@
{
LOG_ENTERFN("CBrowserAppUi::~CBrowserAppUi");
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+ iFs.Close();
+#endif
+
SetExitInProgress( ETrue );
if(iBrowserAsyncExit)
{
@@ -234,6 +252,9 @@
iFavouritesSess.Close();
LOG_WRITE( " iFavouritesSess.Close() deleted" );
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+ CleanUpdateParams();
+#endif
}
// -----------------------------------------------------------------------------
@@ -264,11 +285,159 @@
iStartedUp = EFalse;
LOG_WRITE( "Browser started embedded" );
}
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+ User::LeaveIfError(iFs.Connect());
+ // Check updates from IAD, continue UI launching even if something fails there
+ TRAP_IGNORE( CheckUpdatesL() );
+#endif
+
PERFLOG_STOP_WRITE("BrowserUI::ConstructL");
}
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+// ---------------------------------------------------------
+// CBrowserAppUi::CheckUpdatesL
+// ---------------------------------------------------------
+void CBrowserAppUi::CheckUpdatesL()
+ {
+ LOG_ENTERFN("CBrowserAppUi::CheckUpdatesL");
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesL() entering" );
+ if ( FeatureManager::FeatureSupported( KFeatureIdIAUpdate ) )
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesL() IAD Update supported" );
+ TRAP_IGNORE( iUpdate = CIAUpdate::NewL( *this ) );
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesL() IAD Update Client Created" );
+ if ( iUpdate )
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesL() creating IAD Update paramentes" );
+ iParameters = CIAUpdateParameters::NewL();
+ // Search for updates using SIS package UID
+ iParameters->SetUid( TUid::Uid( KBrowser8xUID ) );
+ //check the updates
+ iUpdate->CheckUpdates( *iParameters );
+ }
+ }
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesL() exiting" );
+ }
+
+// ---------------------------------------------------------
+// CBrowserAppUi::CheckUpdatesComplete
+// rest of the details commented in the header
+// ---------------------------------------------------------
+//
+void CBrowserAppUi::CheckUpdatesComplete( TInt aErrorCode, TInt aAvailableUpdates )
+ {
+ LOG_ENTERFN("CBrowserAppUi::CheckUpdatesComplete");
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - Entry" );
+ TInt err;
+ TBool result;
+ TBool showDialog = EFalse;
+
+ if ( aErrorCode == KErrNone )
+ {
+ if ( aAvailableUpdates > 0 )
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - update available" );
+ //Check if the file is available in folder or not
+ if(CheckUpdateFileAvailable())
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - update file available" );
+ TTime timenow;
+ timenow.HomeTime();
+ TInt64 time = timenow.Int64();
+ TInt64 dataValue = ReadUpdateFile();
+ //If the diference of the current time and the Previous Check time is more than 1 Week
+ //then show the dialog
+ if((time - dataValue)>KMaxTimeToPostponeUpdate)
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - diference of the current time and the time available in th file is more than 7 days" );
+ showDialog = ETrue;
+ }
+ }
+ else
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - update file is not available" );
+ showDialog = ETrue;
+ }
+
+ if(showDialog)
+ {
+ HBufC* message = StringLoader::LoadLC(R_INSTALL_ADDON_BROWSER);
+ HBufC* lsc_now = StringLoader::LoadLC(R_INSTALL_BROWSER_NOW);
+ HBufC* rsc_later = StringLoader::LoadLC(R_INSTALL_BROWSER_LATER);
+
+ TRAPD(err, result = iDialogsProvider->DialogConfirmL(_L(""),
+ *message,
+ *lsc_now,
+ *rsc_later));
+
+ CleanupStack::PopAndDestroy(3); //message, lsc_now, rsc_later
+
+ if (err != KErrNone)
+ {
+ return ;
+ }
+ if ( result ) // user selected NOW
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - if file exists, just delete it." );
+ // if file exists, just delete it.
+ DeleteUpdateFile();
+ iUpdate->ShowUpdates( *iParameters );
+ }
+ if ( !result ) // user selected LATER
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - create the file and store the current time." );
+ //create the file and store the current time.
+ WriteUpdateFile();
+ }
+ }
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - update available" );
+ }
+ else
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - no update available" );
+ // The answer was 'Later'. CIAUpdate object could be deleted
+ CleanUpdateParams();
+ }
+ }
+ LOG_WRITE( "CBrowserAppUi::CheckUpdatesComplete - Exit" );
+ }
+
+// -----------------------------------------------------------------------------
+// CBrowserAppUi::CleanUpdateParams
+// -----------------------------------------------------------------------------
+//
+void CBrowserAppUi::CleanUpdateParams()
+ {
+ LOG_ENTERFN("CBrowserAppUi::CleanUpdateParams");
+ LOG_WRITE( "CBrowserAppUi::CleanUpdateParams() entering" );
+ if(iUpdate)
+ {
+ delete iUpdate;
+ iUpdate = NULL;
+ }
+ if(iParameters)
+ {
+ delete iParameters;
+ iParameters = NULL;
+ }
+ LOG_WRITE( "CBrowserAppUi::CleanUpdateParams() exiting" );
+ }
+
+// ---------------------------------------------------------
+// CBrowserAppUi::UpdateComplete
+// rest of the details commented in the header
+// ---------------------------------------------------------
+//
+void CBrowserAppUi::UpdateComplete( TInt aErrorCode, CIAUpdateResult* aResult )
+ {
+ LOG_ENTERFN("CBrowserAppUi::UpdateComplete");
+ LOG_WRITE( "CBrowserAppUi::UpdateComplete - Entry" );
+ delete aResult; // Ownership was transferred, so this must be deleted by the client
+ CleanUpdateParams();
+ LOG_WRITE( "CBrowserAppUi::UpdateComplete - Exit" );
+ }
+#endif
// -----------------------------------------------------------------------------
// CBrowserAppUi::InitBrowser()
// -----------------------------------------------------------------------------
@@ -362,6 +531,10 @@
PERFLOG_STOPWATCH_START;
iConnStageNotifier = CConnectionStageNotifierWCB::NewL();
+
+ //this is required, browser's connection oberver should be hit first. (incase of netscape plgins, transactions will be closed.)
+ iConnStageNotifier->SetPriority(CActive::EPriorityHigh);
+
PERFLOG_STOP_WRITE("\t StageNotif NewL");
BROWSER_LOG( ( _L( "StageNofier up" ) ) );
@@ -483,6 +656,9 @@
iPushMtmObserver = CBrowserPushMtmObserver::NewL( this );
iPushMtmObserver->StartObserver();
+#ifdef BRDO_OCC_ENABLED_FF
+ iRetryConnectivity = CPeriodic::NewL(CActive::EPriorityStandard);
+#endif
} //if (iStartedUp)
}
@@ -1274,12 +1450,6 @@
(Preferences().AccessPointSelectionMode() == EAlwaysAsk) )
{
iRequestedAp = Preferences().DefaultAccessPoint();
-#ifdef BRDO_OCC_ENABLED_FF //Setting ap should not be taken if OCC is enabled, instead bookmark ap should be taken
-#ifndef __WINS__
- iRequestedAp = aAccessPoint.ApId();
- BROWSER_LOG( ( _L( "Bookmark Iap id : %d" ), iRequestedAp ) );
-#endif
-#endif
}
else if ( Preferences().AccessPointSelectionMode() == EDestination )
{
@@ -2375,6 +2545,8 @@
return;
}
+ BROWSER_LOG( ( _L( " CBrowserAppUi::ConnNeededStatusL First Stop Connection Observer" ) ) );
+ StopConnectionObserving(); //Need to stop the connection observer first
if ( !iConnStageNotifier->IsActive() )
@@ -2382,8 +2554,9 @@
BROWSER_LOG( ( _L( " CBrowserAppUi::ConnNeededStatusL Starting Connection Observer" ) ) );
TName* connectionName = Connection().ConnectionNameL();
CleanupStack::PushL( connectionName );
- iConnStageNotifier->StartNotificationL(
- connectionName, KConnectionUninitialised, this);
+
+ iConnStageNotifier->StartNotificationL(connectionName, KLinkLayerClosed, this);
+
CleanupStack::PopAndDestroy(); //connectionName
}
}
@@ -2432,7 +2605,88 @@
}
return buf;
}
-
+
+#ifdef BRDO_OCC_ENABLED_FF
+// -----------------------------------------------------------------------------
+// CBrowserContentView::SetRetryFlag
+// -----------------------------------------------------------------------------
+//
+void CBrowserAppUi::SetRetryFlag(TBool flag)
+ {
+ LOG_ENTERFN("CBrowserAppUi::SetRetryFlag");
+ BROWSER_LOG( ( _L(" CBrowserAppUi::SetRetryFlag flag: %d"), flag ) );
+ reConnectivityFlag = flag;
+ }
+
+// -----------------------------------------------------------------------------
+// CBrowserContentView::GetRetryFlag
+// -----------------------------------------------------------------------------
+//
+ TBool CBrowserAppUi::GetRetryFlag()
+ {
+ LOG_ENTERFN("CBrowserAppUi::GetRetryFlag");
+ BROWSER_LOG( ( _L(" CBrowserAppUi::GetRetryFlag flag: %d"), reConnectivityFlag ) );
+ return reConnectivityFlag;
+ }
+
+// -----------------------------------------------------------------------------
+// CBrowserContentView::RetryConnectivity
+// -----------------------------------------------------------------------------
+//
+TInt CBrowserAppUi::RetryConnectivity(TAny* aCBrowserAppUi)
+ {
+ LOG_ENTERFN("CBrowserAppUi::RetryConnectivity");
+ __ASSERT_DEBUG(aCBrowserAppUi, Util::Panic( Util::EUninitializedData ));
+
+ TInt err = ((CBrowserAppUi*)aCBrowserAppUi)->RetryInternetConnection();
+
+ BROWSER_LOG( ( _L(" CBrowserAppUi::RetryConnectivity Error: %d"), err ) );
+ return err;
+ }
+
+TInt CBrowserAppUi::RetryInternetConnection()
+ {
+ LOG_ENTERFN("CBrowserAppUi::RetryInternetConnection");
+ //First cancel the timer
+ if ( iRetryConnectivity && iRetryConnectivity->IsActive() )
+ {
+ iRetryConnectivity->Cancel();
+ BROWSER_LOG( ( _L( "CBrowserAppUi::RetryInternetConnection Timer Cancelled successfully " ) ) );
+ }
+ TInt err = KErrNone;
+ if ( !iConnection->Connected() )
+ {
+ TRAP_IGNORE( err = iConnection->StartConnectionL( ETrue ) );
+ }
+ if( err == KErrNone )
+ {
+ BROWSER_LOG( ( _L( "CBrowserAppUi::RetryInternetConnection Connection restablished successfully " ) ) );
+
+ BROWSER_LOG( ( _L( "CBrowserAppUi::RetryInternetConnection UNSET retry flags " ) ) );
+ TRAP_IGNORE( BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandUnSetRetryConnectivityFlag + (TInt)TBrCtlDefs::ECommandIdBase ) );
+ SetRetryFlag(EFalse);
+
+ TRAP_IGNORE(ConnNeededStatusL(err)); //Start the observer again
+ TRAP_IGNORE( BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandRetryTransactions + (TInt)TBrCtlDefs::ECommandIdBase ) );
+ //Let download manager knows about this new connection
+ TRAP_IGNORE( BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandConnToDownloadManager + (TInt)TBrCtlDefs::ECommandIdBase ) );
+ }
+ else
+ {
+ BROWSER_LOG( ( _L( "CBrowserAppUi::RetryInternetConnection Connection failed " ) ) );
+ BROWSER_LOG( ( _L( "CBrowserAppUi::RetryInternetConnection unset retry flags " ) ) );
+ TRAP_IGNORE( BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandUnSetRetryConnectivityFlag + (TInt)TBrCtlDefs::ECommandIdBase ) );
+ SetRetryFlag(EFalse);
+ BROWSER_LOG( ( _L( "CBrowserAppUi::RetryInternetConnection clear queued transactions " ) ) );
+ TRAP_IGNORE( BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandClearQuedTransactions + (TInt)TBrCtlDefs::ECommandIdBase ) );
+ Display().StopProgressAnimationL(); //Stop Progress animation
+ iDialogsProvider->UploadProgressNoteL(0, 0, ETrue, (MBrowserDialogsProviderObserver *)this ); //Close the uploading dialog.
+ iDialogsProvider->CancelAll(); //connection has been lost, so cancel the authentication dialog.
+ }
+
+ return err;
+ }
+#endif
// -----------------------------------------------------------------------------
// CBrowserAppUi::ConnectionStageAchievedL()
@@ -2440,6 +2694,24 @@
//
void CBrowserAppUi::ConnectionStageAchievedL()
{
+#ifdef BRDO_OCC_ENABLED_FF
+ LOG_ENTERFN("CBrowserAppUi::ConnectionStageAchievedL");
+ //Disconnect first
+ BROWSER_LOG( ( _L( "CBrowserAppUi::ConnectionStageAchievedL Disconnecting..." ) ) );
+ iConnection->Disconnect();
+
+ BROWSER_LOG( ( _L( "CBrowserAppUi::ConnectionStageAchievedL Some transactions are on-going. Need to reconnect. " ) ) );
+ BROWSER_LOG( ( _L( "CBrowserAppUi::ConnectionStageAchievedL Set retry flags " ) ) );
+ TRAP_IGNORE( BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandSetRetryConnectivityFlag + (TInt)TBrCtlDefs::ECommandIdBase ) );
+ SetRetryFlag(ETrue);
+
+ if( iRetryConnectivity && iRetryConnectivity->IsActive())
+ {
+ iRetryConnectivity->Cancel();
+ }
+ iRetryConnectivity->Start(KRetryConnectivityTimeout, 0,TCallBack(RetryConnectivity,this));
+
+#else
// this function is called only when network is lost
// because we set notifier for KAgentUnconnected only
Display().StopProgressAnimationL();
@@ -2456,6 +2728,7 @@
// not needed as by that point HTTPSession was already shutdown by executing disconnect menu option
// will cause a crash when user tries to quickly reconnect right after disconnecting, as HTTP session
// is starting to initialize, while this call is trying to close it.
+#endif
}
@@ -4205,5 +4478,102 @@
CloseContentViewL();
}
}
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+// ---------------------------------------------------------
+// CBrowserAppUi::CheckUpdateFileAvailable
+// ---------------------------------------------------------
+TBool CBrowserAppUi::CheckUpdateFileAvailable()
+ {
+ TBuf<KMaxFileName> privatePath;
+ TBuf<KMaxFileName> updateFileName;
+ iFs.PrivatePath( privatePath );
+ updateFileName.Copy( privatePath );
+ updateFileName.Append( KUpdateFileName );
+ RFile updatefile;
+ TInt err = updatefile.Open( iFs, updateFileName, EFileRead );
+ if ( err == KErrNotFound )
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdateFileAvailable - update file not available" );
+ return EFalse;
+ }
+ else
+ {
+ LOG_WRITE( "CBrowserAppUi::CheckUpdateFileAvailable - update file available" );
+ updatefile.Close();
+ }
+ return ETrue;
+ }
+
+// ---------------------------------------------------------
+// CBrowserAppUi::WriteUpdateFile
+// ---------------------------------------------------------
+void CBrowserAppUi::WriteUpdateFile()
+ {
+ TBuf<KMaxFileName> privatePath;
+ TBuf<KMaxFileName> updateFileName;
+ iFs.PrivatePath( privatePath );
+ updateFileName.Copy( privatePath );
+ updateFileName.Append( KUpdateFileName );
+ RFile updatefile;
+ TInt err = updatefile.Open( iFs, updateFileName, EFileWrite | EFileShareExclusive );
+ if(err == KErrNotFound)
+ {
+ LOG_WRITE( "CBrowserAppUi::WriteUpdateFile - update file not available so create it" );
+ err = updatefile.Create( iFs, updateFileName, EFileWrite | EFileShareExclusive );
+ }
+ //Get the current time
+ TTime timenow;
+ timenow.HomeTime();
+ TInt64 time = timenow.Int64();
+ TBuf8<50> data;
+ data.AppendNum(time);
+ LOG_WRITE( "CBrowserAppUi::WriteUpdateFile - write the current time in update file" );
+ updatefile.Write(data);
+ updatefile.Close();
+ }
+
+// ---------------------------------------------------------
+// CBrowserAppUi::DeleteUpdateFile
+// ---------------------------------------------------------
+void CBrowserAppUi::DeleteUpdateFile()
+ {
+ TBuf<KMaxFileName> privatePath;
+ TBuf<KMaxFileName> updateFileName;
+ iFs.PrivatePath( privatePath );
+ updateFileName.Copy( privatePath );
+ updateFileName.Append( KUpdateFileName );
+ iFs.Delete(updateFileName);
+ }
+
+// ---------------------------------------------------------
+// CBrowserAppUi::ReadUpdateFile
+// ---------------------------------------------------------
+TInt64 CBrowserAppUi::ReadUpdateFile()
+ {
+ TBool returnvalue = ETrue;
+ TBuf<KMaxFileName> privatePath;
+ TBuf<KMaxFileName> updateFileName;
+ //Get the private path then append the filename
+ iFs.PrivatePath( privatePath );
+ updateFileName.Copy( privatePath );
+ updateFileName.Append( KUpdateFileName );
+ RFile updatefile;
+ TInt err = updatefile.Open( iFs, updateFileName, EFileRead );
+ TInt64 dataValue = 0;
+ //If file is found
+ if ( err != KErrNotFound )
+ {
+ TBuf8<50> readBuf;
+ err = updatefile.Read(readBuf);
+ updatefile.Close();
+ if((err == KErrNone) && (readBuf.Length()>NULL))
+ {
+ //Convert from TBuf8 to TInt64
+ TLex8 lex(readBuf);
+ lex.Val(dataValue);
+ }
+ }
+ return dataValue;
+ }
+#endif
// End of File
--- a/browserui/browser/BrowserAppSrc/BrowserGotoPane.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/BrowserAppSrc/BrowserGotoPane.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -110,10 +110,10 @@
SetSearchTextL( KNullDesC );
}
}
-
+
+ SetPointerCapture(aVisible);
if (AknLayoutUtils::PenEnabled() && ( !iSearchEditor ) )
- {
- SetPointerCapture(aVisible);
+ {
if (aVisible)
{
ActivateVKB();
--- a/browserui/browser/BrowserAppSrc/BrowserPreferences.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/BrowserAppSrc/BrowserPreferences.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -545,11 +545,8 @@
TInt ap;
// Read Accesss point selection mode for advanced settings
-#ifdef BRDO_OCC_ENABLED_FF
- const TInt selectionMode = EBrowserCenRepApSelModeAlwaysAsk;
-#else
const TInt selectionMode = GetIntValue( KBrowserAccessPointSelectionMode );
-#endif
+
switch ( selectionMode )
{
case EBrowserCenRepApSelModeUserDefined:
--- a/browserui/browser/BrowserAppSrc/BrowserSpecialLoadObserver.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/BrowserAppSrc/BrowserSpecialLoadObserver.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -125,6 +125,15 @@
__ASSERT_DEBUG( (aNewConn != NULL), Util::Panic( Util::EUninitializedData ) );
__ASSERT_DEBUG( (aBearerType != NULL), Util::Panic( Util::EUninitializedData ) );
+#ifdef BRDO_OCC_ENABLED_FF
+ TBool retryFlag = CBrowserAppUi::Static()->GetRetryFlag();
+ if( retryFlag )
+ {
+ BROWSER_LOG((_L("Retry is in progress")));
+ return;
+ }
+#endif
+
iApiProvider->SetProgressShown( ETrue );
TBool query( EFalse );
if( iApiProvider->Connection().Connected() )
@@ -143,7 +152,7 @@
TBool isValid( EFalse );
TUint32 ap( 0 );
TInt err( KErrNone );
-#ifndef BRDO_OCC_ENABLED_FF
+
BROWSER_LOG((_L("AP selectionMode: %d."),
iApiProvider->Preferences().AccessPointSelectionMode() ));
@@ -259,9 +268,7 @@
BROWSER_LOG((_L("wrong type of connection")));
}
} //switch
-#else //BRDO_OCC_ENABLED_FF
- isValid = ETrue;
-#endif //BRDO_OCC_ENABLED_FF
+
BROWSER_LOG((_L("isValid 2: %d"), isValid));
if( isValid )
{
--- a/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -1524,7 +1524,10 @@
{
aMenuPane->SetItemDimmed( EWmlCmdMoveToFolder, ETrue );
}
- const CFavouritesItem* item = TheContainer()->Listbox()->CurrentItem();
+ const CFavouritesItem* item;
+ if(TheContainer() && TheContainer()->Listbox())
+ item = TheContainer()->Listbox()->CurrentItem();
+
if ( ( item ) &&
( ( item->Uid() == KFavouritesAdaptiveItemsFolderUid ) ||
( item->ContextId() != NULL ) )
@@ -2195,7 +2198,10 @@
{
Toolbar()->SetItemDimmed( EWmlCmdAddBookmark, aDimButtons , ETrue );
Toolbar()->SetItemDimmed( EWmlCmdGoToAddress, aDimButtons , ETrue );
+ Toolbar()->SetItemDimmed( EWmlCmdGoToAddressAndSearch, aDimButtons , ETrue );
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
Toolbar()->SetItemDimmed( EWmlCmdDelete, aDimButtons , ETrue );
+#endif
if (!aDimButtons)
{
// when undimming buttons we may not want them all back on
--- a/browserui/browser/FeedsInc/FeedsEditFeedDialog.h Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/FeedsInc/FeedsEditFeedDialog.h Wed Mar 31 21:35:49 2010 +0300
@@ -271,6 +271,8 @@
TInt iPreviousFreq;
TInt iSelectedDlgLine;
TBool iActionCancelled;
+ TBool iDrag;
+ TPointerEvent iPointerEvent;
};
#endif // FEEDS_EDIT_FEED_DIALOG_H
--- a/browserui/browser/FeedsSrc/FeedsEditFeedDialog.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/FeedsSrc/FeedsEditFeedDialog.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -40,6 +40,7 @@
#include <AknRadioButtonSettingPage.h>
#include "FeedsEditFeedDialog.h"
+#define pixelOffset 36
//Constants
const TInt KAutoUpdatingOff = 0;
@@ -135,11 +136,30 @@
}
else
{
- CAknForm::HandlePointerEventL(aPointerEvent);
- if ((iSelectedDlgLine == EFeedsEditAutomaticUpdatingId) && (aPointerEvent.iType == TPointerEvent::EButton1Up))
+ CAknForm::HandlePointerEventL(aPointerEvent);
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Down)
{
- HandleFreqCmdL();
+ iPointerEvent = aPointerEvent;
}
+ else if ( aPointerEvent.iType == TPointerEvent::EDrag )
+ {
+ if((Abs(iPointerEvent.iPosition.iX - aPointerEvent.iPosition.iX) > pixelOffset ) ||
+ (Abs(iPointerEvent.iPosition.iY - aPointerEvent.iPosition.iY) > pixelOffset ))
+ {
+ iDrag = ETrue;
+ }
+ }
+ else if ((iSelectedDlgLine == EFeedsEditAutomaticUpdatingId) && (aPointerEvent.iType == TPointerEvent::EButton1Up))
+ {
+ if(!iDrag)
+ {
+ HandleFreqCmdL();
+ }
+ else
+ {
+ iDrag = EFalse;
+ }
+ }
}
}
--- a/browserui/browser/Group/BrowserNG.mmp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/Group/BrowserNG.mmp Wed Mar 31 21:35:49 2010 +0300
@@ -84,3 +84,6 @@
LIBRARY touchfeedback.lib
#endif // RD_TACTILE_FEEDBACK
LIBRARY AknLayout2Scalable.lib
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+LIBRARY iaupdateapi.lib
+#endif
--- a/browserui/browser/SettingsSrc/SettingsContainer.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/SettingsSrc/SettingsContainer.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -370,10 +370,8 @@
// Default Access Point
if ( !ApiProvider().Preferences().CustomAccessPointDefined() )
{
- #if !defined(BRDO_OCC_ENABLED_FF)
//Access point setting is not required if OCC is enabled
AppendDefaultAccessPointL( itemArray, itemText );
- #endif
}
// Home Page
--- a/browserui/browser/SrcData/Browser.rss Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/SrcData/Browser.rss Wed Mar 31 21:35:49 2010 +0300
@@ -23,7 +23,7 @@
NAME SERV // for Services
// INCLUDES
-
+#include <browser_platform_variant.hrh>
#include "WmlBrowserBuild.h"
#include <apcaptionfile.rh>
#include <eikon.rh>
@@ -39,6 +39,9 @@
#include <CommonDialogs.hrh>
#include <CommonDialogs.rh>
#include <data_caging_paths_strings.hrh>
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+#include <iaupdate.loc>
+#endif
RESOURCE RSS_SIGNATURE { }
@@ -933,4 +936,8 @@
RESOURCE TBUF r_browsers_sett_web_search_provider { buf = qtn_browsers_sett_web_search_provider; }
RESOURCE TBUF r_is_web_search { buf = qtn_is_web_search; }
RESOURCE TBUF r_is_label_not_selected { buf = qtn_is_label_not_selected; }
-
+#ifdef BRDO_IAD_UPDATE_ENABLED_FF
+RESOURCE TBUF r_install_addon_browser { buf = qtn_install_addon_browser; }
+RESOURCE TBUF r_install_browser_now { buf = qtn_swupdate_now; }
+RESOURCE TBUF r_install_browser_later { buf = qtn_swupdate_later ; }
+#endif
Binary file browserui/browser/help/data/xhtml.zip has changed
--- a/browserui/browser/help/inc/browser.hlp.hrh Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/help/inc/browser.hlp.hrh Wed Mar 31 21:35:49 2010 +0300
@@ -1,10 +1,23 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
//
-// browser.hlp.hrh
-//
-
-//
-// File generated by CSXHelp Utilities on 2009-05-26
-//
+// browser.hlp.hrh generated by CSXHelp Utilities.
+//
#ifndef __BROWSER_HLP_HRH__
#define __BROWSER_HLP_HRH__
@@ -25,5 +38,6 @@
_LIT(KOSS_HLP_SETTINGS_FOLDERS, "OSS_HLP_SETTINGS_FOLDERS"); //
_LIT(KOSS_HLP_RSS_MAIN, "OSS_HLP_RSS_MAIN"); //
_LIT(KOSS_HLP_SHORTCUTS, "OSS_HLP_SHORTCUTS"); //
+_LIT(KOSS_HLP_KEYPAD, "OSS_HLP_KEYPAD"); //
#endif
\ No newline at end of file
--- a/browserui/browser/loc/WmlBrowser.loc Mon Mar 15 12:40:52 2010 +0200
+++ b/browserui/browser/loc/WmlBrowser.loc Wed Mar 31 21:35:49 2010 +0300
@@ -3221,4 +3221,9 @@
//r: 5.0
//
#define qtn_is_recommendations "Here and Now"
+
+//d: Confirmation to install add-on browser
+//l: popup_note_window
+//r: 7.2
+#define qtn_install_addon_browser "A new browser is available. Would you like to install it?"
// End of File
--- a/package_definition.xml Mon Mar 15 12:40:52 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="webuis" name="Web UIs" levels="plugin app">
- <collection id="browserui" name="Browser UI" level="app">
- <component id="browser" filter="s60" name="Browser">
- <unit bldFile="browserui/browser/group"/>
- </component>
- <component id="operatormenu" filter="s60" name="Browser Operator Menu">
- <unit bldFile="browserui/operatormenu/group"/>
- </component>
- <component id="videoservices" filter="s60" name="Browser Video Services">
- <unit bldFile="browserui/videoservices/group"/>
- </component>
- </collection>
- <collection id="browserplugins" name="Browser Plugins" level="plugin">
- <component id="browsersysteminfoplugin" filter="s60" name="Browser System Info Plugin" class="plugin">
- <unit bldFile="browserplugins/browsersysteminfoplugin/group"/>
- </component>
- <component id="browsergpsplugin" filter="s60" name="Browser GPS Plugin" class="plugin">
- <unit bldFile="browserplugins/browsergpsplugin/group"/>
- </component>
- <component id="browseraudiovideoplugin" filter="s60" name="Browser Audio Video Plugin" class="plugin">
- <unit bldFile="browserplugins/browseraudiovideoplugin/group"/>
- </component>
- <component id="browserplugins_build" filter="s60" name="Browser Plugins Build">
- <!-- can the #ifdef in this be handled elsewhere? -->
- <unit bldFile="browserplugins/group"/>
- </component>
- </collection>
- <collection id="pushmtm" name="Push MTM" level="plugin">
- <component id="pushmtm_help" filter="s60" name="Push MTM Help">
- <unit bldFile="pushmtm/help/group"/>
- </component>
- <component id="plugins" filter="s60" name="Push MTM Plugins" class="plugin">
- <unit bldFile="pushmtm/plugins/group"/>
- </component>
- <component id="pushmtm_build" filter="s60" name="Push MTM Build">
- <!-- can this be distributed into the other components? -->
- <unit bldFile="pushmtm/group"/>
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- a/pushmtm/Group/PushMtmUi.mmp Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Group/PushMtmUi.mmp Wed Mar 31 21:35:49 2010 +0300
@@ -100,6 +100,7 @@
LIBRARY PushMtmUtil.lib
LIBRARY PushMsgEntry.lib
LIBRARY SISLPushMsgUtils.lib
+LIBRARY CENTRALREPOSITORY.lib
#ifdef __SERIES60_HELP
LIBRARY hlplch.lib // for "Help" options menu
--- a/pushmtm/MtmUiInc/PushMessageInfoDialog.h Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUiInc/PushMessageInfoDialog.h Wed Mar 31 21:35:49 2010 +0300
@@ -118,6 +118,8 @@
// The following members help wrapping text.
const CFont* iSecondColumnFont; ///< Reference to the font. Not owned.
TInt iSecondColumnWidth;
+ TInt iPushSLEnabled;
+;
};
#endif // PUSHMESSAGEINFODIALOG_H
--- a/pushmtm/MtmUiInc/PushMtmUi.h Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUiInc/PushMtmUi.h Wed Mar 31 21:35:49 2010 +0300
@@ -360,6 +360,8 @@
* Get the resource file name for this MTM UI.
*/
void GetResourceFileName( TFileName& aFileName ) const;
+ private:
+ TInt iPushSLEnabled;
};
#endif // PUSHMTMUI_H
--- a/pushmtm/MtmUiInc/PushSettingsDialog.h Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUiInc/PushSettingsDialog.h Wed Mar 31 21:35:49 2010 +0300
@@ -263,6 +263,7 @@
HBufC* iPreviousTitleText; ///< Restore it on termination. Has.
TBool iRestoreSP; /**< EFalse, if it is not necessary
* to restore status pane. */
+ TInt iPushSLEnabled;
};
#endif // PUSHSETTINGSDIALOG_H
--- a/pushmtm/MtmUiSrc/PushMessageInfoDialog.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUiSrc/PushMessageInfoDialog.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -39,9 +39,9 @@
#include <f32file.h>
#include <AknUtils.h>
#include <AknBidiTextUtils.h>
-
+#include "PushMtmPrivateCRKeys.h"
+#include <centralrepository.h>
// CONSTANTS
-
LOCAL_D const TInt KNoResource = 0;
LOCAL_D const TInt KArrayGranularity = 16;
LOCAL_D const TReal KReal1024 = 1024.0;
@@ -91,12 +91,17 @@
void CPushMessageInfoDialog::ConstructL( CMsvSession& aMsvSession, TMsvId aId )
{
PUSHLOG_ENTERFN("CPushMessageInfoDialog::ConstructL");
-
__ASSERT_DEBUG( !iListBox &&
!iListBoxModel,
UiPanic( EPushMtmUiPanAlreadyInitialized ) );
FeatureManager::InitializeLibL();
+
+ CRepository* PushSL = CRepository::NewL( KCRUidPushMtm );
+ CleanupStack::PushL( PushSL );
+ User::LeaveIfError( PushSL->Get( KPushMtmServiceEnabled , iPushSLEnabled ) );
+ PUSHLOG_WRITE_FORMAT(" iPushSLEnabled: <%d>",iPushSLEnabled);
+ CleanupStack::PopAndDestroy( PushSL );
// Add resource file.
TParse* fileParser = new (ELeave) TParse;
@@ -299,13 +304,11 @@
msg = CSIPushMsgEntry::NewL();
PUSHLOG_WRITE(" SI");
}
-#ifdef __SERIES60_PUSH_SL
- else if ( bioType == KUidWapPushMsgSL.iUid )
+ else if(iPushSLEnabled && bioType == KUidWapPushMsgSL.iUid)
{
msg = CSLPushMsgEntry::NewL();
PUSHLOG_WRITE(" SL");
}
-#endif // __SERIES60_PUSH_SL
#ifdef __SERIES60_PUSH_SP
else if ( bioType == KUidWapPushMsgUnknown.iUid )
{
@@ -365,8 +368,7 @@
CleanupStack::PopAndDestroy( convertedUrl );
}
}
-#ifdef __SERIES60_PUSH_SL
- else if ( msg->PushMsgType() == KUidWapPushMsgSL.iUid )
+ else if ( iPushSLEnabled && msg->PushMsgType() == KUidWapPushMsgSL.iUid )
{
CSLPushMsgEntry* sl = STATIC_CAST( CSLPushMsgEntry*, msg );
const TPtrC url = sl->Url();
@@ -383,7 +385,6 @@
CleanupStack::PopAndDestroy( convertedUrl );
}
}
-#endif // __SERIES60_PUSH_SL
// ************************************************************************
// Information item: Message body/text (SI specific).
@@ -496,13 +497,11 @@
CSIPushMsgEntry* si = STATIC_CAST( CSIPushMsgEntry*, msg );
messageSize = (TReal)si->Text().Size() / KReal1024;
}
-#ifdef __SERIES60_PUSH_SL
- else if ( msg->PushMsgType() == KUidWapPushMsgSL.iUid )
+ else if ( iPushSLEnabled && msg->PushMsgType() == KUidWapPushMsgSL.iUid )
{
CSLPushMsgEntry* sl = STATIC_CAST( CSLPushMsgEntry*, msg );
messageSize = (TReal)sl->Url().Size() / KReal1024;
}
-#endif // __SERIES60_PUSH_SL
#ifdef __SERIES60_PUSH_SP
else if ( msg->PushMsgType() == KUidWapPushMsgUnknown.iUid )
{
--- a/pushmtm/MtmUiSrc/PushMtmUi.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUiSrc/PushMtmUi.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -44,6 +44,8 @@
#include <MuiuMsgEditorLauncher.h>
#include <data_caging_path_literals.hrh>
#include <f32file.h>
+#include "PushMtmPrivateCRKeys.h"
+#include <centralrepository.h>
// ================= MEMBER FUNCTIONS =======================
@@ -77,6 +79,10 @@
CRegisteredMtmDll& aRegisteredMtmDll )
: CBaseMtmUi( aBaseMtm, aRegisteredMtmDll )
{
+ CRepository* PushSL = CRepository::NewL( KCRUidPushMtm );
+ CleanupStack::PushL( PushSL );
+ User::LeaveIfError( PushSL->Get( KPushMtmServiceEnabled , iPushSLEnabled ) );
+ CleanupStack::PopAndDestroy( PushSL );
}
// ---------------------------------------------------------
@@ -248,10 +254,7 @@
CMsvOperation* operation = NULL;
if (
- tEntry.iBioType == KUidWapPushMsgSI.iUid
-#ifdef __SERIES60_PUSH_SL
- || tEntry.iBioType == KUidWapPushMsgSL.iUid
-#endif // __SERIES60_PUSH_SL
+ tEntry.iBioType == KUidWapPushMsgSI.iUid || (iPushSLEnabled && tEntry.iBioType == KUidWapPushMsgSL.iUid)
)
{
TEditorParameters editorParameters;
--- a/pushmtm/MtmUiSrc/PushSettingsDialog.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUiSrc/PushSettingsDialog.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -39,7 +39,8 @@
#include <msvapi.h>
#include <data_caging_path_literals.hrh>
#include <f32file.h>
-
+#include "PushMtmPrivateCRKeys.h"
+#include <centralrepository.h>
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
@@ -75,6 +76,11 @@
void CPushSettingsDialog::ConstructL()
{
// Add resource file.
+ CRepository* PushSL = CRepository::NewL( KCRUidPushMtm );
+ CleanupStack::PushL( PushSL );
+ User::LeaveIfError( PushSL->Get( KPushMtmServiceEnabled , iPushSLEnabled ) );
+ CleanupStack::PopAndDestroy( PushSL );
+
TParse* fileParser = new (ELeave) TParse;
// Unnecessary to call CleanupStack::PushL( fileParser );
fileParser->Set( KPushMtmUiResourceFileAndDrive, &KDC_MTM_RESOURCE_DIR, NULL );
@@ -192,15 +198,15 @@
( EServiceReception, R_PUSHSD_RECEPT,
iModel->ServiceReception() ? R_PUSHSD_RECEP_ON : R_PUSHSD_RECEP_OFF );
-#ifdef __SERIES60_PUSH_SL
+if(iPushSLEnabled)
+ {
// Service loading (SL specific).
ConstructAndAppendItemTextL
( EServiceLoadingType, R_PUSHSD_LOADING,
( iModel->ServiceLoadingType() == CPushMtmSettings::EAutomatic ) ?
R_PUSHSD_LOAD_AUTOM : R_PUSHSD_LOAD_MAN );
-
-#endif //__SERIES60_PUSH_SL
+ }
}
// ---------------------------------------------------------
@@ -288,10 +294,9 @@
break;
}
-#ifdef __SERIES60_PUSH_SL
-
case EServiceLoadingType:
{
+ if(iPushSLEnabled){
if ( iModel->ServiceLoadingType() == CPushMtmSettings::EManual )
{
// Display a confirmation dialog first.
@@ -306,10 +311,10 @@
// Do not show confirmation dialog.
iModel->SetServiceLoadingType( CPushMtmSettings::EManual );
}
+ }//End iPushSLEnabled
break;
}
-#endif //__SERIES60_PUSH_SL
default:
{
@@ -383,13 +388,21 @@
HBufC* CPushSettingsDialog::ConstructSettingTitleL
( const TSettingType aSettingType ) const
{
- const TInt titleResId =
- aSettingType == EServiceReception ? R_PUSHSD_RECEPT :
-#ifdef __SERIES60_PUSH_SL
- aSettingType == EServiceLoadingType ? R_PUSHSD_LOADING :
-#endif //__SERIES60_PUSH_SL
- KErrNotFound;
+ TInt titleResId = 0;
+ if(aSettingType == EServiceReception )
+ titleResId = R_PUSHSD_RECEPT;
+
+ else if (aSettingType == EServiceLoadingType)
+ {
+ if(iPushSLEnabled )
+ titleResId = R_PUSHSD_LOADING;
+ }
+
+ else
+ titleResId = KErrNotFound;
+
+
__ASSERT_DEBUG( titleResId != KErrNotFound,
UiPanic( EPushMtmUiPanNotInitialized ) );
@@ -407,20 +420,25 @@
TInt& aVal2ResId
) const
{
- aVal1ResId =
- aSettingType == EServiceReception ? R_PUSHSD_RECEP_ON :
-#ifdef __SERIES60_PUSH_SL
- aSettingType == EServiceLoadingType ? R_PUSHSD_LOAD_AUTOM :
-#endif //__SERIES60_PUSH_SL
- KErrNotFound;
-
- aVal2ResId =
- aSettingType == EServiceReception ? R_PUSHSD_RECEP_OFF :
-#ifdef __SERIES60_PUSH_SL
- aSettingType == EServiceLoadingType ? R_PUSHSD_LOAD_MAN :
-#endif //__SERIES60_PUSH_SL
- KErrNotFound;
-
+ if( aSettingType == EServiceReception)
+ aVal1ResId = R_PUSHSD_RECEP_ON;
+
+ else if((aSettingType == EServiceLoadingType) && iPushSLEnabled )
+ {
+ aVal1ResId = R_PUSHSD_LOAD_AUTOM;
+ }
+ else
+ aVal1ResId = KErrNotFound;
+
+
+ if( aSettingType == EServiceReception )
+ aVal2ResId = R_PUSHSD_RECEP_OFF;
+ else if( aSettingType == EServiceLoadingType && iPushSLEnabled)
+ aVal2ResId = R_PUSHSD_LOAD_MAN;
+ else
+ aVal2ResId = KErrNotFound;
+
+
__ASSERT_DEBUG( aVal1ResId != KErrNotFound &&
aVal2ResId != KErrNotFound,
UiPanic( EPushMtmUiPanNotInitialized ) );
@@ -437,14 +455,20 @@
TInt val2ResId( KErrNotFound );
ConstructSettingValueArray( aSettingType, val1ResId, val2ResId );
- const TBool firstSelected =
- aSettingType == EServiceReception ? iModel->ServiceReception() :
-#ifdef __SERIES60_PUSH_SL
- aSettingType == EServiceLoadingType ? iModel->ServiceLoadingType() ==
- CPushMtmSettings::EAutomatic :
-#endif //__SERIES60_PUSH_SL
- EFalse;
-
+ TBool firstSelected;
+
+ if(aSettingType == EServiceReception )
+ firstSelected = iModel->ServiceReception();
+
+ else if( aSettingType == EServiceLoadingType && iPushSLEnabled )
+ {
+ firstSelected = (iModel->ServiceLoadingType() == CPushMtmSettings::EAutomatic);
+ }
+ else
+ firstSelected = EFalse;
+
+
+
aIndex = firstSelected ? 0 : 1;
return firstSelected ? val1ResId : val2ResId;
}
@@ -490,30 +514,29 @@
break;
}
-#ifdef __SERIES60_PUSH_SL
-
case EServiceLoadingType:
{
- if ( aIndex == 0 )
- // iModel->ServiceLoadingType() == CPushMtmSettings::EManual
+ if(iPushSLEnabled)
{
- // Display a confirmation dialog first.
- if ( ShowServiceLoadingTypeConfirmationL() )
+ if ( aIndex == 0 )
+ // iModel->ServiceLoadingType() == CPushMtmSettings::EManual
{
- iModel->SetServiceLoadingType
- ( CPushMtmSettings::EAutomatic );
+ // Display a confirmation dialog first.
+ if ( ShowServiceLoadingTypeConfirmationL() )
+ {
+ iModel->SetServiceLoadingType
+ ( CPushMtmSettings::EAutomatic );
+ }
}
- }
- else
- {
- // Do not show confirmation dialog.
- iModel->SetServiceLoadingType( CPushMtmSettings::EManual );
+ else
+ {
+ // Do not show confirmation dialog.
+ iModel->SetServiceLoadingType( CPushMtmSettings::EManual );
+ }
}
break;
}
-#endif //__SERIES60_PUSH_SL
-
default:
{
__ASSERT_DEBUG( EFalse,
--- a/pushmtm/MtmUtilInc/PushMtmPrivateCRKeys.h Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/MtmUtilInc/PushMtmPrivateCRKeys.h Wed Mar 31 21:35:49 2010 +0300
@@ -28,4 +28,7 @@
// Read only White List
const TUint32 KPushMtmWhiteList = 0x0000003;
+//To Enable to Disable PUSH_SL Service in Run-time
+const TUint32 KPushMtmServiceEnabled = 0x0000004;
+
#endif // PUSHMTMPRIVATECRKEYS_H
\ No newline at end of file
--- a/pushmtm/Plugins/Group/Bld.inf Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Plugins/Group/Bld.inf Wed Mar 31 21:35:49 2010 +0300
@@ -15,7 +15,8 @@
*
*/
-
+#include <platform_paths.hrh>
+#include "../../../../../mw/web/web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
@@ -26,7 +27,7 @@
PRJ_MMPFILES
-#if defined( __S60_32__) || defined( __S60_50__)
+#if defined( __S60_32__) || defined( __PLATFORM_VERSION_S60_50__) || defined( __PLATFORM_VERSION_5250__)
// Remove Symbian Push Content Handler
gnumakefile PushContentHandlerClean.mk
#endif
--- a/pushmtm/Plugins/Group/PushContentHandlerClean.mk Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Plugins/Group/PushContentHandlerClean.mk Wed Mar 31 21:35:49 2010 +0300
@@ -75,7 +75,6 @@
if exist "$(TARGETMTMDIRDLL)\$(TARGETMTMDLL)" del "$(TARGETMTMDIRDLL)\$(TARGETMTMDLL)"
do_nothing:
- rem do nothing
#
# The targets invoked by abld
--- a/pushmtm/Plugins/Group/PushMtmPushContentHandler.mmp Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Plugins/Group/PushMtmPushContentHandler.mmp Wed Mar 31 21:35:49 2010 +0300
@@ -65,12 +65,10 @@
SOURCE PushContentHandlerGroupProxy.cpp
SOURCE PushContentHandlerPanic.cpp
SOURCE PushContentHandlerUtils.cpp
-#ifdef __SERIES60_PUSH_SL
SOURCE PushMtmAutoFetchOperation.cpp
SOURCE PushMtmFetchOperation.cpp
SOURCE PushMtmCacheSupply.cpp
SOURCE PushMtmCacheDataSupplier.cpp
-#endif // __SERIES60_PUSH_SL
SOURCE si_dict.c
SOURCE sl_dict.c
SOURCE StringResourceReader.cpp
@@ -84,14 +82,10 @@
MACRO __TEST_LOG__
#endif
-#ifdef __SERIES60_PUSH_SL
LIBRARY apengine.lib
-#endif // __SERIES60_PUSH_SL
-#if defined(__SERIES60_PUSH_SP) || defined(__SERIES60_PUSH_SL)
LIBRARY apgrfx.lib
LIBRARY apmime.lib
-#endif // __SERIES60_PUSH_SP || __SERIES60_PUSH_SL
LIBRARY bafl.lib
@@ -102,9 +96,7 @@
LIBRARY CharConv.lib
-#ifdef __SERIES60_PUSH_SL
LIBRARY commdb.lib
-#endif // __SERIES60_PUSH_SL
#ifdef __SERIES60_PUSH_SP
LIBRARY commonui.lib
@@ -113,16 +105,13 @@
LIBRARY ECom.lib
LIBRARY efsrv.lib
-#ifdef __SERIES60_PUSH_SL
LIBRARY esock.lib
-#endif // __SERIES60_PUSH_SL
#ifdef __SERIES60_PUSH_SP
LIBRARY etext.lib
#endif // __SERIES60_PUSH_SP
LIBRARY euser.lib
-
#ifdef __TEST_LOG_MMP
DEBUGLIBRARY flogger.lib
#endif
@@ -131,12 +120,10 @@
LIBRARY gsmu.lib
#endif // __SERIES60_PUSH_SP
-#ifdef __SERIES60_PUSH_SL
LIBRARY http.lib
LIBRARY BrowserCache.lib
LIBRARY HttpFilterCommon.lib
LIBRARY inetprotutil.lib
-#endif // __SERIES60_PUSH_SL
#ifdef __SERIES60_PUSH_SP
LIBRARY MiscPushMsgUtils.lib
@@ -153,9 +140,7 @@
LIBRARY WapPushUtils.lib
-#ifdef __SERIES60_PUSH_SL
LIBRARY ws32.lib
-#endif // __SERIES60_PUSH_SL
LIBRARY cXmlParser.lib
LIBRARY CENTRALREPOSITORY.lib
--- a/pushmtm/Plugins/PushContentHandler/CSLContentHandler.cpp Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Plugins/PushContentHandler/CSLContentHandler.cpp Wed Mar 31 21:35:49 2010 +0300
@@ -42,6 +42,8 @@
#include <nw_dom_text.h>
#include <nw_wbxml_dictionary.h>
#include <nw_string_char.h>
+#include "PushMtmPrivateCRKeys.h"
+#include <centralrepository.h>
// CONSTANTS
@@ -119,10 +121,14 @@
void CSLContentHandler::ConstructL()
{
PUSHLOG_ENTERFN("CSLContentHandler::ConstructL")
-
+
+ CRepository* PushSL = CRepository::NewL( KCRUidPushMtm );
+ CleanupStack::PushL( PushSL );
+ User::LeaveIfError( PushSL->Get( KPushMtmServiceEnabled , iPushSLEnabled ) );
+ CleanupStack::PopAndDestroy( PushSL );
+
CPushContentHandlerBase::ConstructL();
// Added to Active Scheduler.
-
PUSHLOG_LEAVEFN("CSLContentHandler::ConstructL")
}
@@ -136,18 +142,16 @@
DoCollectGarbageL();
-#ifdef __SERIES60_PUSH_SL
- iState = EFilteringAndParsing;
-#else // __SERIES60_PUSH_SL
- // Do nothing - message is discarded.
- iState = EDone;
-#endif // __SERIES60_PUSH_SL
+ if(iPushSLEnabled)
+ iState = EFilteringAndParsing;
+ else
+ iState = EDone;
+
IdleComplete();
PUSHLOG_LEAVEFN("CSLContentHandler::CollectGarbageL")
}
-#ifdef __SERIES60_PUSH_SL
// ---------------------------------------------------------
// CSLContentHandler::ParsePushMsgL
@@ -1015,7 +1019,6 @@
PUSHLOG_LEAVEFN("CSLContentHandler::StoreSLMessageL")
}
-#endif // __SERIES60_PUSH_SL
// ---------------------------------------------------------
// CSLContentHandler::HandleMessageL
@@ -1127,58 +1130,63 @@
break;
}
-#ifdef __SERIES60_PUSH_SL
case EFilteringAndParsing:
{
- if ( !FilterPushMsgL() )
- {
- // It did not pass the filter. Done.
- iState = EDone;
- IdleComplete();
- }
- else
+ if(iPushSLEnabled)
{
- // Continue.
- TInt ret = KErrNone;
- PUSHLOG_WRITE("CSLContentHandler::RunL : before trapping parsing.")
- TRAP(ret, ParsePushMsgL());
- PUSHLOG_WRITE_FORMAT("CSLContentHandler::RunL : after trapping parsing. ret = %d", ret)
- if ( ret != KErrNone)
- {
- PUSHLOG_WRITE("CSLContentHandler::RunL : Parsing failed. discarding message.")
- iState = EDone;
- IdleComplete();
- }
+ if ( !FilterPushMsgL() )
+ {
+ // It did not pass the filter. Done.
+ iState = EDone;
+ IdleComplete();
+ }
+ else
+ {
+ // Continue.
+ TInt ret = KErrNone;
+ PUSHLOG_WRITE("CSLContentHandler::RunL : before trapping parsing.")
+ TRAP(ret, ParsePushMsgL());
+ PUSHLOG_WRITE_FORMAT("CSLContentHandler::RunL : after trapping parsing. ret = %d", ret)
+ if ( ret != KErrNone)
+ {
+ PUSHLOG_WRITE("CSLContentHandler::RunL : Parsing failed. discarding message.")
+ iState = EDone;
+ IdleComplete();
+ }
+ }
}
break;
}
case EProcessing:
{
+ if(iPushSLEnabled)
ProcessingPushMsgEntryL();
break;
}
case EFetching:
{
+ if(iPushSLEnabled)
FetchPushMsgEntryL();
break;
}
case EFetchCompleted:
{
+ if(iPushSLEnabled)
FetchCompletedL();
break;
}
case ESavePushMsgEntry:
{
+ if(iPushSLEnabled)
SavePushMsgEntryL();
break;
}
-#endif // __SERIES60_PUSH_SL
case EDone:
{
--- a/pushmtm/Plugins/PushContentHandler/CSLContentHandler.h Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Plugins/PushContentHandler/CSLContentHandler.h Wed Mar 31 21:35:49 2010 +0300
@@ -88,7 +88,6 @@
*/
void CollectGarbageL();
-#ifdef __SERIES60_PUSH_SL
/**
* Parse the Push SL message using XML parser.
@@ -208,7 +207,6 @@
*/
inline TBool HrefFlag() const;
-#endif // __SERIES60_PUSH_SL
private: // Methods from CPushHandlerBase
@@ -296,6 +294,7 @@
NW_Uint32 iCharEncoding; ///< Char encoding of the current msg.
TBool iSaveAsRead; ///< Mark the message 'read' after saving.
+ TInt iPushSLEnabled;
};
#include "CSLContentHandler.inl"
--- a/pushmtm/Plugins/PushContentHandler/CSLContentHandler.inl Mon Mar 15 12:40:52 2010 +0200
+++ b/pushmtm/Plugins/PushContentHandler/CSLContentHandler.inl Wed Mar 31 21:35:49 2010 +0300
@@ -17,7 +17,6 @@
-#ifdef __SERIES60_PUSH_SL
inline void CSLContentHandler::SetActionFlag( TBool aAction )
{
@@ -53,5 +52,4 @@
return iAttributes & EHref;
}
-#endif // __SERIES60_PUSH_SL
Binary file pushmtm/conf/pushmtm.confml has changed
Binary file pushmtm/conf/pushmtm_10008D42.crml has changed