# HG changeset patch # User hgs # Date 1287123405 -19800 # Node ID ae69c2e8bc342d7ffabf78bcf87910c8cc729440 # Parent d2517372cc44931571b9df8b4eb26d77c99b0035 201041 diff -r d2517372cc44 -r ae69c2e8bc34 dcmofw/dcmoclient/src/dcmoclient.cpp --- a/dcmofw/dcmoclient/src/dcmoclient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/dcmofw/dcmoclient/src/dcmoclient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -99,15 +99,21 @@ { RDEBUG("RDCMOClient::OpenL()- Begin"); TInt res = KErrNone; - res = CreateSession( KDCMOServerName,TVersion(KDCMOServerMajorVersionNumber, KDCMOServerMinorVersionNumber, KDCMOServerBuildVersionNumber), KDCMOServerMessageSlotNumber ); - if ( res == KErrNotFound || res == KErrServerTerminated ) - { - RDEBUG("RDCMOClient::OpenL()- session not created"); - res = StartServerL(); - User::LeaveIfError( res ); - res = CreateSession( KDCMOServerName,TVersion(KDCMOServerMajorVersionNumber, KDCMOServerMinorVersionNumber, KDCMOServerBuildVersionNumber), KDCMOServerMessageSlotNumber ); - } - User::LeaveIfError( res ); + const int maxRetry(4); + TInt retry = maxRetry; + do { + res = CreateSession( KDCMOServerName,TVersion(KDCMOServerMajorVersionNumber, KDCMOServerMinorVersionNumber, KDCMOServerBuildVersionNumber), KDCMOServerMessageSlotNumber ); + if (KErrNotFound != res && KErrServerTerminated != res) { + retry =0; + } else { + TRAP(res, StartServerL()); + if (KErrNone == res || KErrAlreadyExists == res) { + retry =0; + res = CreateSession( KDCMOServerName,TVersion(KDCMOServerMajorVersionNumber, KDCMOServerMinorVersionNumber, KDCMOServerBuildVersionNumber), KDCMOServerMessageSlotNumber ); + } + } + } while (--retry > 0); + User::LeaveIfError( res ); RDEBUG_2("RDCMOClient::OpenL()- End with Errorcode as %d",res); return res; } diff -r d2517372cc44 -r ae69c2e8bc34 dcmofw/dcmoserver/src/dcmoserver.cpp --- a/dcmofw/dcmoserver/src/dcmoserver.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/dcmofw/dcmoserver/src/dcmoserver.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -300,10 +300,10 @@ if(categotyNumber != -1) { RDEBUG("CDCMOServer::GetIntAttributeL(): LocalCategory"); - CDCMOGenericControl* iGenericControl = new(ELeave) CDCMOGenericControl; - err = iGenericControl->GetIntAttributeL(categotyNumber, id, value); - delete iGenericControl; - iGenericControl = NULL; + CDCMOGenericControl* genericControl = new(ELeave) CDCMOGenericControl; + CleanupStack::PushL(genericControl); + err = genericControl->GetIntAttributeL(categotyNumber, id, value); + CleanupStack::PopAndDestroy(genericControl); //genericControl } else { @@ -335,10 +335,10 @@ if(categotyNumber != -1) { RDEBUG("CDCMOServer::GetStrAttributeL(): LocalCategory"); - CDCMOGenericControl* iGenericControl = new(ELeave) CDCMOGenericControl; - err = iGenericControl->GetStrAttributeL(categotyNumber, id, strValue); - delete iGenericControl; - iGenericControl = NULL; + CDCMOGenericControl* genericControl = new(ELeave) CDCMOGenericControl; + CleanupStack::PushL(genericControl); + err = genericControl->GetStrAttributeL(categotyNumber, id, strValue); + CleanupStack::PopAndDestroy(genericControl); //genericControl } else { @@ -372,8 +372,9 @@ if(categotyNumber != -1) { RDEBUG("CDCMOServer::SetIntAttributeL(): LocalCategory"); - CDCMOGenericControl* iGenericControl = new(ELeave) CDCMOGenericControl; - err = iGenericControl->SetIntAttributeL(categotyNumber, id, value); + CDCMOGenericControl* genericControl = new(ELeave) CDCMOGenericControl; + CleanupStack::PushL(genericControl); + err = genericControl->SetIntAttributeL(categotyNumber, id, value); TBool result = HbTextResolverSymbian::Init(KdcmoResourceFileName, KdcmoResourceFilePath ); @@ -389,8 +390,7 @@ _LIT(KTextFOTA, "txt_device_update_info_firmware_update"); stringHolder = HbTextResolverSymbian::LoadL(KTextFOTA); } - delete iGenericControl; - iGenericControl = NULL; + CleanupStack::PopAndDestroy(genericControl); //genericControl } else { diff -r d2517372cc44 -r ae69c2e8bc34 devicemgmtnotifications/dmdevdialogclient/src/dmdevdialogclient.cpp --- a/devicemgmtnotifications/dmdevdialogclient/src/dmdevdialogclient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/devicemgmtnotifications/dmdevdialogclient/src/dmdevdialogclient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -55,17 +55,24 @@ { FLOG(_L("RDmDevDialog::OpenL()- Begin")); TInt res = KErrNone; - FLOG(_L("RDmDevDialog::OpenL()- Secured client")); - res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, + FLOG(_L("RDmDevDialog::OpenL()- Secured client")); + const int maxRetry(4); + TInt retry = maxRetry; + do { + res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, KDmDevDialogServerVersionMinor,0),KDefaultMessageSlots ); - if ( res != KErrNone ) - { - FLOG(_L("RDmDevDialog::OpenL()- session not created")); - res = StartServerL(); - User::LeaveIfError( res ); - res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, + if (KErrNotFound != res && KErrServerTerminated != res) { + retry =0; + } else { + TRAP(res, StartServerL()); + if (KErrNone == res || KErrAlreadyExists == res) { + retry =0; + res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, KDmDevDialogServerVersionMinor,0),KDefaultMessageSlots ); - } + } + } + } while (--retry > 0); + User::LeaveIfError( res ); FLOG(_L("RDmDevDialog::OpenL()- End %d"),res); return res; } diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fmsclient/src/fmsclient.cpp --- a/fotaapplication/fmsclient/src/fmsclient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fmsclient/src/fmsclient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -95,14 +95,21 @@ if( IsSecureClient(FotaStartUp)) { FLOG(_L("RFMSClient::OpenL()- Secured client")); - res = CreateSession( KFMSServerName,TVersion(1,0,0),2 ); - if ( res != KErrNone ) - { - FLOG(_L("RFMSClient::OpenL()- session not created")); - res = StartServerL(); - User::LeaveIfError( res ); - res = CreateSession( KFMSServerName,TVersion(1,0,0),2 ); - } + + const int maxRetry(4); + TInt retry = maxRetry; + do { + res = CreateSession( KFMSServerName,TVersion(1,0,0),2 ); + if (KErrNotFound != res && KErrServerTerminated != res) { + retry =0; + } else { + TRAP(res, StartServerL()); + if (KErrNone == res || KErrAlreadyExists == res) { + retry =0; + res = CreateSession( KFMSServerName,TVersion(1,0,0),2 ); + } + } + } while (--retry > 0); User::LeaveIfError( res ); FLOG(_L("RFMSClient::OpenL()- session created")); CRepository* centrep2 = NULL; diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fmserver/src/fmsserversession.cpp --- a/fotaapplication/fmserver/src/fmsserversession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fmserver/src/fmsserversession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -433,19 +433,21 @@ __UHEAP_MARK; RTelServer telServer; User::LeaveIfError( telServer.Connect()); + CleanupClosePushL( telServer ); FLOG(_L("CFMSSession::PhoneModeL--telServer Connected")); RTelServer::TPhoneInfo teleinfo; User::LeaveIfError( telServer.GetPhoneInfo( 0, teleinfo ) ); FLOG(_L("CFMSSession::PhoneModeL--telServer getting tel info")); RMobilePhone phone; User::LeaveIfError( phone.Open( telServer, teleinfo.iName ) ); + CleanupClosePushL( phone ); FLOG(_L("CFMSSession::PhoneModeL--RMobilePhone opened")); User::LeaveIfError(phone.Initialise()); FLOG(_L("CFMSSession::PhoneModeL--phone.Initialise() success")); RMobilePhone::TMobilePhoneNetworkMode mode; TInt err = phone.GetCurrentMode( mode ); - phone.Close(); - telServer.Close(); + CleanupStack::PopAndDestroy(); // phone + CleanupStack::PopAndDestroy(); // telServer __UHEAP_MARKEND; if( KErrNone == err ) diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/inc/FotaServer.h --- a/fotaapplication/fotaserver/inc/FotaServer.h Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/inc/FotaServer.h Fri Oct 15 11:46:45 2010 +0530 @@ -45,7 +45,7 @@ #define __LEAVE_IF_ERROR(x) if(KErrNone!=x) {FLOG(_L("LEAVE in %s: %d"), __FILE__, __LINE__); User::Leave(x); } //Forward declarations -class FotaFullscreenDialog; +class HbFotaFullscreenDialog; /** File that stores the firmware version at the start of download. This is in fota's private directory*/ _LIT (KSWversionFile, "swv.txt"); @@ -118,7 +118,7 @@ /** * Pauses ongoing download * - * @since S60 v3.1 + * @since SF4 * @param none * @return none, can leave with system wide errors */ @@ -164,7 +164,7 @@ /** * Tries to resume the download. * - * @since S60 v5.2 + * @since SF3 * @param aClient the client which triggers resume * @param aSilentDl Whether to query user for resume? * @return None, can leave with system wide errors @@ -189,6 +189,16 @@ */ void GetUpdateTimeStampL(TDes16& aTime); + + /** + * Get Name,Version and aSize of the current software. + * + * @since S60 v3.1 + * @param aName Name of the software that is last updated. + * @param aVersion Version of the software that is last updated. + * @param aSize Size of the software that is last updated. + * @return None, can leave with system wide errors + */ void GetCurrentFwDetailsL(TDes8& aName, TDes8& aVersion, TInt& aSize); /** @@ -212,7 +222,7 @@ /** * Callback function to notify the network status * - * @since S60 v3.2 + * @since SF4 * @param Status of network connection * @return None */ @@ -275,20 +285,43 @@ * @param none * @return pointer to full screen dialog instance */ - FotaFullscreenDialog* FullScreenDialog(); + HbFotaFullscreenDialog* FullScreenDialog(); /** * Sets the phone's startup reason which will used by Fota Startup Pluggin to any decision. * - * @since S60 v3.2 + * @since SF3 * @param aReason Startup reason, either download interrupted * @return None */ void SetStartupReason(TInt aReason); + /** + * Brings the fotaserver to the foreground or background according to the paramter aVal Passed. + * + * @since SF4 + * @param aVal Value which determines if fotaserver is to be in foreground or in background. + * @return None + */ void ConstructApplicationUI(TBool aVal); + + /** + * To show that some fotaoperation is taking place in the device. It is used by Device Updatesto disabled + * update button. + * + * @since SF4 + * @param aValue - True if fota operation is ongoing, false otherwise. + * @return None + */ void SetServerActive(TBool aValue); + + /** + * This function is called to free the resources which was taken when update takes place. + * + * @since SF4 + * @return None + */ void FinalizeUpdate(); public: @@ -369,10 +402,34 @@ */ void StopServerWhenPossible(); + /** + * Sets a flag, which determines if server can be shutdown or not. + * + * @since SF4 + * @param aParams - True if server can shut, false otherwise. + * @return None + */ void ServerCanShut(TBool aParam); + + /** + * Decrements the download restart counter, it is used when previous software update is failed + * and user tries to resume the same. + * + * @since SF4 + * @param None + * @return None + */ TBool DecrementDownloadRestartCount(); + + /** + * Calls the fullscreen dialog setvisible function to make it visible. + * + * @since SF4 + * @param aVisible - True if fullscreen dialog is to be visible, false otherwise. + * @return None + */ void SetVisible(TBool aVisible); protected: @@ -588,20 +645,42 @@ void ShowFullScreenDialog(TInt aType); /** - * Swaps the fota process from background to foreground + * Resets the postpone counter to zero * * @since SF4 - * @param aState - true will bring to foreground, false to background + * @param None * @return None */ - //void swapProcess(TBool aState); - void ResetCounters(); + + /** + * Checks if user's postpone counter is expired or not. + * + * @since SF4 + * @param None + * @return Tbool - True if postpone is allowed, false otherwise. + */ TBool IsUserPostponeAllowed(); + + /** + * Decrements the user postpone count, if user has used it. + * + * @since SF4 + * @param None + * @return None + */ void DecrementUserPostponeCount(); + + /** + * Sets a flag, which stops the shut down of fotaserver. + * + * @since SF4 + * @param None + * @return None + */ void WakeupServer(); private: @@ -710,13 +789,16 @@ /** * The full screen dialog */ - FotaFullscreenDialog *iFullScreenDialog; + HbFotaFullscreenDialog *iFullScreenDialog; /** * The notifier params to the dialogs */ CHbSymbianVariantMap * iNotifParams; + /** + * The notifier which shows the device dialog. + */ CFotaDownloadNotifHandler * iNotifier; /** * Can the server shut? @@ -728,7 +810,6 @@ */ TBool iAsyncOperation; - TInt iDialogId; TBool iConstructed; diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/inc/fotafullscreendialog.h --- a/fotaapplication/fotaserver/inc/fotafullscreendialog.h Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/inc/fotafullscreendialog.h Fri Oct 15 11:46:45 2010 +0530 @@ -42,18 +42,28 @@ // CLASS DECLARATION /** - * FotaFullscreenDialog + * HbFotaFullscreenDialog * */ -class FotaFullscreenDialog : public QObject +class HbFotaFullscreenDialog : public QObject { Q_OBJECT public: - FotaFullscreenDialog(CFotaServer* aObserver); + /** + * Constructor to construct the fullscreen dialog. + * @param aObserver - Observer to notify the user inputs from the fullscreen dialog + * @return void + */ + HbFotaFullscreenDialog(CFotaServer* aObserver); - ~FotaFullscreenDialog(); + + /** + * Destructor for the full screen dialog + * @return void + */ + ~HbFotaFullscreenDialog(); /** * This function updates the details of the update to the fullscreen dialog. @@ -62,7 +72,7 @@ * @param aName - the package name of the current update. * @return void */ - void SetSoftwareDetails(int size, const QString version, + void setSoftwareDetails(int size, const QString version, const QString aName); /** @@ -70,39 +80,48 @@ * @param aType - the state in which the firmware update is in(downloading or donwload complete) * @return void */ - void SetWarningDetails(TFotaWarningType aType); + void setWarningDetails(TFotaWarningType aType); /** * This function updates the download progress bar to the progress value passed. * @param aProgress - the progress value to be update to the progress bar. * @return void */ - void UpdateProgressBar(TInt aProgress); + void updateProgressBar(TInt aProgress); /** * Used to change the warnings and softkeys required for the update dialog * @param void * @return void */ - void ShowUpdateDialog(); + void showUpdateDialog(); /** * Used to refresh the dialog when the content of the dialog content changes. * @param void * @return void */ - void Close(); + void close(); /** * Used to disable the RSK of the dialog when resume dialogs * @param aVal - to enable or disable the key * @return void */ - void DisableRSK(TBool aVal); + void disableRSK(TBool aVal); - bool IsLSKEnabled(); + /** + * Used to determine if the LSK of the dialog is enabled or not. + * @return bool: returns if LSK id enabled or disabled. + */ + bool isLSKEnabled(); - void SetVisible(TBool aVisible); + /** + * Used to set the fullscreen dialog visible + * @param aVisible - To set the visibility to true/false. + * @return void + */ + void setVisible(TBool aVisible); private: @@ -111,7 +130,7 @@ * @param void * @return void */ - void RefreshDialog(); + void refreshDialog(); public slots: @@ -120,14 +139,14 @@ * @param void * @return void */ - void LSKSelected(); + void lSKSelected(); /** * Slot to be called when user selects the Right soft key. * @param void * @return void */ - void RSKSelected(); + void rSKSelected(); /** * Slot to be called when the dialog is about to get closed. @@ -139,53 +158,54 @@ private: // dialog instance - HbDialog * idialog; + HbDialog * m_dialog; //document loader to load the widgets - HbDocumentLoader iloader; + HbDocumentLoader m_loader; //progress bar for updating download progress - HbProgressBar * iprogressBar; + HbProgressBar * m_progressBar; // Fota server instance to send the keypress event - CFotaServer* iServer; + CFotaServer* m_Server; // LSK of the dialog - HbPushButton * iPrimaryAction; + HbPushButton * m_PrimaryAction; // RSK of the dialog - HbPushButton * iSecondaryAction; + HbPushButton * m_SecondaryAction; // Flag to differentiate from keypress and dialog timeout case. - TBool iClicked; + TBool m_Clicked; // Warning note displayed in the full screen dialog - HbLabel *iInstallNote; + HbLabel *m_InstallNote; // Warning note displayed in the full screen dialog - HbLabel *iRestartNote; + HbLabel *m_RestartNote; // Warning note displayed in the full screen dialog - HbLabel *iRestartIcon; + HbLabel *m_RestartIcon; // Warning note displayed in the full screen dialog - HbLabel *iEmergencyNote; + HbLabel *m_EmergencyNote; // Warning note displayed in the full screen dialog - HbLabel *iEmergencyIcon; + HbLabel *m_EmergencyIcon; // Warning note displayed in the full screen dialog - HbLabel *iChargerNote; + HbLabel *m_ChargerNote; - HbLabel *iChargerIcon; + // Variable which holds the charger icon from the docml. + HbLabel *m_ChargerIcon; // To display the state of the download above progress bar - HbLabel *iDownloadState; + HbLabel *m_DownloadState; // Fullscreen dialog title. - HbLabel *iTitle; + HbLabel *m_Title; // Firmware details that is to be shwon in full screen dialog. - HbLabel *iSwDetails; + HbLabel *m_SwDetails; }; #endif // CLASSNAME_H diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/inc/fotanotifiers.h --- a/fotaapplication/fotaserver/inc/fotanotifiers.h Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/inc/fotanotifiers.h Fri Oct 15 11:46:45 2010 +0530 @@ -11,7 +11,7 @@ * * Contributors: * - * Description: + * Description: Fota notifier. * */ #ifndef FOTANOTIFIER_H @@ -43,7 +43,7 @@ /** * Construction and setting of observer happens here * - * @since S60 SF4 + * @since SF4 * @param aObserver is the parent class which owns the notifier and information is * passed to the parent class from the device dialog. */ @@ -54,7 +54,7 @@ /** * constructor for CFotaDownloadNotifHandler * - * @since S60 SF4 + * @since SF4 * @param None */ @@ -63,7 +63,7 @@ /** * Destructor for CFotaDownloadNotifHandler * - * @since S60 SF4 + * @since SF4 * @param None */ @@ -72,14 +72,26 @@ /** * Shows notifier and/or ends download * - * @since S60 SF4 + * @since SF4 * @param aNotifParams Contains necessary information to lauch a notifier */ void CFotaDownloadNotifHandler::LaunchNotifierL( CHbSymbianVariantMap *aNotifParams, TInt aDialogId); - + + /** + * Cancels the device dialog + * + * @since SF4 + */ void Cancel(); + + /** + * Constructs the device dialog + * + * @since SF4 + */ + void ConstructL(); public: // from MHbDeviceDialogObserver @@ -100,14 +112,12 @@ private: - //DownloadClient* iDownload; + //To notify the class using the notifier about the device dialog user response. MfotadevicedialogObserver * iObserver; // Device dialog instance CHbDeviceDialogSymbian* iDevDialog; - TInt iDialogID; - }; #endif // FOTANOTIFIER_H diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/inc/fotaupdate.h --- a/fotaapplication/fotaserver/inc/fotaupdate.h Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/inc/fotaupdate.h Fri Oct 15 11:46:45 2010 +0530 @@ -62,6 +62,8 @@ static CFotaUpdate* NewL(CFotaServer* aServer); virtual ~CFotaUpdate(); + + void ConstructL(); /*****Functions called before update*****/ diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/inc/fsview.h --- a/fotaapplication/fotaserver/inc/fsview.h Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/inc/fsview.h Fri Oct 15 11:46:45 2010 +0530 @@ -23,26 +23,41 @@ class CFotaServer; -class FSView : public HbView +class HbFSView : public HbView { Q_OBJECT public: - FSView(); - ~FSView(); -signals : - /** - * applicationReady() - To emit the application ready signal for matti tool. - */ - void applicationReady(); -public: + /** + * Used to disable the RSK of the dialog when resume dialogs + * @param aVal - to enable or disable the key + * @return void + */ + HbFSView(); + + /** + * Used to disable the RSK of the dialog when resume dialogs + * @param aVal - to enable or disable the key + * @return void + */ + ~HbFSView(); + + /** + * Sets the instance of the fotaserver to the view to access server related variables. + * @param aServer - Instance of the fotaserver which is to be set. + * @return void + */ void SetServer(CFotaServer * aServer); - //Handles the incoming events + /** + * Implements the eventFilter function of HbView and sets the fullscreen dialog to be visible + * @param object - The object on which the event is activated. + * @param event - the event ID of the event which is received + * @return void + */ bool eventFilter(QObject *object, QEvent *event); private: - CFotaServer *iServer; - TBool Initilized; + CFotaServer *m_Server; }; #endif /* FSVIEW_H_ */ diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/FotaDlClient.cpp --- a/fotaapplication/fotaserver/src/FotaDlClient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/FotaDlClient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -67,7 +67,7 @@ TInt ret = ENotOk; - iDownload = iFotaDlMgrClient->Manager()->createDownload(url, type); //Step 6 + iDownload = iFotaDlMgrClient->Manager()->createDownload(url, type); if (iDownload) { @@ -93,8 +93,8 @@ int ret(EOk); - iDownload->setAttribute(ProgressInterval, 100); //Step 7 - iDownload->setAttribute(Priority, High); //Step 8 + iDownload->setAttribute(ProgressInterval, 100); + iDownload->setAttribute(Priority, High); //Setting the default path iDownload->setAttribute(DestinationPath, DefaultPath); @@ -114,7 +114,7 @@ FLOG(_L("DownloadClient::Start >>")); iClientinterrupted = false; - iDownload->start(); //Step 9 + iDownload->start(); FLOG(_L("DownloadClient::Start <<")); return EOk; diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/FotaDlMgrClient.cpp --- a/fotaapplication/fotaserver/src/FotaDlMgrClient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/FotaDlMgrClient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -36,7 +36,9 @@ DownloadManagerClient* DownloadManagerClient::NewL(CFotaServer* aServer) { DownloadManagerClient* self = new (ELeave) DownloadManagerClient(aServer); + CleanupStack::PushL( self ); self->ConstructL(); + CleanupStack::Pop(self); return self; } @@ -68,21 +70,23 @@ iFs.Close(); - /* + + + if (iNotifier) + { + FLOG(_L("DownloadManagerClient::~DownloadManagerClient, iNotifier >>")); + delete iNotifier; + iNotifier = NULL; + FLOG(_L("DownloadManagerClient::~DownloadManagerClient, iNotifier <<")); + } if (iNotifParams) { FLOG(_L("DownloadManagerClient::~DownloadManagerClient, iNotifParams >>")); delete iNotifParams; iNotifParams = NULL; FLOG(_L("DownloadManagerClient::~DownloadManagerClient, iNotifParams <<")); - } - if (iNotifier) - { - FLOG(_L("DownloadManagerClient::~DownloadManagerClient, iNotifier >>")); - delete iNotifier; - iNotifier = NULL; - FLOG(_L("DownloadManagerClient::~DownloadManagerClient, iNotifier <<")); - }*/ + } + FLOG(_L("DownloadManagerClient::~DownloadManagerClient <<")); } @@ -104,7 +108,9 @@ delete centrep; centrep = NULL; - + + iNotifier = CFotaDownloadNotifHandler::NewL(this); + __LEAVE_IF_ERROR(iFs.Connect()); iProgress = EFalse; @@ -660,12 +666,7 @@ //No network coverage iFotaServer->iPackageState.iResult = RFotaEngineSession::EResDLFailDueToNWIssues; - } - else if (err0 >= HttpRestartFailed && err0 <= ContentExpired) - { - iFotaServer->iPackageState.iResult - = RFotaEngineSession::EResUndefinedError; - } + } else if (err0 == ObjectNotFound) { iFotaServer->iPackageState.iResult @@ -1011,7 +1012,7 @@ FLOG(_L("DownloadManagerClient::ShowDialog, dialogid = %d >>"), adialogid); iFotaServer->ServerCanShut(EFalse); if (iFotaServer->FullScreenDialog()) - iFotaServer->FullScreenDialog()->Close(); + iFotaServer->FullScreenDialog()->close(); if (iFotaServer->iPackageState.iSessionType && adialogid != EFwDLNeedMoreMemory) @@ -1030,20 +1031,12 @@ CleanupStack::PushL(keyParam1); *keyParam1 = KKeyParam1; - HBufC* keyParam2 = HBufC::NewL(10); - CleanupStack::PushL(keyParam2); - *keyParam2 = KKeyParam2; - - HBufC* keyParam3 = HBufC::NewL(10); - CleanupStack::PushL(keyParam3); - *keyParam3 = KKeyParam3; - //adialogid = EFwUpdResumeUpdate; CHbSymbianVariant* dialogId = CHbSymbianVariant::NewL(&adialogid, CHbSymbianVariant::EInt); - CleanupStack::PushL(dialogId); + //CleanupStack::PushL(dialogId); iNotifParams->Add(*keyDialog, dialogId); - iNotifier = CFotaDownloadNotifHandler::NewL(this); + switch (adialogid) { @@ -1078,7 +1071,7 @@ } break; } - CleanupStack::PopAndDestroy(5); + CleanupStack::PopAndDestroy(2); FLOG(_L("DownloadManagerClient::ShowDialog <<")); } diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/FotaNetworkRegStatus.cpp --- a/fotaapplication/fotaserver/src/FotaNetworkRegStatus.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/FotaNetworkRegStatus.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -312,81 +312,5 @@ return status; } -// ----------------------------------------------------------------------------- -// CFotaNetworkRegStatus::IsConnectionPossibleL -// Checks whether the network connection is possible in the given IAP Id -// This method can leave -// ----------------------------------------------------------------------------- -/*TBool CFotaNetworkRegStatus::IsConnectionPossibleL(TInt aIapid) - { - FLOG(_L("CFotaNetworkRegStatus::IsConnectionPossibleL >>")); - TBool status(EFalse); - - TUint32 bearer = FindBearerL(aIapid); - if (bearer == KUidPacketDataBearerType) - { - FLOG(_L("Bearer is Packet data")); - if (CheckGlobalRFState() && CheckNetworkRegStateL()) - { - FLOG(_L("Network is up and connection is possible ")); - status = ETrue; - } - else - { - FLOG(_L("Network is not up and connection is not possible ")); - status = EFalse; - } - } - else if (bearer == KUidWlanBearerType)//for wlan or other bearers - { - FLOG(_L("Bearer is wlan and proceeding for download ")); - //proceed & this else loop to be removed - status = ETrue; - } - else - { - FLOG(_L("Bearer is not packet data or WLAN")); - } - - FLOG(_L("CFotaNetworkRegStatus::IsConnectionPossibleL, status = %d <<"), - status); - return status; - }*/ - -// ---------------------------------------------------------------------------------------- -// CFotaDownload::FindBearerId -// Finds the Bearer Id for a given IAP Id -// ---------------------------------------------------------------------------------------- -/*TUint32 CFotaNetworkRegStatus::FindBearerL(TInt aIapId) - { - FLOG(_L("CFotaNetworkRegStatus::FindBearerL: %d"), aIapId); - TUint32 bearer = 0; - TInt err(KErrNone); - // Query CM Id - TInt cmId(aIapId); - RCmManagerExt CmManagerExt; - TRAP( err, CmManagerExt.OpenL() ); - FLOG(_L("CmManagerExt.OpenL() with error as %d"), err); - if (err == KErrNone) - { - RCmConnectionMethodExt cm; - TRAP( err, cm = CmManagerExt.ConnectionMethodL( cmId ) ); - FLOG(_L("CmManagerExt.ConnectionMethodL with error as %d"), err); - if (err == KErrNone) - { - CleanupClosePushL(cm); - FLOG(_L("cm pushed to cleanupstack ")); - bearer = cm.GetIntAttributeL(CMManager::ECmBearerType); - FLOG(_L("bearer is %d "), bearer); - CleanupStack::PopAndDestroy(); // cm - FLOG(_L("cm poped & destroyed from cleanupstack ")); - } - - CmManagerExt.Close(); - FLOG(_L("CmManagerExt closed ")); - } - FLOG(_L("CFotaNetworkRegStatus::FindBearerL end with bearer: %d"), bearer); - return bearer; - }*/ // End of File diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/FotaServer.cpp --- a/fotaapplication/fotaserver/src/FotaServer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/FotaServer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -15,6 +15,7 @@ * */ // INCLUDE FILES +#include #include #include #include @@ -199,18 +200,18 @@ if (!iFullScreenDialog) { //ConstructApplicationUI(ETrue); - iFullScreenDialog = new FotaFullscreenDialog(this); + iFullScreenDialog = new HbFotaFullscreenDialog(this); } - iFullScreenDialog->SetSoftwareDetails(aSize, aVersion, aName); + iFullScreenDialog->setSoftwareDetails(aSize, aVersion, aName); - iFullScreenDialog->SetWarningDetails(EHbFotaDownload); + iFullScreenDialog->setWarningDetails(EHbFotaDownload); TBool postpone = IsUserPostponeAllowed(); if (!postpone) { FLOG(_L("Disabling option to resume later!")); - iFullScreenDialog->DisableRSK(ETrue); + iFullScreenDialog->disableRSK(ETrue); } FLOG(_L("CFotaServer::StartDownloadDialog <<")); @@ -229,7 +230,7 @@ ConstructApplicationUI(ETrue); } - iFullScreenDialog->UpdateProgressBar(aProgress); + iFullScreenDialog->updateProgressBar(aProgress); FLOG(_L("CFotaServer::UpdateDownloadDialog <<")); } @@ -244,7 +245,6 @@ } ServerCanShut(EFalse); - iDialogId = (TInt) adialogid; iNotifParams = CHbSymbianVariantMap::NewL(); @@ -270,12 +270,9 @@ CHbSymbianVariant* dialogId = CHbSymbianVariant::NewL(&adialogid, CHbSymbianVariant::EInt); - CleanupStack::PushL(dialogId); + //CleanupStack::PushL(dialogId); iNotifParams->Add(*keyDialog, dialogId); - if (!iNotifier) - iNotifier = CFotaDownloadNotifHandler::NewL(this); - switch (adialogid) { case EFwUpdNotEnoughBattery: @@ -291,28 +288,28 @@ FLOG(_L("CFotaServer::EFwUpdResumeUpdate / EFwUpdResumeDownload")); CHbSymbianVariant* param1Val = CHbSymbianVariant::NewL( &iPackageState.iPkgSize, CHbSymbianVariant::EInt); - CleanupStack::PushL(param1Val); + //CleanupStack::PushL(param1Val); iNotifParams->Add(*keyParam1, param1Val); TBuf16 temp1; temp1.Copy(iPackageState.iPkgVersion); CHbSymbianVariant* param2Val = CHbSymbianVariant::NewL( //&iPackageState.iPkgVersion, CHbSymbianVariant::EDes); &temp1, CHbSymbianVariant::EDes); - CleanupStack::PushL(param2Val); + //CleanupStack::PushL(param2Val); iNotifParams->Add(*keyParam2, param2Val); TBuf16 temp2; temp2.Copy(iPackageState.iPkgName); CHbSymbianVariant* param3Val = CHbSymbianVariant::NewL( &temp2, CHbSymbianVariant::EDes); - CleanupStack::PushL(param3Val); + //CleanupStack::PushL(param3Val); iNotifParams->Add(*keyParam3, param3Val); TBool postpone = IsUserPostponeAllowed(); CHbSymbianVariant* param4Val = CHbSymbianVariant::NewL(&postpone, CHbSymbianVariant::EInt); - CleanupStack::PushL(param4Val); + //CleanupStack::PushL(param4Val); iNotifParams->Add(*keyParam4, param4Val); iNotifier->LaunchNotifierL(iNotifParams, adialogid); - CleanupStack::PopAndDestroy(4); + //CleanupStack::PopAndDestroy(4); } break; @@ -324,7 +321,7 @@ } break; } - CleanupStack::PopAndDestroy(6); + CleanupStack::PopAndDestroy(5); FLOG(_L("CFotaServer::ShowDialogL >>")); } @@ -410,17 +407,7 @@ } break; } - /* - if(iNotifParams) - { - delete iNotifParams; iNotifParams = NULL; - } - - if(iNotifier) - { - delete iNotifier; iNotifier = NULL; - }*/ - iDialogId = 0; + FLOG(_L("CFotaServer::HandleDialogResponse<<")); } @@ -453,30 +440,30 @@ { const QString ver = QString::fromUtf8( reinterpret_cast (iPackageState.iPkgVersion.Ptr()), iPackageState.iPkgVersion.Length()); const QString name = QString::fromUtf8( reinterpret_cast (iPackageState.iPkgName.Ptr()), iPackageState.iPkgName.Length()); - iFullScreenDialog = new FotaFullscreenDialog(this); + iFullScreenDialog = new HbFotaFullscreenDialog(this); - iFullScreenDialog->SetSoftwareDetails(iPackageState.iPkgSize, ver, name); - iFullScreenDialog->SetWarningDetails(EHbFotaDownload); + iFullScreenDialog->setSoftwareDetails(iPackageState.iPkgSize, ver, name); + iFullScreenDialog->setWarningDetails(EHbFotaDownload); ConstructApplicationUI(ETrue); } if (aType == EHbFotaUpdate) { - iFullScreenDialog->UpdateProgressBar(100); + iFullScreenDialog->updateProgressBar(100); TBool postpone = IsUserPostponeAllowed(); if (!postpone) { FLOG(_L("Disabling option to resume later!")); - iFullScreenDialog->DisableRSK(ETrue); + iFullScreenDialog->disableRSK(ETrue); } - iFullScreenDialog->ShowUpdateDialog(); + iFullScreenDialog->showUpdateDialog(); } else if (aType == EHbFotaLowBattery) { - iFullScreenDialog->UpdateProgressBar(100); - iFullScreenDialog->DisableRSK(EFalse); - iFullScreenDialog->SetWarningDetails(EHbFotaLowBattery); + iFullScreenDialog->updateProgressBar(100); + iFullScreenDialog->disableRSK(EFalse); + iFullScreenDialog->setWarningDetails(EHbFotaLowBattery); } FLOG(_L("CFotaServer::ShowFullScreenDialog <<")); @@ -607,7 +594,7 @@ iDownloadFinalizer(0), iUpdateFinalizer(0), iTimedExecuteResultFile(0), iTimedSMLSessionClose(0), iAppShutter(0), iMonitor(NULL), iSyncMLAttempts(0), iSyncJobId(-1),iRetryingGASend(EFalse), iNetworkAvailable(EFalse),iFullScreenDialog(NULL), iNotifParams(NULL), iNotifier(NULL), - iServerCanShut(EFalse), iAsyncOperation(EFalse),iDialogId (0), iConstructed(EFalse), iMainwindow(mainwindow) + iServerCanShut(EFalse), iAsyncOperation(EFalse), iConstructed(EFalse), iMainwindow(mainwindow) { RProcess pr; TFullName fn = pr.FullName(); @@ -671,6 +658,8 @@ StartL(KFotaServerName); __LEAVE_IF_ERROR(iFs.Connect()); + + iNotifier = CFotaDownloadNotifHandler::NewL(this); err = iFs.CreatePrivatePath(EDriveC); if (err != KErrNone && err != KErrAlreadyExists) @@ -752,7 +741,6 @@ //Download was started earlier and was interrupted. if (tmp.iState == RFotaEngineSession::EStartingUpdate || tmp.iState - == RFotaEngineSession::EDownloadProgressing || tmp.iState == RFotaEngineSession::EDownloadProgressing) { @@ -937,7 +925,7 @@ FLOG(_L("Download has paused due to an error. Invoking FMS...")); if (iFullScreenDialog) { - iFullScreenDialog->Close(); + iFullScreenDialog->close(); iFullScreenDialog->deleteLater(); iFullScreenDialog = NULL; } @@ -951,7 +939,7 @@ { if (iFullScreenDialog) { - iFullScreenDialog->Close(); + iFullScreenDialog->close(); iFullScreenDialog->deleteLater(); iFullScreenDialog = NULL; } @@ -1211,6 +1199,7 @@ case RFotaEngineSession::EResLowBattery: { reason = EUpdMonitorbattery; + break; } default: { @@ -1377,18 +1366,18 @@ iFullScreenDialog->deleteLater(); } - /* + + if (iNotifier) + { + delete iNotifier; + iNotifier = NULL; + } + if (iNotifParams) { delete iNotifParams; iNotifParams = NULL; - } - - if (iNotifier) - { - delete iNotifier; - iNotifier = NULL; - }*/ + } FLOG(_L("CFotaServer::~CFotaServer <<")); } @@ -1640,7 +1629,7 @@ } -FotaFullscreenDialog* CFotaServer::FullScreenDialog() +HbFotaFullscreenDialog* CFotaServer::FullScreenDialog() { return iFullScreenDialog; } @@ -1751,7 +1740,7 @@ iUpdater->CancelMonitor(); - if (iFullScreenDialog->IsLSKEnabled()) + if (iFullScreenDialog->isLSKEnabled()) { DecrementUserPostponeCount(); } @@ -2700,7 +2689,7 @@ FLOG(_L("CFotaServer::SetVisible >>")); if(iFullScreenDialog) - iFullScreenDialog->SetVisible(aVisible); + iFullScreenDialog->setVisible(aVisible); FLOG(_L("CFotaServer::SetVisible <<")); } diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/fotaSrvSession.cpp --- a/fotaapplication/fotaserver/src/fotaSrvSession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/fotaSrvSession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -93,7 +93,7 @@ client = EFotaScheduler; } else if (aMessage.SecureId() == 0x0323231 || aMessage.SecureId() - == testapp.iUid || aMessage.SecureId() == testapp2.iUid) + == testapp.iUid || aMessage.SecureId() == testapp2.iUid || aMessage.SecureId() == 0x2001133B) { client = EFotaTestApp; } @@ -341,14 +341,6 @@ TInt size(0); FotaServer()->GetCurrentFwDetailsL(name, version, size); - - /* - aMessage.Write(1, name); - aMessage.Write(2, version); - TPckg psize(size); - aMessage.Write(3, psize); - - aMessage.Complete(KErrNone);*/ aMessage.Write(0, name); aMessage.Write(1, version); diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/fotafullscreendialog.cpp --- a/fotaapplication/fotaserver/src/fotafullscreendialog.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/fotafullscreendialog.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -11,13 +11,13 @@ * * Contributors: * - * Description: + * Description: FotaFullscreenDialog, which is responsible for showing the fullscreen dialog of FOTA from the docml. * */ #include "fotafullscreendialog.h" -#include +#include #include #include #include @@ -27,122 +27,130 @@ // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::FotaFullscreenDialog +// HbFotaFullscreenDialog::HbFotaFullscreenDialog // Constructor of the full screen dialogs, it takes all the widgets from the docml // initializes it and sets the progress bar to zero. // --------------------------------------------------------------------------- // -FotaFullscreenDialog::FotaFullscreenDialog(CFotaServer* aObserver) +HbFotaFullscreenDialog::HbFotaFullscreenDialog(CFotaServer* aObserver) { - FLOG(_L("FotaFullscreenDialog::FotaFullscreenDialog >>")); + FLOG(_L("HbFotaFullscreenDialog::HbFotaFullscreenDialog >>")); bool ok = false; - iServer = aObserver; - iloader.load(":/xml/data/fullscreendialog.docml", &ok); + m_Server = aObserver; + m_loader.load(":/xml/data/fullscreendialog.docml", &ok); if (!ok) { return; } - iClicked = EFalse; - idialog = qobject_cast (iloader.findWidget("dialog")); + m_Clicked = EFalse; + m_dialog = qobject_cast (m_loader.findWidget("dialog")); - idialog->setTimeout(HbPopup::NoTimeout); + m_dialog->setTimeout(HbPopup::NoTimeout); - iPrimaryAction = qobject_cast (iloader.findWidget( + m_PrimaryAction = qobject_cast (m_loader.findWidget( "btnHide")); - iSecondaryAction = qobject_cast (iloader.findWidget( + m_SecondaryAction = qobject_cast (m_loader.findWidget( "btnResumeLater")); - iprogressBar = qobject_cast (iloader.findWidget( + m_progressBar = qobject_cast (m_loader.findWidget( "horizontalProgressBar")); - iprogressBar->setProgressValue(0); + m_progressBar->setProgressValue(0); - /*iInstallNote = qobject_cast (iloader.findWidget( - "lblinstallnote"));*/ - iDownloadState = qobject_cast (iloader.findWidget( + m_InstallNote = qobject_cast (m_loader.findWidget( + "lblinstallnote")); + m_InstallNote->setPlainText(hbTrId( + "txt_device_update_info_installation_will_proceed_n")); + + m_DownloadState = qobject_cast (m_loader.findWidget( "lblDownloadState")); - //iEmergencyIcon = qobject_cast (iloader.findWidget( - // "icnEmergency")); - iChargerIcon = qobject_cast (iloader.findWidget("icnCharger")); - HbIcon iconCharger; - //iconCharger.setIconName(:/icons/qgn_prop_sml_http.svg); - //iChargerIcon->setIcon(iconCharger); + m_DownloadState->setPlainText(hbTrId("txt_device_update_info_downloading")); + + m_EmergencyIcon = qobject_cast (m_loader.findWidget( + "icnEmergency")); HbIcon iconEmergency; - //iconEmergency.setIconName(:/icons/qgn_prop_sml_http.svg); - //iEmergencyIcon->setIcon(iconEmergency); - //iEmergencyNote = qobject_cast (iloader.findWidget( - // "lblEmergency")); - //iRestartIcon = qobject_cast (iloader.findWidget("icnInstall")); - //HbIcon iconRestart; - //iconRestart.setIconName(:/icons/qgn_prop_sml_http.svg); - //iRestartIcon->setIcon(iconRestart); - //iRestartNote = qobject_cast (iloader.findWidget( - // "lblRestartNote")); - //installEventFilter(this); - iPrimaryAction->setText(hbTrId("txt_common_button_hide")); - iSecondaryAction->setText(hbTrId("txt_device_update_button_resume_later")); - iTitle = qobject_cast (iloader.findWidget("lblTitle")); - iTitle->setPlainText(hbTrId("txt_device_update_title_updating_phone")); - iDownloadState->setPlainText(hbTrId("txt_device_update_info_downloading")); - //iInstallNote->setPlainText(hbTrId( - // "txt_device_update_info_installation_will_proceed_n")); - iChargerNote = qobject_cast (iloader.findWidget("lblcharger")); - iChargerNote->setPlainText(hbTrId( + iconEmergency.setIconName(":/icons/qgn_prop_sml_http.svg"); + m_EmergencyIcon->setIcon(iconEmergency); + + m_ChargerIcon = qobject_cast (m_loader.findWidget("icnCharger")); + HbIcon iconCharger; + iconCharger.setIconName(":/icons/qgn_prop_sml_http.svg"); + m_ChargerIcon->setIcon(iconCharger); + + m_RestartIcon = qobject_cast (m_loader.findWidget("icnInstall")); + HbIcon iconRestart; + iconRestart.setIconName(":/icons/qgn_prop_sml_http.svg"); + m_RestartIcon->setIcon(iconRestart); + + m_PrimaryAction->setText(hbTrId("txt_common_button_hide")); + m_SecondaryAction->setText(hbTrId("txt_device_update_button_resume_later")); + m_Title = qobject_cast (m_loader.findWidget("lblTitle")); + m_Title->setPlainText(hbTrId("txt_device_update_title_updating_phone")); + + + m_ChargerNote = qobject_cast (m_loader.findWidget("lblcharger")); + m_ChargerNote->setPlainText(hbTrId( "txt_device_update_info_FS_its_recommended_to_connec")); - //iRestartNote->setPlainText(hbTrId( - // "txt_device_update_info_FS_after_the_installation_the")); - //iEmergencyNote->setPlainText(hbTrId( - // "txt_device_update_info_FS_during_the_installation_the")); + + m_RestartNote = qobject_cast (m_loader.findWidget( + "lblRestartNote")); + m_RestartNote->setPlainText(hbTrId( + "txt_device_update_info_FS_after_the_installation_the")); + + m_EmergencyNote = qobject_cast (m_loader.findWidget( + "lblEmergency")); + m_EmergencyNote->setPlainText(hbTrId( + "txt_device_update_info_FS_during_the_installation_the")); - QObject::connect(iPrimaryAction, SIGNAL(clicked()), this, - SLOT(LSKSelected())); - QObject::connect(iSecondaryAction, SIGNAL(clicked()), this, - SLOT(RSKSelected())); - QObject::connect(idialog, SIGNAL(aboutToClose()), this, + QObject::connect(m_PrimaryAction, SIGNAL(clicked()), this, + SLOT(lSKSelected())); + QObject::connect(m_SecondaryAction, SIGNAL(clicked()), this, + SLOT(rSKSelected())); + QObject::connect(m_dialog, SIGNAL(aboutToClose()), this, SLOT(aboutToClose())); - RefreshDialog(); - FLOG(_L("FotaFullscreenDialog::FotaFullscreenDialog <<")); + refreshDialog(); + FLOG(_L("HbFotaFullscreenDialog::HbFotaFullscreenDialog <<")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::refreshDialog +// HbFotaFullscreenDialog::refreshDialog // This function is used to refresh the contents of the full screen dialog // once it is changed. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::RefreshDialog() +void HbFotaFullscreenDialog::refreshDialog() { - FLOG(_L("FotaFullscreenDialog::RefreshDialog >>")); - if (idialog) + FLOG(_L("HbFotaFullscreenDialog::RefreshDialog >>")); + if (m_dialog) { - FLOG(_L("FotaFullscreenDialog::idialog >>")); - iClicked = EFalse; - idialog->show(); + FLOG(_L("HbFotaFullscreenDialog::idialog >>")); + m_Clicked = EFalse; + m_dialog->show(); } - FLOG(_L("FotaFullscreenDialog::RefreshDialog <<")); + FLOG(_L("HbFotaFullscreenDialog::RefreshDialog <<")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::setsoftwaredetails +// HbFotaFullscreenDialog::setSoftwareDetails // This function is called to set the details of the software,which is downloaded. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::SetSoftwareDetails(int size, +void HbFotaFullscreenDialog::setSoftwareDetails(int size, const QString version, const QString aName) { //set Sw Details - FLOG(_L("FotaFullscreenDialog::RefreshDialog >>")); - iSwDetails = qobject_cast (iloader.findWidget("lblSwVersion")); + FLOG(_L("HbFotaFullscreenDialog::RefreshDialog >>")); + m_SwDetails = qobject_cast (m_loader.findWidget("lblSwVersion")); QString content; TReal sizeKB = size / 1024; @@ -161,295 +169,275 @@ content = hbTrId("txt_device_update_info_new_device_software_availab_Kb") .arg(aName) .arg(version).arg(sizeRounded); } - iSwDetails->setPlainText(content); - FLOG(_L("FotaFullscreenDialog::RefreshDialog <<")); + m_SwDetails->setPlainText(content); + FLOG(_L("HbFotaFullscreenDialog::RefreshDialog <<")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::close +// HbFotaFullscreenDialog::close // This slot is called to manually close the dialog. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::Close() +void HbFotaFullscreenDialog::close() { - FLOG(_L("FotaFullscreenDialog::Close <<")); - iClicked = ETrue; - if (idialog) - idialog->close(); - FLOG(_L("FotaFullscreenDialog::Close >>")); + FLOG(_L("HbFotaFullscreenDialog::Close <<")); + m_Clicked = ETrue; + if (m_dialog) + m_dialog->close(); + FLOG(_L("HbFotaFullscreenDialog::Close >>")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::setwarningdetails +// HbFotaFullscreenDialog::setWarningDetails // This function is to set the warnings details of the full screen dialog // according to the state of the firmware update. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::SetWarningDetails(TFotaWarningType aType) +void HbFotaFullscreenDialog::setWarningDetails(TFotaWarningType aType) { - FLOG(_L("FotaFullscreenDialog::SetWarningDetails <<")); + FLOG(_L("HbFotaFullscreenDialog::SetWarningDetails <<")); //set heading content if (aType == EHbFotaDownload) { - FLOG(_L("FotaFullscreenDialog::EHbFotaDownload")); - idialog->setTimeout(HbPopup::NoTimeout); - iInstallNote = qobject_cast (iloader.findWidget( - "lblinstallnote")); - iInstallNote->setPlainText(hbTrId( - "txt_device_update_info_installation_will_proceed_n")); - //User::After(1000); - iInstallNote->setVisible(false); - - iRestartNote = qobject_cast (iloader.findWidget( - "lblRestartNote")); - iRestartNote->setPlainText(hbTrId( - "txt_device_update_info_FS_after_the_installation_the")); - //User::After(1000); - iRestartNote->setVisible(false); - - iRestartIcon = qobject_cast (iloader.findWidget("icnInstall")); - HbIcon iconRestart; - //iconRestart.setIconName(:/icons/qgn_prop_sml_http.svg); - //iRestartIcon->setIcon(iconRestart); - //User::After(1000); - iRestartIcon->setVisible(false); - - iEmergencyNote = qobject_cast (iloader.findWidget( - "lblEmergency")); - iEmergencyNote->setPlainText(hbTrId( - "txt_device_update_info_FS_during_the_installation_the")); - //User::After(1000); - iEmergencyNote->setVisible(false); - - iEmergencyIcon = qobject_cast (iloader.findWidget( - "icnEmergency")); - HbIcon iconEmergency; - //iconEmergency.setIconName(:/icons/qgn_prop_sml_http.svg); - //iEmergencyIcon->setIcon(iconEmergency); - //User::After(1000); - iEmergencyIcon->setVisible(false); - + FLOG(_L("HbFotaFullscreenDialog::EHbFotaDownload")); + m_dialog->setTimeout(HbPopup::NoTimeout); + m_InstallNote->setVisible(false); + m_RestartNote->setVisible(false); + m_RestartIcon->setVisible(false); + m_EmergencyNote->setVisible(false); + m_EmergencyIcon->setVisible(false); } else if (aType == EHbFotaUpdate) { - FLOG(_L("FotaFullscreenDialog::EHbFotaUpdate")); - idialog->setTimeout(HbPopup::ContextMenuTimeout); + FLOG(_L("HbFotaFullscreenDialog::EHbFotaUpdate")); + m_dialog->setTimeout(HbPopup::ContextMenuTimeout); HbIcon iconCharger; - //iconCharger.setIconName(:/icons/qgn_prop_sml_http.svg); - //iChargerIcon->setIcon(iconCharger); + iconCharger.setIconName(":/icons/qtg_small_charger.svg"); + m_ChargerIcon->setIcon(iconCharger); HbIcon iconRestart; - //iconRestart.setIconName(:/icons/qgn_prop_sml_http.svg); - //iRestartIcon->setIcon(iconRestart); - iInstallNote->setPlainText(hbTrId( + iconRestart.setIconName(":/icons/qtg_small_reboot.svg"); + m_RestartIcon->setIcon(iconRestart); + m_InstallNote->setPlainText(hbTrId( "txt_device_update_info_installation_will_proceed_n")); - iChargerNote->setPlainText(hbTrId( + m_ChargerNote->setPlainText(hbTrId( "txt_device_update_info_FS_its_recommended_to_connec")); - iRestartNote->setPlainText(hbTrId( + m_RestartNote->setPlainText(hbTrId( "txt_device_update_info_FS_after_the_installation_the")); - iInstallNote->setVisible(true); - iRestartNote->setVisible(true); - iRestartIcon->setVisible(true); - iEmergencyNote->setVisible(true); - iEmergencyIcon->setVisible(true); - iDownloadState->setPlainText(hbTrId( + m_InstallNote->setVisible(true); + m_RestartNote->setVisible(true); + m_RestartIcon->setVisible(true); + m_EmergencyNote->setVisible(true); + m_EmergencyIcon->setVisible(true); + m_DownloadState->setPlainText(hbTrId( "txt_device_update_info_download_complete")); - iDownloadState->setVisible(true); - iPrimaryAction->setEnabled(ETrue); + m_DownloadState->setVisible(true); + m_PrimaryAction->setEnabled(ETrue); } else if (aType == EHbFotaLowBattery) { - FLOG(_L("FotaFullscreenDialog::EHbFotaLowBattery")); - idialog->setTimeout(HbPopup::NoTimeout); + FLOG(_L("HbFotaFullscreenDialog::EHbFotaLowBattery")); + m_dialog->setTimeout(HbPopup::NoTimeout); HbIcon iconCharger; - //iconCharger.setIconName(:/icons/qgn_prop_sml_http.svg); - //iChargerIcon->setIcon(iconCharger); + iconCharger.setIconName(":/icons/qtg_small_reboot.svg"); + m_ChargerIcon->setIcon(iconCharger); HbIcon iconRestart; - //iconRestart.setIconName(:/icons/qgn_prop_sml_http.svg); - //iRestartIcon->setIcon(iconRestart); - iInstallNote->setPlainText(hbTrId( + iconRestart.setIconName(":/icons/qtg_small_phone_disabled.svg"); + m_RestartIcon->setIcon(iconRestart); + m_InstallNote->setPlainText(hbTrId( "txt_device_update_info_to_proceed_with_installatio")); - iChargerNote->setPlainText(hbTrId( + m_ChargerNote->setPlainText(hbTrId( "txt_device_update_info_FS_after_the_installation_the")); - iRestartNote->setPlainText(hbTrId( + m_RestartNote->setPlainText(hbTrId( "txt_device_update_info_FS_during_the_installation_the")); - //iEmergencyNote->setPlainText(hbTrId("txt_device_update_info_FS_during_the_installation_the")); - iInstallNote->setVisible(true); - iRestartNote->setVisible(true); - iRestartIcon->setVisible(true); - iEmergencyNote->setVisible(false); - iEmergencyIcon->setVisible(false); - iDownloadState->setPlainText(hbTrId( + m_InstallNote->setVisible(true); + m_RestartNote->setVisible(true); + m_RestartIcon->setVisible(true); + m_EmergencyNote->setVisible(false); + m_EmergencyIcon->setVisible(false); + m_DownloadState->setPlainText(hbTrId( "txt_device_update_info_download_complete")); - iDownloadState->setVisible(true); - iPrimaryAction->setText(hbTrId("txt_device_update_button_continue")); - iSecondaryAction->setText(hbTrId( + m_DownloadState->setVisible(true); + m_PrimaryAction->setText(hbTrId("txt_device_update_button_continue")); + m_SecondaryAction->setText(hbTrId( "txt_device_update_button_install_later")); - iPrimaryAction->setEnabled(EFalse); + m_PrimaryAction->setEnabled(EFalse); } - RefreshDialog(); - FLOG(_L("FotaFullscreenDialog::SetWarningDetails >>")); + refreshDialog(); + FLOG(_L("HbFotaFullscreenDialog::SetWarningDetails >>")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::updateprogressbar +// HbFotaFullscreenDialog::updateprogressbar // This function is called to update the progress bar with the download progress details/. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::UpdateProgressBar(TInt aProgress) +void HbFotaFullscreenDialog::updateProgressBar(TInt aProgress) { - FLOG(_L("FotaFullscreenDialog::UpdateProgressBar <<")); - iprogressBar->setProgressValue(aProgress); - FLOG(_L("FotaFullscreenDialog::UpdateProgressBar >>")); + FLOG(_L("HbFotaFullscreenDialog::UpdateProgressBar <<")); + m_progressBar->setProgressValue(aProgress); + FLOG(_L("HbFotaFullscreenDialog::UpdateProgressBar >>")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::DisableRSK +// HbFotaFullscreenDialog::disableRSK // This function is called disable the RSK of the dialog when the postpone limeit expires // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::DisableRSK(TBool aVal) +void HbFotaFullscreenDialog::disableRSK(TBool aVal) { - FLOG(_L("FotaFullscreenDialog::DisableRSK <<")); - iSecondaryAction->setEnabled(!aVal); - FLOG(_L("FotaFullscreenDialog::DisableRSK >>")); - } - -bool FotaFullscreenDialog::IsLSKEnabled() - { - FLOG(_L("FotaFullscreenDialog::IsLSKEnabled <<")); - return (iPrimaryAction->isEnabled()); + FLOG(_L("HbFotaFullscreenDialog::DisableRSK <<")); + m_SecondaryAction->setEnabled(!aVal); + FLOG(_L("HbFotaFullscreenDialog::DisableRSK >>")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::cancelSelected +// HbFotaFullscreenDialog::isLSKEnabled +// This function is called to check if left softkey of the fullscreen dialog is disabled or not. +// --------------------------------------------------------------------------- +// + +bool HbFotaFullscreenDialog::isLSKEnabled() + { + FLOG(_L("HbFotaFullscreenDialog::IsLSKEnabled <<")); + return (m_PrimaryAction->isEnabled()); + } + +// --------------------------------------------------------------------------- +// HbFotaFullscreenDialog::cancelSelected // This slot is called when user presses the left softkey of fullscreen dialog. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::LSKSelected() +void HbFotaFullscreenDialog::lSKSelected() { FLOG(_L("FotaFullscreenDialog::LSKSelected <<")); - iClicked = ETrue; - idialog->hide(); - iServer->HandleFullScreenDialogResponse(EHbLSK); - FLOG(_L("FotaFullscreenDialog::LSKSelected >>")); + m_Clicked = ETrue; + m_dialog->hide(); + m_Server->HandleFullScreenDialogResponse(EHbLSK); + FLOG(_L("HbFotaFullscreenDialog::LSKSelected >>")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::cancelSelected +// HbFotaFullscreenDialog::cancelSelected // This slot is called when user presses the right softkey of fullscreen dialog. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::RSKSelected() +void HbFotaFullscreenDialog::rSKSelected() { - FLOG(_L("FotaFullscreenDialog::RSKSelected >>")); - iClicked = ETrue; - idialog->hide(); - iServer->HandleFullScreenDialogResponse(EHbRSK); - FLOG(_L("FotaFullscreenDialog::RSKSelected <<")); + FLOG(_L("HbFotaFullscreenDialog::RSKSelected >>")); + m_Clicked = ETrue; + m_dialog->hide(); + m_Server->HandleFullScreenDialogResponse(EHbRSK); + FLOG(_L("HbFotaFullscreenDialog::RSKSelected <<")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::~FotaFullscreenDialog +// HbFotaFullscreenDialog::~HbFotaFullscreenDialog // Destructor which destroys all the widgets // --------------------------------------------------------------------------- // -FotaFullscreenDialog::~FotaFullscreenDialog() +HbFotaFullscreenDialog::~HbFotaFullscreenDialog() { - FLOG(_L("~ FotaFullscreenDialog <<")); + FLOG(_L("~ HbFotaFullscreenDialog <<")); - QObject::disconnect(iPrimaryAction, SIGNAL(clicked()), this, + QObject::disconnect(m_PrimaryAction, SIGNAL(clicked()), this, SLOT(LSKSelected())); - QObject::disconnect(iSecondaryAction, SIGNAL(clicked()), this, + QObject::disconnect(m_SecondaryAction, SIGNAL(clicked()), this, SLOT(RSKSelected())); - QObject::disconnect(idialog, SIGNAL(aboutToClose()), this, + QObject::disconnect(m_dialog, SIGNAL(aboutToClose()), this, SLOT(aboutToClose())); - if (iprogressBar) - iprogressBar->deleteLater(); + if (m_progressBar) + m_progressBar->deleteLater(); - if (iPrimaryAction) - delete iPrimaryAction; + if (m_PrimaryAction) + delete m_PrimaryAction; - if (iSecondaryAction) - delete iSecondaryAction; + if (m_SecondaryAction) + delete m_SecondaryAction; - if (iTitle) - delete iTitle; + if (m_Title) + delete m_Title; - if (iSwDetails) - delete iSwDetails; + if (m_SwDetails) + delete m_SwDetails; - if (iInstallNote) - delete iInstallNote; + if (m_InstallNote) + delete m_InstallNote; - if (iRestartNote) - delete iRestartNote; + if (m_RestartNote) + delete m_RestartNote; - if (iRestartIcon) - delete iRestartIcon; + if (m_RestartIcon) + delete m_RestartIcon; - if (iEmergencyNote) - delete iEmergencyNote; + if (m_EmergencyNote) + delete m_EmergencyNote; - if (iEmergencyIcon) - delete iEmergencyIcon; + if (m_EmergencyIcon) + delete m_EmergencyIcon; - if (iDownloadState) - delete iDownloadState; + if (m_DownloadState) + delete m_DownloadState; - if (idialog) - delete idialog; + if (m_dialog) + delete m_dialog; - FLOG(_L("~ FotaFullscreenDialog >>")); + FLOG(_L("~ HbFotaFullscreenDialog >>")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::showUpdateDialog +// HbFotaFullscreenDialog::showUpdateDialog // This function is called when download is complete and update dialog has to be shown. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::ShowUpdateDialog() +void HbFotaFullscreenDialog::showUpdateDialog() { - FLOG(_L("FotaFullscreenDialog::ShowUpdateDialog <<")); - iPrimaryAction->setText(hbTrId("txt_common_button_continue_dialog")); - iSecondaryAction->setText( + FLOG(_L("HbFotaFullscreenDialog::ShowUpdateDialog <<")); + m_PrimaryAction->setText(hbTrId("txt_common_button_continue_dialog")); + m_SecondaryAction->setText( hbTrId("txt_device_update_button_install_later")); - SetWarningDetails(EHbFotaUpdate); - FLOG(_L("FotaFullscreenDialog::ShowUpdateDialog >>")); + setWarningDetails(EHbFotaUpdate); + FLOG(_L("HbFotaFullscreenDialog::ShowUpdateDialog >>")); } -void FotaFullscreenDialog::SetVisible(TBool aVisible) +// --------------------------------------------------------------------------- +// HbFotaFullscreenDialog::setVisible +// This function is called to make the fullscreen dialog visible. +// --------------------------------------------------------------------------- +// + +void HbFotaFullscreenDialog::setVisible(TBool aVisible) { FLOG(_L("RefreshDialog::SetVisible >>")); - RefreshDialog(); + refreshDialog(); FLOG(_L("RefreshDialog::SetVisible <<")); } // --------------------------------------------------------------------------- -// CFotaDownloadNotifHandler::aboutToClose +// HbFotaFullscreenDialog::aboutToClose // This slot is called when full screen dialogs is cloased during a timeout. // --------------------------------------------------------------------------- // -void FotaFullscreenDialog::aboutToClose() +void HbFotaFullscreenDialog::aboutToClose() { - FLOG(_L("FotaFullscreenDialog::aboutToClose <<")); - if (!iClicked) + FLOG(_L("HbFotaFullscreenDialog::aboutToClose <<")); + if (!m_Clicked) { FLOG(_L("Calling fotaserver as timedout...")); - iServer->HandleFullScreenDialogResponse(EHbLSK); + m_Server->HandleFullScreenDialogResponse(EHbLSK); } - iClicked = EFalse; - FLOG(_L("FotaFullscreenDialog::aboutToClose >>")); + m_Clicked = EFalse; + FLOG(_L("HbFotaFullscreenDialog::aboutToClose >>")); } diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/fotanotifiers.cpp --- a/fotaapplication/fotaserver/src/fotanotifiers.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/fotanotifiers.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -11,7 +11,7 @@ * * Contributors: * - * Description: + * Description: The class is responsible for showing the device dialog from fotaserver. * */ #include "fotanotifiers.h" @@ -29,7 +29,7 @@ __ASSERT_ALWAYS( aObserver, User::Panic(KFotaPanic, KErrArgument) ); CFotaDownloadNotifHandler* h = new (ELeave) CFotaDownloadNotifHandler; h->iObserver = aObserver; - + h->ConstructL(); FLOG(_L("CFotaDownloadNotifHandler::NewL <<")); return h; @@ -37,7 +37,7 @@ // -------------------------------------------------------------------------- CFotaDownloadNotifHandler::CFotaDownloadNotifHandler() : - iDevDialog(NULL), iDialogID(0) + iDevDialog(NULL) { FLOG(_L("CFotaDownloadNotifHandler::CFotaDownloadNotifHandler()")); } @@ -52,6 +52,18 @@ } // --------------------------------------------------------------------------- +// CFotaDownloadNotifHandler::ConstructL +// --------------------------------------------------------------------------- +// + +void CFotaDownloadNotifHandler::ConstructL() + { + FLOG(_L("CFotaDownloadNotifHandler::ConstructL() >>")); + iDevDialog = CHbDeviceDialogSymbian::NewL(); + FLOG(_L("CFotaDownloadNotifHandler::ConstructL() <<")); + } + +// --------------------------------------------------------------------------- // CFotaDownloadNotifHandler::LaunchNotifierL // This function is used the observer which uses this notifer to lauch the notifier // It puts the necessary parameters to lauch the notifier in CHbSymbianVariantMap @@ -61,27 +73,27 @@ CHbSymbianVariantMap *aNotifParams, TInt aDialogId) { FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() >>")); - if (!iDevDialog) - iDevDialog = CHbDeviceDialogSymbian::NewL(); - FLOG(_L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::NewL()")); + if (iDevDialog == NULL) FLOG(_L("Error in CHbDeviceDialogSymbian::NewL()")); - iDialogID = aDialogId; - //connect(mDeviceDialog, SIGNAL(dataReceived(QVariantMap)), this, SLOT(dataReceived(QVariantMap))); - TInt Err = iDevDialog->Show(KHbNotifier, *aNotifParams, this); - FLOG( - _L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::Show() - %d"), + FLOG(_L("CFotaDownloadNotifHandler::CHbDeviceDialogSymbian::Show() - %d"), Err); FLOG(_L("CFotaDownloadNotifHandler::LaunchNotifierL() <<")); } +// --------------------------------------------------------------------------- +// CFotaDownloadNotifHandler::Cancel +// To Cancel the notifier manually. +// --------------------------------------------------------------------------- +// + void CFotaDownloadNotifHandler::Cancel() { FLOG(_L("CFotaDownloadNotifHandler::Cancel >>")); - if (iDialogID) + if(iDevDialog) iDevDialog->Cancel(); FLOG(_L("CFotaDownloadNotifHandler::Cancel <<")); } @@ -97,12 +109,16 @@ { FLOG(_L("CFotaDownloadNotifHandler::DataReceived() >>")); iDevDialog->Cancel(); - TFwUpdNoteTypes ret; - const CHbSymbianVariant* dialogId = aData.Get(KResult); - ret = *(TFwUpdNoteTypes *) dialogId->Value (); - TInt temp = iDialogID; - iDialogID = 0; - iObserver->HandleDialogResponse(ret, temp); + TInt ret; + TFwUpdNoteTypes DialogId; + + const CHbSymbianVariant* dialogId = aData.Get(KKeyDialog); + DialogId = *(TFwUpdNoteTypes *) dialogId->Value (); + + const CHbSymbianVariant* retVal = aData.Get(KResult); + ret = *(retVal->Value ()); + + iObserver->HandleDialogResponse(ret, DialogId); FLOG(_L("CFotaDownloadNotifHandler::DataReceived() <<")); } diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/fotaupdate.cpp --- a/fotaapplication/fotaserver/src/fotaupdate.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/fotaupdate.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -16,7 +16,7 @@ */ // INCLUDE FILES -#include + #include #include #include @@ -24,8 +24,6 @@ #include #include #include -#include -#include #include #include #include @@ -65,6 +63,17 @@ if (iProperty.Handle()) iProperty.Close(); + + if(iNotifier) + { + delete iNotifier; + iNotifier = NULL; + } + if(iNotifParams) + { + delete iNotifParams; + iNotifParams = NULL; + } FLOG(_L("CFotaUpdate::~CFotaUpdate <<")); } @@ -76,11 +85,24 @@ CFotaUpdate* CFotaUpdate::NewL(CFotaServer* aServer) { CFotaUpdate* ao = new (ELeave) CFotaUpdate(); + CleanupStack::PushL( ao ); + ao->ConstructL(); ao->iFotaServer = aServer; + CleanupStack::Pop(ao); return ao; } // --------------------------------------------------------------------------- +// CFotaUpdate::ConstructL +// --------------------------------------------------------------------------- +// + +void CFotaUpdate::ConstructL() + { + iNotifier = CFotaDownloadNotifHandler::NewL(this); + } + +// --------------------------------------------------------------------------- // CFotaUpdate::CheckUpdateResults // Checks if there is update result file available (meaning that update just // took place) @@ -633,7 +655,7 @@ iFotaServer->ServerCanShut(EFalse); if (iFotaServer->FullScreenDialog()) - iFotaServer->FullScreenDialog()->Close(); + iFotaServer->FullScreenDialog()->close(); iNotifParams = CHbSymbianVariantMap::NewL(); @@ -644,7 +666,7 @@ CHbSymbianVariant* dialogId = CHbSymbianVariant::NewL(&aDialogid, CHbSymbianVariant::EInt); iNotifParams->Add(*keyDialog, dialogId); - iNotifier = CFotaDownloadNotifHandler::NewL(this); + iNotifier->LaunchNotifierL(iNotifParams, aDialogid); diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/fsview.cpp --- a/fotaapplication/fotaserver/src/fsview.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/fsview.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -11,44 +11,37 @@ * * Contributors: * - * Description: Implementation of applicationmanagement components + * Description: Implementation of Fotaapplication components * */ #include "fsview.h" -#include "FotaServer.h" +#include "fotaserver.h" // ------------------------------------------------------------------------------------------------ -// FSView::FSView() +// HbFSView::HbFSView() // ------------------------------------------------------------------------------------------------ -FSView::FSView() - { - Initilized = EFalse; - } -// ------------------------------------------------------------------------------------------------ -// FSView::~FSView() -// ------------------------------------------------------------------------------------------------ -FSView::~FSView() +HbFSView::HbFSView() { } // ------------------------------------------------------------------------------------------------ -// FSView::eventFilter() +// HbFSView::~HbFSView() // ------------------------------------------------------------------------------------------------ -bool FSView::eventFilter(QObject *object, QEvent *event) +HbFSView::~HbFSView() + { + + } +// ------------------------------------------------------------------------------------------------ +// HbFSView::eventFilter() +// ------------------------------------------------------------------------------------------------ +bool HbFSView::eventFilter(QObject *object, QEvent *event) { - if( Initilized == EFalse ) - { - emit applicationReady(); - Initilized = ETrue; - } switch (event->type()) { case QEvent::ApplicationActivate: { -// RDEBUG( "eventFilter: QEvent::ApplicationActivate start" ); - iServer->SetVisible(ETrue); -// RDEBUG( "eventFilter: end" ); + m_Server->SetVisible(ETrue); break; } default: @@ -59,7 +52,7 @@ -void FSView::SetServer(CFotaServer * aServer) +void HbFSView::SetServer(CFotaServer * aServer) { - iServer = aServer; + m_Server = aServer; } diff -r d2517372cc44 -r ae69c2e8bc34 fotaapplication/fotaserver/src/main.cpp --- a/fotaapplication/fotaserver/src/main.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/fotaapplication/fotaserver/src/main.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -35,7 +35,7 @@ FLOG(_L("CFotaServer::HbApplication >>")); HbApplication a(argc, argv); - FSView* view = new FSView(); + HbFSView* view = new HbFSView(); FLOG(_L("CFotaServer::HbView >>")); view->hideItems(Hb::AllItems); FLOG(_L("CFotaServer::hideItems >>")); @@ -71,7 +71,6 @@ mainWindow.show(); FLOG(_L("CFotaServer::show <<")); - //app.installEventFilter(view); RSemaphore sem; TInt ret = sem.OpenGlobal(KFotaServerScem); FLOG(_L("CFotaServer::OpenGlobal >>")); diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/Group/AuthtypePluginIcons.mk --- a/omaprovisioning/provisioning/AuthTypePlugin/Group/AuthtypePluginIcons.mk Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -# -# Copyright (c) 2008 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: Icons for Authtypeplugin -# - -ifeq (WINS,$(findstring WINS, $(PLATFORM))) -ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z -else -ZDIR=\epoc32\data\z -endif - -# ---------------------------------------------------------------------------- -# TODO: Configure these -# ---------------------------------------------------------------------------- - -TARGETDIR=$(ZDIR)\resource\apps -HEADERDIR=\epoc32\include -ICONTARGETFILENAME=$(TARGETDIR)\Authtypeplugin.mif -HEADERFILENAME=$(HEADERDIR)\Authtypeplugin.mbg - -do_nothing : - @rem do_nothing - -MAKMAKE : do_nothing - -BLD : do_nothing - -CLEAN : do_nothing - -LIB : do_nothing - -CLEANLIB : do_nothing - -# ---------------------------------------------------------------------------- -# TODO: Configure these. -# -# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by -# MifConv if the mask detph is defined. -# -# NOTE 2: Usually, source paths should not be included in the bitmap -# definitions. MifConv searches for the icons in all icon directories in a -# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps. -# The directory \s60\icons is included in the search only if the feature flag -# __SCALABLE_ICONS is defined. -# ---------------------------------------------------------------------------- - -RESOURCE : - mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \ - /c8,8 qgn_prop_set_conn_config.svg - -FREEZE : do_nothing - -SAVESPACE : do_nothing - -RELEASABLES : - @echo $(HEADERFILENAME)&& \ - @echo $(ICONTARGETFILENAME) - -FINAL : do_nothing diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/Group/Authtypeplugin.mmp --- a/omaprovisioning/provisioning/AuthTypePlugin/Group/Authtypeplugin.mmp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -/* -* Copyright (c) 2008 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: Project specification file for Authtypeplugin. -* -*/ - -#include //this is needed for RESOURCE_FILES_DIR - -// To get the MW_LAYER_SYSTEMINCLUDE-definition -#include - -CAPABILITY CAP_ECOM_PLUGIN -TARGET authtypeplugin.dll -TARGETTYPE PLUGIN -UID 0x10009D8D 0x2001247C -VENDORID VID_DEFAULT - -SOURCEPATH ../src - - -SOURCE Authtypeplugin.cpp -SOURCE AuthtypepluginImplementationTable.cpp - -USERINCLUDE ../data ../../Group -USERINCLUDE ../inc -USERINCLUDE ../../ProvisioningEngine/Inc - - -SYSTEMINCLUDE . -SYSTEMINCLUDE /epoc32/include/cshelp -SYSTEMINCLUDE /epoc32/include/ecom -// Default system include paths for middleware layer modules. -APP_LAYER_SYSTEMINCLUDE - -SOURCEPATH ../data - -//ECOM resource definition -START RESOURCE 2001247C.rss -TARGET authtypeplugin.rsc -TARGETPATH ECOM_RESOURCE_DIR -END // ECOM resource definition - -//OperatorLogo resources -START RESOURCE AuthtypepluginRsc.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END // OperatorLogo resources - -LIBRARY eiksrv.lib -LIBRARY aknskins.lib // AknsUtils.h -LIBRARY apgrfx.lib // RApaLsSession -LIBRARY apparc.lib -LIBRARY bafl.lib -LIBRARY commdb.lib -LIBRARY CommonEngine.lib // RConeResourceLoader -LIBRARY cone.lib -LIBRARY ecom.lib -LIBRARY efsrv.lib -LIBRARY egul.lib // CGulIcon -LIBRARY eikcore.lib -LIBRARY euser.lib -LIBRARY featmgr.lib // FeatureManager -LIBRARY gsecomplugin.lib -LIBRARY gsframework.lib // Base classes -LIBRARY gslistbox.lib // CGSListBoxItemTextArray -LIBRARY ws32.lib -LIBRARY akncapserverclient.lib centralrepository.lib provisioningengine.lib -LIBRARY aknicon.lib - -DEBUGLIBRARY flogger.lib // RFileLogger - - -SMPSAFE -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/data/2001247C.rss --- a/omaprovisioning/provisioning/AuthTypePlugin/data/2001247C.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* -* Copyright (c) 2001 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: ECOM plugin resource file for Authtypeplugin. - * -*/ - -#include - -RESOURCE REGISTRY_INFO theInfo - { - dll_uid = 0x2001247C; - interfaces = - { - INTERFACE_INFO - { - interface_uid = 0x10207236; - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = 0x2001247D; - version_no = 1; - display_name = "Authenticationtype Plugin"; - default_data = "0x10283341"; // Parent UID - opaque_data = "45"; // Order number - } - }; - } - }; - } - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/data/AuthtypepluginRsc.rss --- a/omaprovisioning/provisioning/AuthTypePlugin/data/AuthtypepluginRsc.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -/* -* Copyright (c) 2008 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: Resource file for AuthtypePlugin. - * -*/ - - -// RESOURCE IDENTIFIER -NAME HARS // 4 letter ID - -// INCLUDES -//#include "../../loc/AuthtypePlugin.loc" // config localized strings -#include "authtypeplugin.loc" // config localized strings -#include -#include -#include - -#include -#include -#include // Avkon localized strings -#include -#include -#include -#include - -// CONSTANTS - -// RESOURCE DEFINITIONS - -//---------------------------------------------------- -// -// -// Needed or loading the resource fails! -// -//---------------------------------------------------- -// -RESOURCE RSS_SIGNATURE - { - } - -//---------------------------------------------------- -// -// r_set_conf_msg_authentication_gs -// Authentication type Plugin caption. -// -//---------------------------------------------------- -// -RESOURCE TBUF r_set_conf_msg_authentication_cp - { - buf = qtn_set_conf_msg_authentication_cp; - } - -//---------------------------------------------------- -// -// r_qtn_set_conf_auth_method -// Title note -// -//---------------------------------------------------- -// - -RESOURCE TBUF r_qtn_set_conf_auth_method - { - buf = qtn_set_conf_auth_method; - } - -//---------------------------------------------------- -// -// r_qtn_conf_auth_network_pin -// Network Pin only item. -// -//---------------------------------------------------- -// - -RESOURCE TBUF r_qtn_conf_auth_network_pin - { - buf = qtn_conf_auth_network_pin; - } - -//---------------------------------------------------- -// -// r_qtn_conf_auth_network_or_user_pin -// Network or User PIN item. -// -//---------------------------------------------------- -// - -RESOURCE TBUF r_qtn_conf_auth_network_or_user_pin - { - buf = qtn_conf_auth_network_or_user_pin; - } - -//---------------------------------------------------- -// -// r_qtn_conf_auth_all_auth -// All methods supported item. -// -//---------------------------------------------------- -// - -RESOURCE TBUF r_qtn_conf_auth_all_auth - { - buf = qtn_conf_auth_all_auth; - } - -//---------------------------------------------------- -// -// r_qtn_conf_auth_all_auth_note -// All methods selection note. -// -//---------------------------------------------------- -// - -RESOURCE TBUF r_qtn_conf_auth_all_auth_note - { - buf = qtn_conf_auth_all_auth_note; - } - -//---------------------------------------------------- -// -// r_qtn_conf_auth_network_or_user_pin_note -// Network or User PIN selection note -// -//---------------------------------------------------- -// - -RESOURCE TBUF r_qtn_conf_auth_network_or_user_pin_note - { - buf = qtn_conf_auth_network_or_user_pin_note; - } - - -//---------------------------------------------------- -// -// r_authtypeUI_information_query -// Confirmation query Layout. -// -//---------------------------------------------------- -// - -RESOURCE DIALOG r_authtypeUI_information_query - { - flags=EGeneralQueryFlags; - buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK; - items= - { - DLG_LINE - { - type=EAknCtQuery; - id=EGeneralQuery; - control= AVKON_CONFIRMATION_QUERY - { - layout = EConfirmationQueryLayout; - animation = R_QGN_NOTE_INFO_ANIM; - }; - } - }; - } - - - - - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/inc/Authtypeplugin.h --- a/omaprovisioning/provisioning/AuthTypePlugin/inc/Authtypeplugin.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ -/* -* Copyright (c) 2008 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: AuthtypePlugin implementation. - * -*/ - -#ifndef AuthtypePLUGIN_H -#define AuthtypePLUGIN_H - -// User includes - -// System includes -#include -#include -#include -#include -#include -#include -#include - -// Classes referenced -class CAknNavigationDecorator; -class CAknViewAppUi; -class CAknNullService; - -// Constants -const TUid KAuthtypePluginUID = - { - 0x2001247D - }; -_LIT( KOperatorLogoResourceFileName, "z:AuthtypePluginRsc.rsc" ); -_LIT( KAuthtypePluginIconDirAndName, "z:AuthtypePlugin.mif"); -// Use KDC_BITMAP_DIR - -const TInt KFirstItemSelected = 0; -const TInt KSecondItemSelected = 1; -const TInt KThirdItemSelected = 2; - -const TInt KNetworkPinOnly = 1; -const TInt KNetworkorUserPin = 3; -const TInt KAllMethodsSupported = 15; - -// CLASS DECLARATION - - -/** - * CAuthtypePlugin. - * - * This class handles state and application logic of OperatorLogo settings. - * The plugin is a type of EGSItemTypeSettingDialog and therefore the GS FW will - * call HandleSelection() instead of DoActivate(). No CAknView functionality is - * supported even though the base class is CAknView derived via - * CGSPluginInterface. - * - */ -class CAuthtypePlugin : public CGSPluginInterface, - public MAknServerAppExitObserver// Embedding - { -public: - // Constructors and destructor - - /** - * Symbian OS two-phased constructor - * @return - */ - static CAuthtypePlugin* NewL(TAny* aInitParams); - - /** - * Destructor. - */ - ~CAuthtypePlugin(); - -public: - // From CAknView - - /** - * See base class. - */ - TUid Id() const; - -public: - // From CGSPluginInterface - - /** - * See base class. - */ - void GetCaptionL(TDes& aCaption) const; - - /** - * See base class. - */ - TInt PluginProviderCategory() const; - - /** - * See base class. - */ - TGSListboxItemTypes ItemType(); - - /** - * See base class. - */ - void GetValue(const TGSPluginValueKeys aKey, TDes& aValue); - - /** - * See base class. - */ - void HandleSelection(const TGSSelectionTypes aSelectionType); - - /** - * See base class. - */ - CGulIcon* CreateIconL(const TUid aIconType); - - /* - * Handles selection item - */ - void HandleItemContentL(); - - /* - * Set Cenrep value based on selection of item from list - */ - void SetCenrepItemL(TInt index, TInt auth_value); - - /* - * popup note shown on selection of 2nd and 3rd item from list - */ - - void ShowPopupNoteL(HBufC *title); - -protected: - // New - - /** - * C++ default constructor. - */ - CAuthtypePlugin(); - - /** - * Symbian OS default constructor. - */ - void ConstructL(); - -protected: - // From CAknView - - /** - * This implementation is empty because this class, being just a dialog, - * does not implement the CAknView finctionality. - */ - void DoActivateL(const TVwsViewId& aPrevViewId, TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - /** - * This implementation is empty because this class, being just a dialog, - * does not implement the CAknView finctionality. - */ - void DoDeactivate(); - -private: - // New - - /** - * Opens localized resource file. - */ - void OpenLocalizedResourceFileL(const TDesC& aResourceFileName, - RConeResourceLoader& aResourceLoader); - - /** - * Suppress the menu/app key when reminder dialog is displayed - * @param ETrue to Suppress, else EFalse - * @return None - */ - - void SuppressAppKey(TBool aValue); - -private: - //data - - //Holds the state of menu/app key supress - TBool iIsAppKeySuppressed; - -protected: - // Data - - // Resource loader. - RConeResourceLoader iResources; - - }; - -#endif // AuthtypePLUGIN_H -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/loc/Authtypeplugin.loc --- a/omaprovisioning/provisioning/AuthTypePlugin/loc/Authtypeplugin.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* -* Copyright (c) 2008 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: Localization strings for Authtypeplugin. -* -*/ - -// LOCALISATION STRINGS - -//d:Authtype Plugin caption -//d:Authtypeplugin -//l:list_single_large_graphic_pane_t1 -#define qtn_set_conf_msg_authentication_cp "Configuration Message Authentication" - -//d:Heading for List dialog popped up -//l:heading_pane_t1 -#define qtn_set_conf_auth_method "Authentication method:" - -//d:Network Pin selection item -//l:list_single_pane_t1_cp2 -#define qtn_conf_auth_network_pin "Network PIN" - -//d:Network or User PIN selection item -//l:list_single_pane_t1_cp2 -#define qtn_conf_auth_network_or_user_pin "Network or user PIN" - -//d:All methods supported selection item -//l:list_single_pane_t1_cp2 -#define qtn_conf_auth_all_auth "All methods supported" - -//d: Note shown on selection of All methods supported -//l: popup_note_window -#define qtn_conf_auth_all_auth_note "All authentication methods are supported. Insecure configuration messages can also be recieved." - -//d:Note shown on selection of Network or User PIN item -//l:popup_note_window -#define qtn_conf_auth_network_or_user_pin_note "You might be prompted for User pin. Insecure configuration messages will not be authenticated." - - - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/src/Authtypeplugin.cpp --- a/omaprovisioning/provisioning/AuthTypePlugin/src/Authtypeplugin.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,437 +0,0 @@ -/* -* Copyright (c) 2008 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: AuthtypePlugin implementation. - * -*/ - - -// User includes -#include "Authtypeplugin.h" - -#include -#include -#include // GUI Resource -#include -#include -#include -#include "ProvisioningInternalCRKeys.h" -#include - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include "ProvisioningDebug.h" - -// ========================= MEMBER FUNCTIONS ================================ - -// --------------------------------------------------------------------------- -// CAuthtypePlugin::CAuthtypePlugin() -// Constructor -// --------------------------------------------------------------------------- -// -CAuthtypePlugin::CAuthtypePlugin() : - iResources( *iCoeEnv) - { - } - -// --------------------------------------------------------------------------- -// CAuthtypePlugin::~CAuthtypePlugin() -// Destructor -// --------------------------------------------------------------------------- -// -CAuthtypePlugin::~CAuthtypePlugin() - { - iResources.Close(); - } - -// --------------------------------------------------------------------------- -// CAuthtypePlugin::ConstructL(const TRect& aRect) -// Symbian OS two-phased constructor -// --------------------------------------------------------------------------- -// -void CAuthtypePlugin::ConstructL() - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::ConstructL:" ) ); - OpenLocalizedResourceFileL(KOperatorLogoResourceFileName, iResources); - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::ConstructL: DONE" ) ); - - } - -// --------------------------------------------------------------------------- -// CAuthtypePlugin::NewL() -// Static constructor -// --------------------------------------------------------------------------- -// -CAuthtypePlugin* CAuthtypePlugin::NewL(TAny* /*aInitParams*/) - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::NewL:" ) ); - - CAuthtypePlugin* self = new( ELeave ) CAuthtypePlugin(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::Id -// ----------------------------------------------------------------------------- -// -TUid CAuthtypePlugin::Id() const - { - return KAuthtypePluginUID; - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::DoActivateL -// ----------------------------------------------------------------------------- -// -void CAuthtypePlugin::DoActivateL(const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) - { - - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::DoDeactivate -// ----------------------------------------------------------------------------- -// -void CAuthtypePlugin::DoDeactivate() - { - - } - -// ========================= From CGSPluginInterface ================== - - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::GetCaptionL -// ----------------------------------------------------------------------------- -// -void CAuthtypePlugin::GetCaptionL(TDes& aCaption) const - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::GetCaptionL" ) ); - - HBufC* result = StringLoader::LoadL( R_SET_CONF_MSG_AUTHENTICATION_CP); - aCaption.Copy( *result); - delete result; - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::GetCaptionL DONE" ) ); - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::PluginProviderCategory -// ----------------------------------------------------------------------------- -// -TInt CAuthtypePlugin::PluginProviderCategory() const - { - return KGSPluginProviderInternal; - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::ItemType() -// ----------------------------------------------------------------------------- -// -TGSListboxItemTypes CAuthtypePlugin::ItemType() - { - return EGSItemTypeSettingDialog; - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::GetValue() -// ----------------------------------------------------------------------------- -// -void CAuthtypePlugin::GetValue(const TGSPluginValueKeys /*aKey*/, TDes& /*aValue*/) - { - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::HandleSelection() -// ----------------------------------------------------------------------------- -// -void CAuthtypePlugin::HandleSelection(const TGSSelectionTypes /*aSelectionType*/) - { - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::HandleSelection" ) ); - - TRAP_IGNORE( HandleItemContentL() ); - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::HandleSelection DONE" ) ); - } - -// --------------------------------------------------------------------------- -// CAuthtypePlugin::CreateIconL -// --------------------------------------------------------------------------- -// -CGulIcon* CAuthtypePlugin::CreateIconL(const TUid aIconType) - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::CreateIconL" ) ); - - //EMbm - CGulIcon* icon; - TParse* fp = new( ELeave ) TParse(); - CleanupStack::PushL(fp); - fp->Set(KAuthtypePluginIconDirAndName, &KDC_BITMAP_DIR, NULL); - - if (aIconType == KGSIconTypeLbxItem) - { - icon = AknsUtils::CreateGulIconL(AknsUtils::SkinInstance(), - KAknsIIDDefault, fp->FullName(), - EMbmAuthtypepluginQgn_prop_set_conn_config, - EMbmAuthtypepluginQgn_prop_set_conn_config_mask); - } - else - { - icon = CGSPluginInterface::CreateIconL(aIconType); - } - - CleanupStack::PopAndDestroy(fp); - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::CreateIconL: DONE" ) ); - - return icon; - - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::OpenLocalizedResourceFileL() -// ----------------------------------------------------------------------------- -// -void CAuthtypePlugin::OpenLocalizedResourceFileL( - const TDesC& aResourceFileName, RConeResourceLoader& aResourceLoader) - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::OpenLocalizedResourceFileL" ) ); - - RFs fsSession; - User::LeaveIfError(fsSession.Connect() ); - - CleanupClosePushL(fsSession); - - // Find the resource file: - TParse parse; - parse.Set(aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL); - TFileName fileName(parse.FullName() ); - - // Get language of resource file: - BaflUtils::NearestLanguageFile(fsSession, fileName); - - // Open resource file: - aResourceLoader.OpenL(fileName); - - CleanupStack::PopAndDestroy(); //fssession - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::OpenLocalizedResourceFileL DONE" ) ); - } - -// ----------------------------------------------------------------------------- -// CAuthtypePlugin::HandleItemContentL() -// ----------------------------------------------------------------------------- -// - -void CAuthtypePlugin::HandleItemContentL() - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::HandleItemContentL" ) ); - - // Holds the index of selected item - TInt selectedItem(KThirdItemSelected); - - // Holds the authentication type value - TInt getAuthValue(KAllMethodsSupported); - - //Load all the strings from resource file - - HBufC *title = StringLoader::LoadLC(R_QTN_SET_CONF_AUTH_METHOD); - - HBufC *netPinSupport = StringLoader::LoadLC(R_QTN_CONF_AUTH_NETWORK_PIN); - HBufC *netUserPinSupport = - StringLoader::LoadLC(R_QTN_CONF_AUTH_NETWORK_OR_USER_PIN); - HBufC *allMethodsSupport = StringLoader::LoadLC(R_QTN_CONF_AUTH_ALL_AUTH); - - //creation of list - - CAknSinglePopupMenuStyleListBox* list = new(ELeave)CAknSinglePopupMenuStyleListBox; - CleanupStack::PushL(list); - - CAknPopupList* popupList = CAknPopupList::NewL(list, - R_AVKON_SOFTKEYS_OK_CANCEL__OK, AknPopupLayouts::EMenuWindow); - - CleanupStack::PushL(popupList); - - list->ConstructL(popupList, 0); - list->CreateScrollBarFrameL(ETrue); - list->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, - CEikScrollBarFrame::EAuto); - - //Append strings into array which will be populated into list - - CDesCArrayFlat* ItemArray = new(ELeave)CDesCArrayFlat(3); - CleanupStack::PushL(ItemArray); - - ItemArray->AppendL(*netPinSupport); - ItemArray->AppendL(*netUserPinSupport); - ItemArray->AppendL(*allMethodsSupport); - - CleanupStack::Pop(); //ItemArray - - list->Model()->SetItemTextArray(ItemArray); - list->Model()->SetOwnershipType(ELbmOwnsItemArray); - - popupList->SetTitleL(*title); - - /* Get authentication type value from Central Repository and based on current cenrep value - * List box item will be selected */ - - CRepository * rep= NULL; - TRAPD( err, rep = CRepository::NewL( KCRUidOMAProvisioningLV )) - ; - - if (err == KErrNone) - { - rep->Get(KOMAProvAuthenticationLVFlag, getAuthValue); - delete rep; - } - - switch (getAuthValue) - { - case KNetworkPinOnly: - selectedItem = KFirstItemSelected; - break; - - case KNetworkorUserPin: - selectedItem = KSecondItemSelected; - break; - - case KAllMethodsSupported: - selectedItem = KThirdItemSelected; - break; - - default: - break; - } - - list->View()->SetCurrentItemIndex(selectedItem); - - // Show popup list and then show return value. - TInt popupOk = popupList->ExecuteLD(); - - //When user selects item from list based on selection cenrep value will be set - - if (popupOk) - { - - selectedItem = list->CurrentItemIndex(); - - switch (selectedItem) - { - case KFirstItemSelected: - SetCenrepItemL(selectedItem, KNetworkPinOnly); - break; - case KSecondItemSelected: - SetCenrepItemL(selectedItem, KNetworkorUserPin); - break; - case KThirdItemSelected: - SetCenrepItemL(selectedItem, KAllMethodsSupported); - break; - default: - break; - - } - - } - - CleanupStack::Pop(); // popuplist - CleanupStack::PopAndDestroy(5); // list, title, netPinSupport, netUserPinSupport, allMethodsSupport - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::HandleItemContentL DONE" ) ); - - } - -// --------------------------------------------------------- -// CAuthtypeUIContainer::SetCenrepItemL() -// --------------------------------------------------------- -// -void CAuthtypePlugin::SetCenrepItemL(TInt aSelected, TInt aSetAuthValue) - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::SetCenrepItemL" ) ); - //Based on current selection item from list set the cenrep with different authentication type - - CRepository * rep= NULL; - TRAPD( err, rep = CRepository::NewL( KCRUidOMAProvisioningLV )) - ; - - if (err == KErrNone) - { - rep->Set(KOMAProvAuthenticationLVFlag, aSetAuthValue); - delete rep; - } - - //Shows Information note to user on selection of second and third Item from List - - if (aSelected == KSecondItemSelected) - { - - HBufC - * netUserPinNote = - StringLoader::LoadLC(R_QTN_CONF_AUTH_NETWORK_OR_USER_PIN_NOTE); - ShowPopupNoteL(netUserPinNote); - CleanupStack::PopAndDestroy(); // netUserPinNote - } - - else - if (aSelected == KThirdItemSelected) - { - HBufC* allMethodsNote = - StringLoader::LoadLC(R_QTN_CONF_AUTH_ALL_AUTH_NOTE); - ShowPopupNoteL(allMethodsNote); - CleanupStack::PopAndDestroy(); // allMethodsNote - } - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::SetCenrepItemL DONE" ) ); - } - -// --------------------------------------------------------- -// CAuthtypeUIContainer::ShowPopupNoteL() -// --------------------------------------------------------- -// -void CAuthtypePlugin::ShowPopupNoteL(HBufC *aNote) - { - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::ShowPopupNoteL" ) ); - - CAknQueryDialog* queryDialog = new (ELeave) CAknQueryDialog; - queryDialog->ExecuteLD(R_AUTHTYPEUI_INFORMATION_QUERY, *aNote); - - FLOG( _L( "[AuthtypePlugin] CAuthtypePlugin::ShowPopupNoteL DONE" ) ); - - } - -// End of file diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/AuthTypePlugin/src/AuthtypepluginImplementationTable.cpp --- a/omaprovisioning/provisioning/AuthTypePlugin/src/AuthtypepluginImplementationTable.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2008 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: ECOM proxy table for Authtypeplugin. - * -*/ - - -// User includes -#include "Authtypeplugin.h" - -// System includes -#include -#include - -// Constants -const TImplementationProxy KAuthtypeSettingsPluginImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY( 0x2001247D, CAuthtypePlugin::NewL ) - }; - -// --------------------------------------------------------------------------- -// ImplementationGroupProxy -// Gate/factory function -// -// --------------------------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy( - TInt& aTableCount ) - { - aTableCount = sizeof( KAuthtypeSettingsPluginImplementationTable ) - / sizeof( TImplementationProxy ); - return KAuthtypeSettingsPluginImplementationTable; - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Group/101F84E2.rss --- a/omaprovisioning/provisioning/IMAdapter/Group/101F84E2.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* -* Copyright (c) 2002 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: Resource file defining the ProvisioningAdapter plugin. -* -*/ - - - -// INCLUDES -#include -#include "../../Group/ProvisioningUIDs.h" - - -// RESOURCE DEFINITIONS -// ----------------------------------------------------------------------------- -// -// theInfo -// Resource defining the ProvisioningAdapter plugin. -// -// ----------------------------------------------------------------------------- -// - -RESOURCE REGISTRY_INFO theInfo - { - dll_uid = KProvisioningIMAdapterDllUid3; - interfaces = - { - INTERFACE_INFO - { - interface_uid = KProvisioningAdapterInterface; - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = KProvisioningIMAdapterUid; - version_no = 1; - display_name = "WAP WV PA"; // Use short name to save RAM and ROM space - default_data = ""; - opaque_data = "101"; - }, - IMPLEMENTATION_INFO - { - implementation_uid = KProvisioningPecAdapterUid; - version_no = 1; - display_name = ""; - default_data = ""; - opaque_data = "100"; - } - }; - } - }; - } - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Group/IMAdapter.mmp --- a/omaprovisioning/provisioning/IMAdapter/Group/IMAdapter.mmp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* Copyright (c) 2002-2006 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: Project definition file for the WV Settings Adapter -* -*/ - - -#include -#include -#include "../../Group/ProvisioningUIDs.h" - -TARGET wpwvadapter.dll -TARGETTYPE PLUGIN -UID KProvisioningIMAdapterDllUid2 KProvisioningIMAdapterDllUid3 - - -VENDORID VID_DEFAULT -CAPABILITY CAP_ECOM_PLUGIN - -SOURCEPATH ../Src -SOURCE CWPIMAdapter.cpp -SOURCE CWPIMSAPItem.cpp -SOURCE WPIMAdapterGroupProxy.cpp -SOURCE CWPPecAdapter.cpp -SOURCE WPIMUtil.cpp - -SOURCEPATH ../Group - -START RESOURCE 101F84E2.rss -TARGET wpwvadapter.rsc -END - -START RESOURCE WPWVAdapterResource.rss -HEADER -TARGET wpwvadapterresource.rsc -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - -USERINCLUDE ../Inc ../Group ../../Group - -APP_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom - -LIBRARY euser.lib -LIBRARY provisioningengine.lib -LIBRARY wvsapsettingsstore.lib -LIBRARY msgeditorutils.lib -LIBRARY commdb.lib -LIBRARY inetprotutil.lib -LIBRARY cmmanager.lib -DEBUGLIBRARY flogger.lib - - -SMPSAFE -// End of file - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Group/WPWVAdapterResource.rss --- a/omaprovisioning/provisioning/IMAdapter/Group/WPWVAdapterResource.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2002 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: Resource file. -* -*/ - - -// INCLUDES -#include -#include -#include - -// Default Name for WV Server - -RESOURCE LBUF r_qtn_sm_im_server_dname - { - txt = qtn_sm_im_server_dname; - } - -RESOURCE LBUF r_qtn_op_head_imsettings - { - txt = qtn_op_head_imsettings; - } - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Inc/CWPIMAdapter.h --- a/omaprovisioning/provisioning/IMAdapter/Inc/CWPIMAdapter.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Handles wireless village settings in provisioning. -* -*/ - - -#ifndef CWPIMADAPTER_H -#define CWPIMADAPTER_H - -// INCLUDES -#include -#include -#include -#include "WPIMUtil.h" - -// FORWARD DECLARATIONS -class CWPCharacteristic; -class CWPIMSAPItem; - - -// CLASS DECLARATION - -/** - * CWPIMAdapter handles wireless village settings. - * - * @lib WPIMAdapter - * @since 2.0 - */ -class CWPIMAdapter : public CWPAdapter, private MWPContextExtension - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CWPIMAdapter* NewL(); - - /** - * Destructor. - */ - virtual ~CWPIMAdapter(); - - public : // from CWPAdapter - - TInt ItemCount() const; - const TDesC16& SummaryTitle(TInt aIndex) const; - const TDesC16& SummaryText(TInt aIndex) const; - void SaveL( TInt aItem ); - TBool CanSetAsDefault( TInt aItem ) const; - void SetAsDefaultL( TInt aItem ); - TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor ); - void VisitL(CWPCharacteristic& aElement); - void VisitL(CWPParameter& aElement); - void VisitLinkL(CWPCharacteristic& aLink ); - TInt ContextExtension( MWPContextExtension*& aExtension ); - - public: // from MWPContextExtension - const TDesC8& SaveDataL( TInt aIndex ) const; - void DeleteL( const TDesC8& aSaveData ); - TUint32 Uid() const; - - private: // New functions - - /** - * C++ default constructor. - */ - CWPIMAdapter(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: // Data - - // The application id of the current characteristic - TPtrC iAppID; - - // Current data, owns. - TData* iCurrentData; - - // The settings items, owns. - RPointerArray iDatas; - - // Default name for service access point, owns. - HBufC* iDefaultName; - - // Title for wireless village settings, owns. - HBufC* iWVTitle; - - // Id of SAP item to be set as default - TUint32 iSAPIdForDefault; - - private: // for testing purpose - friend class T_CWPIMAdapter; - }; - -#endif // CWPIMADAPTER_H - -// End of File \ No newline at end of file diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Inc/CWPIMSAPItem.h --- a/omaprovisioning/provisioning/IMAdapter/Inc/CWPIMSAPItem.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Settings item for wireless village settings, handles also the saving of -* Settings item. -* -*/ - - -#ifndef CWPIMSAPITEM_H -#define CWPIMSAPITEM_H - -// INCLUDES -#include -#include -#include "ProvisioningDebug.h" - -// FORWARD DECLARATIONS -class CCommsDatabase; -class CIMPSSAPSettings; -class CIMPSSAPSettingsStore; - -// CLASS DECLARATION - -/** - * CWPIMSAPItem handles saving of wireless village settings item - * - * @lib WPIMAdapter - * @since 2.0 - */ -class CWPIMSAPItem : public CBase - { - public: // construction / destruction - - /** - * Two-phased constructor. - */ - static CWPIMSAPItem* NewLC( TIMPSAccessGroup aAccessGroup ); - - /** - * Destructor. - */ - virtual ~CWPIMSAPItem(); - - private: - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - /** - * C++ default constructor. - */ - CWPIMSAPItem( TIMPSAccessGroup aAccessGroup ); - /** - * - * @param aText - * @return None - */ - static void IncrementNameL(TDes& aText); - - - /** - * - * @param aText - * @param aMaxLength - * @return None - */ - static void IncrementNameL(TDes& aText, TInt aMaxLength); - - public: // new methods: - - /** - * Sets the settings name to save item. - * @param aName Settings name - */ - void SetSettingsNameL(const TDesC& aName); - - /** - * Sets the User id to save item. - * @param aUserId User Id - */ - void SetUserIDL(const TDesC& aUserId); - - /** - * Sets the password to save item. - * @param aPassword Password - */ - void SetPasswordL(const TDesC& aPassword); - - /** - * Sets the URI of SAP to save item. - * @param aURI URI of SAP - */ - void SetSAPURIL(const TDesC& aURI); - - /** - * Sets the id of IAP to save item. - * @param aUid the uid of IAP. - */ - void SetIAPIdL(TUint32 aUid); - - /** - * Saves the service access point to SAPSettings db. - * @return Id of saved service access point. - */ - TUint32 StoreL(); - - /** - * Deletes the service access point from SAPSettings db with given id. - * @param aUid Id of the service access point to be deleted. - */ - void DeleteL( TUint32 aUid ); - - /** - * Checks does a server with given name already exists. - * @param aServerName The name of the server. - * @return TBool Was there already server with same name. - */ - TBool IsServerNameUniqueL( const TDesC& aServerName ); - - /** - * Sets the Service access point with given id as default. - * @param aUid The id of service access point - */ - static void SetAsDefaultL(TUint32 aUid, TIMPSAccessGroup aAccessGroup ); - - private: // data - - /// Owns: Sap item containing data. - CIMPSSAPSettings* iWVSAPSettings; - /// Owns: Sap settings store used for saving SAP. - CIMPSSAPSettingsStore* iSAPStore; - TIMPSAccessGroup iAccessGroup; - - private: // for testing purpose - friend class T_CWPIMSAPItem; - }; - -#endif // CWPIMSAPItem_H - -// end of file \ No newline at end of file diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Inc/CWPPecAdapter.h --- a/omaprovisioning/provisioning/IMAdapter/Inc/CWPPecAdapter.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Handles wireless village settings in provisioning. -* -*/ - - -#ifndef CWPPECADAPTER_H -#define CWPPECADAPTER_H - -// INCLUDES -#include -#include -#include "WPIMUtil.h" - -// FORWARD DECLARATIONS -class CWPCharacteristic; -class CWPIMSAPItem; - - -// CLASS DECLARATION - -/** - * CWPPecAdapter handles PEC settings. - * - * @lib WPWAPAdapter - * @since 2.0 - */ -class CWPPecAdapter : public CWPAdapter, private MWPContextExtension - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - */ - static CWPPecAdapter* NewL(); - - /** - * Destructor. - */ - virtual ~CWPPecAdapter(); - - public : // from CWPAdapter - - TInt ItemCount() const; - const TDesC16& SummaryTitle(TInt aIndex) const; - const TDesC16& SummaryText(TInt aIndex) const; - void SaveL( TInt aItem ); - TBool CanSetAsDefault( TInt aItem ) const; - void SetAsDefaultL( TInt aItem ); - TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor ); - void VisitL(CWPCharacteristic& aElement); - void VisitL(CWPParameter& aElement); - void VisitLinkL(CWPCharacteristic& aLink ); - TInt ContextExtension( MWPContextExtension*& aExtension ); - - public: // from MWPContextExtension - const TDesC8& SaveDataL( TInt aIndex ) const; - void DeleteL( const TDesC8& aSaveData ); - TUint32 Uid() const; - - public: // New functions - /** - * C++ default constructor. - */ - CWPPecAdapter(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: - - void SaveL( TInt aIndex, TIMPSAccessGroup aAccessGroup ); - - private: // Data - - // The application id of the current characteristic - TPtrC iAppID; - - // Current data, owns. - TData* iCurrentData; - - // The settings items, owns. - RPointerArray iDatas; - - // Default name for service access point, owns. - HBufC* iDefaultName; - - // Title for wireless village settings, owns. - HBufC* iWVTitle; - - // Id of SAP item to be set as default - TUint32 iSAPIdForDefault; - }; - -#endif // CWPPECADAPTER_H - -// End of File \ No newline at end of file diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Inc/TWPIMVisitor.h --- a/omaprovisioning/provisioning/IMAdapter/Inc/TWPIMVisitor.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* Copyright (c) 2002 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: TWPIMVisitor crawls a logical proxy -* -*/ - - -#ifndef TWPIMVISITOR_H -#define TWPIMVISITOR_H - -// INCLUDE FILES -#include - -// CLASS DECLARATION - -/** - * TWPIMVisitor crawls a logical proxy and finds the corresponding - * NAPDEF. - * - * @lib WPWAPAdapter - * @since 2.0 - */ -class TWPIMVisitor : public MWPVisitor - { - public: - - /** - * C++ default constructor. - */ - TWPIMVisitor(); - - public: // From MWPVisitor - void VisitL( CWPParameter& /*aElement*/ ); - void VisitL( CWPCharacteristic& aElement ); - void VisitLinkL( CWPCharacteristic& aLink ); - - public: // Data - - // The NAPDEF characteristic found - CWPCharacteristic* iNapDef; - // The name of the access point - TPtrC iName; - }; - - -#endif // TWPIMVISITOR_H - -// End of File \ No newline at end of file diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Inc/WPIMUtil.h --- a/omaprovisioning/provisioning/IMAdapter/Inc/WPIMUtil.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Utility class for reading resource strings. -* -*/ - - -#ifndef WPIMUTIL_H -#define WPIMUTIL_H - -// INCLUDES -#include -#include - -// CONSTANTS -#if ( defined (__WINS__) || defined (__WINSCW) ) // this different on hw - _LIT( KWVAdapterName, "WPWVAdapterResource" ); -#else - _LIT( KWVAdapterName, "WPWVAdapter" ); -#endif -_LIT( KIMAppID1, "wa" ); -_LIT( KIMAppID2, "wA" ); -_LIT( KServicesName, "SERVICES"); -_LIT( KIMName, "IM"); -_LIT( KPresenceName, "PR"); - -const TUint32 KNotSet = 0xffffffff; - -// FORWARD DECLARATIONS -class RResourceFile; -class CWPCharacteristic; -// CLASS DECLARATION - -/** - * TData stores settings. - */ -class TData - { - public: - - /** - * C++ default constructor. - */ - TData(); - - /** - * Destructor. - */ - virtual ~TData(); - - public: // data, nothing owned - TPtrC iName; - TPtrC iURL; - TPtrC iUserID; - TPtrC iPassword; - RPointerArray iLinks; - TPckgBuf iSAPId; - TIMPSAccessGroup iProvLocation; - }; - -/** - * WPIMUtil is a utility class for reading resource strings. - * - * @lib WPIMAdapter - * @since 2.0 - */ -class WPIMUtil - { - public: // New functions - - /** - * Check does the given descriptor contain any illegal character - * from 0x00 to 0x1F. - * @param aDes Descritor to be checked - * @return TBool Did the descriptor contain any illegal chars - */ - static TBool HasIllegalChars( const TDesC& aDes ); - - static TUint32 FindGPRSL( RPointerArray& aLinks ); - - /** - * Checks the validity of current data - * @return TBool was the settings data valid or not. - */ - static TBool IsValid( TData* aCurrentData ); - - }; - -#endif // WPWAPUTIL_H - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Src/CWPIMAdapter.cpp --- a/omaprovisioning/provisioning/IMAdapter/Src/CWPIMAdapter.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,388 +0,0 @@ -/* -* Copyright (c) 2002 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: Handles wireless village settings in provisioning. -* -*/ - - - -// INCLUDE FILES -#include "CWPIMAdapter.h" // own header -#include -#include -#include -#include -#include - -#include -#include "WPAdapterUtil.h" -#include "CWPIMSAPItem.h" -#include "ProvisioningDebug.h" - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::CWPIMAdapter -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -CWPIMAdapter::CWPIMAdapter() : CWPAdapter() - { - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::ConstructL() - { - FLOG( _L( "[Provisioning] CWPIMAdapter::ConstructL:" ) ); - - TFileName fileName; - Dll::FileName( fileName ); - iWVTitle = WPAdapterUtil::ReadHBufCL( fileName, KWVAdapterName, R_QTN_OP_HEAD_IMSETTINGS ); - - iSAPIdForDefault = KNotSet; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CWPIMAdapter* CWPIMAdapter::NewL() - { - CWPIMAdapter* self = new(ELeave) CWPIMAdapter; - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// ----------------------------------------------------------------------------- -// Destructor -// ----------------------------------------------------------------------------- -CWPIMAdapter::~CWPIMAdapter() - { - delete iCurrentData; - delete iWVTitle; - for ( TInt i = 0; i < iDatas.Count(); i++ ) - { - delete iDatas[i]; - } - iDatas.Close(); - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::DetailsL -// ----------------------------------------------------------------------------- -// -TInt CWPIMAdapter::DetailsL( TInt /*aItem*/, MWPPairVisitor& /*aVisitor */ ) - { - return KErrNotSupported; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::SummaryCount -// ----------------------------------------------------------------------------- -// -TInt CWPIMAdapter::ItemCount() const - { - TInt count(0); - for(TInt i=0;iiProvLocation == EIMPSIMAccessGroup) - { - count++; - } - } - return count; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::SummaryTitle -// ----------------------------------------------------------------------------- -// -const TDesC16& CWPIMAdapter::SummaryTitle(TInt /*aIndex*/) const - { - return *iWVTitle; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::SummaryText -// ----------------------------------------------------------------------------- -// -const TDesC16& CWPIMAdapter::SummaryText(TInt aIndex) const - { - return iDatas[aIndex]->iName; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::SaveL -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::SaveL( TInt aIndex ) - { - FLOG( _L( "[Provisioning] CWPIMAdapter::SaveL" ) ); - - for(TInt i=0;iiProvLocation != EIMPSIMAccessGroup) - { - delete iDatas[i]; - iDatas.Remove(i); - i--; - } - } - if ( ( iDatas.Count() == 0 ) || ( aIndex > iDatas.Count() - 1 ) ) - { - FLOG( _L( "[Provisioning] CWPIMAdapter::SaveL No data" ) ); - return; - } - - if ( iDatas[aIndex]->iProvLocation == EIMPSIMAccessGroup ) - { - //data item at given index - TData* data = iDatas[aIndex]; - // create save item - CWPIMSAPItem* sapItem = CWPIMSAPItem::NewLC( EIMPSIMAccessGroup ); - - // set data to save item - sapItem->SetUserIDL( data->iUserID ); - sapItem->SetPasswordL( data->iPassword ); - sapItem->SetSAPURIL( data->iURL ); - sapItem->SetSettingsNameL( data->iName ); - - // Find a proper GPRS access point - TUint32 iapId(KMaxTUint32); - if(data->iLinks.Count()) - { - iapId = WPIMUtil::FindGPRSL( data->iLinks ); - } - // set the IAP id as part of save item. - sapItem->SetIAPIdL( iapId ); - - // store SAP item - TUint32 SAPuid = sapItem->StoreL(); - data->iSAPId = SAPuid; - - // if there is no id for default Service Access Point, set it. - if (iSAPIdForDefault == KNotSet) - { - iSAPIdForDefault = SAPuid; - } - - CleanupStack::PopAndDestroy( sapItem ); - FLOG( _L( "[Provisioning] CWPIMAdapter::SaveL Done" ) ); - } - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::CanSetAsDefault -// ----------------------------------------------------------------------------- -// -TBool CWPIMAdapter::CanSetAsDefault(TInt aIndex) const - { - // the first one is set as default if exists. - return ( iSAPIdForDefault && ( aIndex == 0 ) ); - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::SetAsDefaultL -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::SetAsDefaultL( TInt aIndex ) - { - if ( aIndex == 0 && iSAPIdForDefault != KNotSet ) - { - // set the first item saved as a default - CWPIMSAPItem::SetAsDefaultL( iSAPIdForDefault, EIMPSIMAccessGroup ); - } - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::VisitL( CWPCharacteristic& aCharacteristic ) - { - switch( aCharacteristic.Type() ) - { - case KWPApplication: - iCurrentData = new(ELeave) TData; - - aCharacteristic.AcceptL( *this ); - - if( (iAppID == KIMAppID1 || - iAppID == KIMAppID2 ) && WPIMUtil::IsValid(iCurrentData) ) - { - FLOG( _L( "[Provisioning] CWPIMAdapter::VisitL App ID match" ) ); - iCurrentData->iProvLocation = EIMPSIMAccessGroup; - User::LeaveIfError( iDatas.Append( iCurrentData ) ); - } - else - { - delete iCurrentData; - } - - iCurrentData = NULL; - break; - - case KWPAppAddr: // fallthrough - case KWPAppAuth: - if( iCurrentData ) - { - aCharacteristic.AcceptL( *this ); - } - break; - - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::VisitL( CWPParameter& aParameter) - { - - switch( aParameter.ID() ) - { - case EWPParameterAppID: - iAppID.Set( aParameter.Value() ); - break; - - case EWPParameterName: - if (iCurrentData->iName == KNullDesC) - { - iCurrentData->iName.Set( aParameter.Value() ); - } - break; - - case EWPParameterAddr: - if (iCurrentData->iURL == KNullDesC) - { - iCurrentData->iURL.Set( aParameter.Value() ); - } - break; - - case EWPParameterAAuthName: - if (iCurrentData->iUserID == KNullDesC) - { - iCurrentData->iUserID.Set( aParameter.Value() ); - } - break; - - case EWPParameterAAuthSecret: - if (iCurrentData->iPassword == KNullDesC) - { - iCurrentData->iPassword.Set( aParameter.Value() ); - } - break; - // Here case 0 are handled the IM and Presence parameters that are extensions - // to OMA Client Provisioning parameter set. - case 0: - { - FLOG( _L( "[Provisioning] CWPIMAdapter::VisitL Case 0" ) ); - TInt val = aParameter.Name().Match( KServicesName ); - if ( val >= 0 ) - { - FLOG( _L( "[Provisioning] CWPIMAdapter::VisitL Services" ) ); - val = aParameter.Value().Match( KIMName ); - if ( val >= 0 ) - { - FLOG( _L( "[Provisioning] CWPIMAdapter::VisitL Services IM settings" ) ); - iCurrentData->iProvLocation = EIMPSIMAccessGroup; - } - else - { - FLOG( _L( "[Provisioning] CWPIMAdapter::VisitL Services NO IM settings" ) ); - // settings not for us... - iCurrentData->iProvLocation = EIMPSNoAccessGroup; - } - } - } - break; - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::VisitLinkL -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::VisitLinkL( CWPCharacteristic& aLink ) - { - switch( aLink.Type() ) - { - case KWPNapDef: // fallthrough - case KWPPxLogical: - { - User::LeaveIfError( iCurrentData->iLinks.Append( &aLink ) ); - break; - } - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::ContextExtension -// ----------------------------------------------------------------------------- -// -TInt CWPIMAdapter::ContextExtension( MWPContextExtension*& aExtension ) - { - aExtension = this; - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::SaveDataL -// ----------------------------------------------------------------------------- -// -const TDesC8& CWPIMAdapter::SaveDataL( TInt aIndex ) const - { - return iDatas[aIndex]->iSAPId; - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::DeleteL -// ----------------------------------------------------------------------------- -// -void CWPIMAdapter::DeleteL( const TDesC8& aSaveData ) - { - TPckgBuf pckg; - pckg.Copy( aSaveData ); - - CWPIMSAPItem* sapItem = CWPIMSAPItem::NewLC( EIMPSIMAccessGroup ); - sapItem->DeleteL( pckg() ); - CleanupStack::PopAndDestroy( sapItem ); - } - -// ----------------------------------------------------------------------------- -// CWPIMAdapter::Uid -// ----------------------------------------------------------------------------- -// -TUint32 CWPIMAdapter::Uid() const - { - return iDtor_ID_Key.iUid; - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Src/CWPIMSAPItem.cpp --- a/omaprovisioning/provisioning/IMAdapter/Src/CWPIMSAPItem.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,476 +0,0 @@ -/* -* Copyright (c) 2002 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: -* Settings item for wireless village settings, handles also the saving of -* Settings item. -* -*/ - - -// INCLUDE FILES -#include "CWPIMSAPItem.h" - - -#include -#include -#include -#include - -// CONSTANTS -const TUint KLengthOfIncrementChars = 4; - -// ================= MEMBER FUNCTIONS ======================= - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CWPIMSAPItem* CWPIMSAPItem::NewLC( TIMPSAccessGroup aAccessGroup ) - { - CWPIMSAPItem* self = new ( ELeave ) CWPIMSAPItem( aAccessGroup ); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::CWPIMSAPItem -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -CWPIMSAPItem::CWPIMSAPItem( TIMPSAccessGroup aAccessGroup ) - : iAccessGroup( aAccessGroup ) - { - } - -// ----------------------------------------------------------------------------- -// Destructor -// ----------------------------------------------------------------------------- -// -CWPIMSAPItem::~CWPIMSAPItem() - { - delete iWVSAPSettings; - delete iSAPStore; - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::ConstructL() - { - iWVSAPSettings = CIMPSSAPSettings::NewL(); - - // create the SAPSettingsStore - TRAPD( err, iSAPStore = CIMPSSAPSettingsStore::NewL() ); - - if ( err == KErrCorrupt ) - { - // if corrupted, recreation creates also new db. - iSAPStore = CIMPSSAPSettingsStore::NewL(); - } - else - { - User::LeaveIfError(err); - } - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::SetSettingsNameL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::SetSettingsNameL(const TDesC& aName) - { - iWVSAPSettings->SetSAPNameL( aName ); - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::SetUserIDL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::SetUserIDL(const TDesC& aUserId) - { - iWVSAPSettings->SetSAPUserIdL( aUserId ); - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::SetPasswordL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::SetPasswordL(const TDesC& aPassword) - { - iWVSAPSettings->SetSAPUserPasswordL(aPassword); - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::SetSAPURIL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::SetSAPURIL(const TDesC& aURI) - { - iWVSAPSettings->SetSAPAddressL( aURI); - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::SetIAPIdL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::SetIAPIdL(TUint32 aUid) - { - iWVSAPSettings->SetAccessPoint( aUid ); - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::StoreL -// ----------------------------------------------------------------------------- -// -TUint32 CWPIMSAPItem::StoreL() - { - FLOG( _L( "CWPIMSAPItem::StoreL: Enter" ) ); - TUint32 uid(0); - // check is there already a server with a same name; if there is, - // increment the name. - if ( !IsServerNameUniqueL( iWVSAPSettings->SAPName() ) ) - { - TInt length = iWVSAPSettings->SAPName().Length() + KLengthOfIncrementChars; - - HBufC* newName = HBufC::NewLC(length); - TPtr namePtr = newName->Des(); - namePtr = iWVSAPSettings->SAPName(); - - do - { - IncrementNameL(namePtr); - } - while ( !IsServerNameUniqueL(namePtr) ); - - iWVSAPSettings->SetSAPNameL(namePtr); - - CleanupStack::PopAndDestroy(newName); - } - - // store the SAP item - uid = iSAPStore->StoreNewSAPL( iWVSAPSettings, iAccessGroup ); - FLOG( _L( "CWPIMSAPItem::StoreL: Exit" ) ); - return uid; - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::DeleteL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::DeleteL( TUint32 aUid ) - { - TUint32 defaultUid = 0; - TRAPD( error, iSAPStore->GetDefaultL( defaultUid, iAccessGroup )); - if ( error != KErrNone ) - { - // No default found, which is fine. - // set default to 0 just in case - defaultUid = 0; - } - TUint32 sapCount = iSAPStore->SAPCountL( iAccessGroup ); - - if ( aUid == defaultUid && sapCount != 1 ) - { - // SAP to be deleted is default SAP, need to set another to default - CIMPSSAPSettingsList* list = CIMPSSAPSettingsList::NewLC(); - iSAPStore->PopulateSAPSettingsListL( *list, iAccessGroup ); - TUint32 tempUid = 0; - for ( TUint32 i = 0; i < sapCount; i++ ) - { - tempUid = list->UidForIndex( i ); - if ( tempUid != aUid ) - { - iSAPStore->SetToDefaultL( tempUid, iAccessGroup ); - break; - } - } - CleanupStack::PopAndDestroy( list ); - } - - // currently do not react to error situations - TRAP( error, iSAPStore->DeleteSAPL( aUid )); - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::IsServerNameUniqueL -// ----------------------------------------------------------------------------- -// -TBool CWPIMSAPItem::IsServerNameUniqueL( const TDesC& aServerName ) - { - TBool ret(ETrue); - // create list for SAP items. - CIMPSSAPSettingsList* SAPList = CIMPSSAPSettingsList::NewLC(); - // populate the list with SAP settings - iSAPStore->PopulateSAPSettingsListL( *SAPList, iAccessGroup ); - - TInt storedCount = SAPList->MdcaCount(); - - for( TInt index(0); index < storedCount; index++ ) - { - SAPList->MdcaPoint( index ); - TInt SAPListUid = SAPList->UidForIndex( index ); - // get list item - const CIMPSSAPSettingsListItem* item = - SAPList->ListItemForUid( SAPListUid ); - // compare is there already a server with same name. - if ( item && aServerName == item->Name() ) - { - // SAP setting name exists in list. - ret = EFalse; - break; - } - } - CleanupStack::PopAndDestroy( SAPList ); - return ret; - } - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::SetAsDefaultL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::SetAsDefaultL( TUint32 aUid, TIMPSAccessGroup aAccessGroup ) - { - // create the store - CIMPSSAPSettingsStore* sapStore = CIMPSSAPSettingsStore::NewLC(); - // set SAPItem with aUid as default - sapStore->SetToDefaultL( aUid, aAccessGroup ); - CleanupStack::PopAndDestroy( sapStore ); - } - -void CWPIMSAPItem::IncrementNameL(TDes& aName) - { - - FLOG( _L( "CWPIMSAPItem::IncrementNameL: Enter" ) ); - - TInt length = aName.Length(); - - - // If this fails it means that at least default name should have been assigned - // to item. - //__ASSERT_ALWAYS(length > 0, Panic(EMEUNameEmpty)); - TInt newOrdinal = 0; - TInt index = length-1; - TInt charValue = aName[index]; - - // Check if name ends with ')' - if (charValue == ')') - { - TBool cutBetweenIndexes = EFalse; - index--; - TInt multi = 1; - while ( index >= 0) - { - charValue = aName[index]; - TChar ch(charValue); - - if (!ch.IsDigit()) - { - // There was non-digits inside the brackets. - if ( charValue == '(') - { - // We found the start - cutBetweenIndexes = ETrue; - index--; - break; - } - else - { - // There was a non-digit inside the '(' and ')' - // We just append after the original name. - break; - } - } // if - else - { - TInt newNum = ch.GetNumericValue(); - if (multi <= 100000000) - { - // If there's a pattern (007) then this makes it to be (007)(01) - if (newNum == 0 && newOrdinal != 0 && multi > 10) - { - break; - } - newOrdinal += newNum * multi; - multi*=10; - }//0010 - else - { - newOrdinal = 0; - break; - } - } - index--; - } // while - - // There was correct pattern of (0000) so now we delete it. - if (cutBetweenIndexes) - { - aName.Delete(index+1, length-index); - } - else - { - // This case is for example 12345) so we get 12345)(01) - newOrdinal = 0; - } - } // if - - // Add one to the ordinal read from the old name - newOrdinal++; - - // Check that there's enough space to add the ordinal - TInt maxLength = aName.MaxLength(); - TInt ordinalSpace(4); // Ordinal space comes from (00) so it's 4 - length = aName.Length(); - if (length + ordinalSpace > maxLength) - { - aName.Delete(maxLength-ordinalSpace, ordinalSpace); - } - - // Append the ordinal at the end of the name - HBufC* old = aName.AllocLC(); - - _LIT(KFormatSpecLessTen, "%S(0%d)"); - _LIT(KFormatSpecOverTen, "%S(%d)"); - if (newOrdinal < 10) - { - aName.Format(KFormatSpecLessTen, old, newOrdinal); - } - else - { - aName.Format(KFormatSpecOverTen, old, newOrdinal); - } - CleanupStack::PopAndDestroy(old); // old - - FLOG( _L( "CWPIMSAPItem::IncrementNameL: Exit" ) ); - } - - -// ----------------------------------------------------------------------------- -// CWPIMSAPItem::IncrementNameL -// ----------------------------------------------------------------------------- -// -void CWPIMSAPItem::IncrementNameL(TDes& aName, TInt aMaxLength) - { - - FLOG( _L( "CWPIMSAPItem::IncrementNameL: Enter" ) ); - - TInt length = aName.Length(); - - - // If this fails it means that at least default name should have been assigned - // to item. - //__ASSERT_ALWAYS(length > 0, Panic(EMEUNameEmpty)); - TInt newOrdinal = 0; - TInt index = length-1; - TInt charValue = aName[index]; - - // Check if name ends with ')' - if (charValue == ')') - { - TBool cutBetweenIndexes = EFalse; - index--; - TInt multi = 1; - while ( index >= 0) - { - charValue = aName[index]; - TChar ch(charValue); - - if (!ch.IsDigit()) - { - // There was non-digits inside the brackets. - if ( charValue == '(') - { - // We found the start - cutBetweenIndexes = ETrue; - index--; - break; - } - else - { - // There was a non-digit inside the '(' and ')' - // We just append after the original name. - break; - } - } // if - else - { - TInt newNum = ch.GetNumericValue(); - if (multi <= 100000000) - { - // If there's a pattern (007) then this makes it to be (007)(01) - if (newNum == 0 && newOrdinal != 0 && multi > 10) - { - break; - } - newOrdinal += newNum * multi; - multi*=10; - }//0010 - else - { - newOrdinal = 0; - break; - } - } - index--; - } // while - - // There was correct pattern of (0000) so now we delete it. - if (cutBetweenIndexes) - { - aName.Delete(index+1, length-index); - } - else - { - // This case is for example 12345) so we get 12345)(01) - newOrdinal = 0; - } - } // if - - // Add one to the ordinal read from the old name - newOrdinal++; - - // Check that there's enough space to add the ordinal - TInt maxLength = aMaxLength; - TInt ordinalSpace(4); // Ordinal space comes from (00) so it's 4 - length = aName.Length(); - if (length + ordinalSpace > maxLength) - { - aName.Delete(maxLength-ordinalSpace, ordinalSpace); - } - - // Append the ordinal at the end of the name - HBufC* old = aName.AllocLC(); - - _LIT(KFormatSpecLessTen, "%S(0%d)"); - _LIT(KFormatSpecOverTen, "%S(%d)"); - if (newOrdinal < 10) - { - aName.Format(KFormatSpecLessTen, old, newOrdinal); - } - else - { - aName.Format(KFormatSpecOverTen, old, newOrdinal); - } - CleanupStack::PopAndDestroy(old); // old - - FLOG( _L( "CWPIMSAPItem::IncrementNameL: Enter" ) ); - } - -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Src/CWPPecAdapter.cpp --- a/omaprovisioning/provisioning/IMAdapter/Src/CWPPecAdapter.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,391 +0,0 @@ -/* -* Copyright (c) 2002 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: Handles wireless village settings in provisioning. -* -*/ - - - -// INCLUDE FILES -#include "CWPPecAdapter.h" // own header -#include -#include -#include -#include - -#include -#include "WPAdapterUtil.h" -#include "CWPIMSAPItem.h" -#include "ProvisioningDebug.h" - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::CWPPecAdapter -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -CWPPecAdapter::CWPPecAdapter() - { - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::ConstructL() - { - FLOG( _L( "[Provisioning] CWPPecAdapter::ConstructL:" ) ); - - TFileName fileName; - Dll::FileName( fileName ); - iWVTitle = WPAdapterUtil::ReadHBufCL( fileName, - KWVAdapterName, - R_QTN_OP_HEAD_IMSETTINGS ); - - iSAPIdForDefault = KNotSet; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CWPPecAdapter* CWPPecAdapter::NewL() - { - CWPPecAdapter* self = new(ELeave) CWPPecAdapter; - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// ----------------------------------------------------------------------------- -// Destructor -// ----------------------------------------------------------------------------- -CWPPecAdapter::~CWPPecAdapter() - { - delete iCurrentData; - delete iWVTitle; - for ( TInt i = 0; i < iDatas.Count(); i++ ) - { - delete iDatas[i]; - } - iDatas.Close(); - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::DetailsL -// ----------------------------------------------------------------------------- -// -TInt CWPPecAdapter::DetailsL( TInt /*aItem*/, MWPPairVisitor& /*aVisitor */ ) - { - return KErrNotSupported; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::SummaryCount -// ----------------------------------------------------------------------------- -// -TInt CWPPecAdapter::ItemCount() const - { - TInt count(0); - for(TInt i=0;iiProvLocation == EIMPSPECAccessGroup) - { - count++; - } - } - return count; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::SummaryTitle -// ----------------------------------------------------------------------------- -// -const TDesC16& CWPPecAdapter::SummaryTitle(TInt /*aIndex*/) const - { - return *iWVTitle; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::SummaryText -// ----------------------------------------------------------------------------- -// -const TDesC16& CWPPecAdapter::SummaryText(TInt aIndex) const - { - return iDatas[aIndex]->iName; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::SaveL -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::SaveL( TInt aIndex ) - { - FLOG( _L( "[Provisioning] CWPPecAdapter::SaveL" ) ); - - - for(TInt i=0;iiProvLocation != EIMPSPECAccessGroup) - { - delete iDatas[i]; - iDatas.Remove(i); - i--; - } - } - - if ( ( iDatas.Count() == 0 ) || ( aIndex > iDatas.Count() - 1 ) ) - { - FLOG( _L( "[Provisioning] CWPPecAdapter::SaveL No data" ) ); - return; - } - - if ( iDatas[aIndex]->iProvLocation == EIMPSPECAccessGroup ) - { - //data item at given index - TData* data = iDatas[aIndex]; - // create save item - CWPIMSAPItem* sapItem = CWPIMSAPItem::NewLC( EIMPSPECAccessGroup ); - - // set data to save item - sapItem->SetUserIDL( data->iUserID ); - sapItem->SetPasswordL( data->iPassword ); - sapItem->SetSAPURIL( data->iURL ); - sapItem->SetSettingsNameL( data->iName ); - - // Find a proper GPRS access point - TUint32 iapId = WPIMUtil::FindGPRSL( data->iLinks ); - - - // set the IAP id as part of save item. - sapItem->SetIAPIdL( iapId ); - - // store SAP item - TUint32 SAPuid = sapItem->StoreL(); - data->iSAPId = SAPuid; - - // if there is no id for default Service Access Point, set it. - if (iSAPIdForDefault == KNotSet) - { - iSAPIdForDefault = SAPuid; - } - - CleanupStack::PopAndDestroy( sapItem ); - FLOG( _L( "[Provisioning] CWPPecAdapter::SaveL Done" ) ); - } - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::CanSetAsDefault -// ----------------------------------------------------------------------------- -// -TBool CWPPecAdapter::CanSetAsDefault( TInt aIndex ) const - { - // the first one is set as default if exists. - return ( iSAPIdForDefault && ( aIndex == 0 ) ); - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::SetAsDefaultL -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::SetAsDefaultL( TInt aIndex ) - { - if ( aIndex == 0 && iSAPIdForDefault != KNotSet ) - { - // set the first item saved as a default - CWPIMSAPItem::SetAsDefaultL( iSAPIdForDefault, EIMPSPECAccessGroup ); - } - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::VisitL( CWPCharacteristic& aCharacteristic ) - { - switch( aCharacteristic.Type() ) - { - case KWPApplication: - { - iCurrentData = new(ELeave) TData; - - aCharacteristic.AcceptL( *this ); - - if( (iAppID == KIMAppID1 || - iAppID == KIMAppID2 ) && - WPIMUtil::IsValid( iCurrentData ) ) - { - FLOG( _L( "[Provisioning] CWPPecAdapter::VisitL App id match" ) ); - User::LeaveIfError( iDatas.Append( iCurrentData ) ); - } - else - { - delete iCurrentData; - } - iCurrentData = NULL; - } - break; - - case KWPAppAddr: // fallthrough - case KWPAppAuth: - { - if( iCurrentData ) - { - aCharacteristic.AcceptL( *this ); - } - } - break; - - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::VisitL( CWPParameter& aParameter ) - { - - switch( aParameter.ID() ) - { - case EWPParameterAppID: - iAppID.Set( aParameter.Value() ); - break; - - case EWPParameterName: - if (iCurrentData->iName == KNullDesC) - { - iCurrentData->iName.Set( aParameter.Value() ); - } - break; - - case EWPParameterAddr: - if (iCurrentData->iURL == KNullDesC) - { - iCurrentData->iURL.Set( aParameter.Value() ); - } - break; - - case EWPParameterAAuthName: - if (iCurrentData->iUserID == KNullDesC) - { - iCurrentData->iUserID.Set( aParameter.Value() ); - } - break; - - case EWPParameterAAuthSecret: - if (iCurrentData->iPassword == KNullDesC) - { - iCurrentData->iPassword.Set( aParameter.Value() ); - } - break; - // Here case 0 are handled the IM and Presence parameters that are extensions - // to OMA Client Provisioning parameter set. - case 0: - { - FLOG( _L( "[Provisioning] CWPPecAdapter::VisitL Case 0" ) ); - TInt val = aParameter.Name().Match( KServicesName ); - if ( val >= 0 ) - { - FLOG( _L( "[Provisioning] CWPPecAdapter::VisitL Services" ) ); - val = aParameter.Value().Match( KPresenceName ); - if ( val >= 0 ) - { - FLOG( _L( "[Provisioning] CWPPecAdapter::VisitL Pec" ) ); - iCurrentData->iProvLocation = EIMPSPECAccessGroup; - } - else - { - FLOG( _L( "[Provisioning] CWPPecAdapter::VisitL NO Pec" ) ); - // settings not for this adapter - iCurrentData->iProvLocation = EIMPSNoAccessGroup; - } - } - break; - } - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::VisitLinkL -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::VisitLinkL( CWPCharacteristic& aLink ) - { - switch( aLink.Type() ) - { - case KWPNapDef: // fallthrough - case KWPPxLogical: - { - User::LeaveIfError( iCurrentData->iLinks.Append( &aLink ) ); - break; - } - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::ContextExtension -// ----------------------------------------------------------------------------- -// -TInt CWPPecAdapter::ContextExtension( MWPContextExtension*& aExtension ) - { - aExtension = this; - return KErrNone; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::SaveDataL -// ----------------------------------------------------------------------------- -// -const TDesC8& CWPPecAdapter::SaveDataL( TInt aIndex ) const - { - return iDatas[aIndex]->iSAPId; - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::DeleteL -// ----------------------------------------------------------------------------- -// -void CWPPecAdapter::DeleteL( const TDesC8& aSaveData ) - { - TPckgBuf pckg; - pckg.Copy( aSaveData ); - - CWPIMSAPItem* sapItem = CWPIMSAPItem::NewLC( EIMPSPECAccessGroup ); - sapItem->DeleteL( pckg() ); - CleanupStack::PopAndDestroy( sapItem ); - } - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::Uid -// ----------------------------------------------------------------------------- -// -TUint32 CWPPecAdapter::Uid() const - { - return iDtor_ID_Key.iUid; - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Src/TWPIMVisitor.cpp --- a/omaprovisioning/provisioning/IMAdapter/Src/TWPIMVisitor.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -/* -* Copyright (c) 2002 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: TWPIMVisitor crawls a logical proxy -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include "TWPIMVisitor.h" - -// CONSTANTS -const TInt KNumNames = 1; - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// TWPIMVisitor::TWPIMVisitor -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -TWPIMVisitor::TWPIMVisitor() - { - iNapDef = NULL; - iName.Set( KNullDesC ); - } - -// ----------------------------------------------------------------------------- -// TWPIMVisitor::VisitL -// ----------------------------------------------------------------------------- -// -void TWPIMVisitor::VisitL( CWPParameter& aElement ) - { - switch( aElement.ID() ) - { - case EWPParameterName: - if( iName == KNullDesC ) - { - iName.Set( aElement.Value() ); - } - break; - - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// TWPIMVisitor::VisitL -// ----------------------------------------------------------------------------- -// -void TWPIMVisitor::VisitL( CWPCharacteristic& aElement ) - { - if( !iNapDef && aElement.Type() == KWPPxPhysical ) - { - aElement.AcceptL( *this ); - } - } - -// ----------------------------------------------------------------------------- -// TWPIMVisitor::VisitLinkL -// ----------------------------------------------------------------------------- -// -void TWPIMVisitor::VisitLinkL( CWPCharacteristic& aLink ) - { - if( !iNapDef && aLink.Type() == KWPNapDef ) - { - iNapDef = &aLink; - } - }; - - - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Src/WPIMAdapterGroupProxy.cpp --- a/omaprovisioning/provisioning/IMAdapter/Src/WPIMAdapterGroupProxy.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* -* Copyright (c) 2002 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: Table of plugins for ECom -* -*/ - - - -// INCLUDE FILES -#include "CWPIMAdapter.h" // own header -#include "CWPPecAdapter.h" // own header -#include -#include -#include "../../Group/ProvisioningUIDs.h" - - -// CONSTANTS -const TImplementationProxy KImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY( KProvisioningIMAdapterUid, CWPIMAdapter::NewL ), - IMPLEMENTATION_PROXY_ENTRY( KProvisioningPecAdapterUid, CWPPecAdapter::NewL ) - }; - -// ========================== OTHER EXPORTED FUNCTIONS ========================= - -// ----------------------------------------------------------------------------- -// ImplementationGroupProxy -// ----------------------------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount ) - { - aTableCount = sizeof( KImplementationTable ) / sizeof( TImplementationProxy ); - - return KImplementationTable; - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/Src/WPIMUtil.cpp --- a/omaprovisioning/provisioning/IMAdapter/Src/WPIMUtil.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ -/* -* Copyright (c) 2002 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: WPIMUtil is a utility class for reading resource strings. -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include -#include "WPIMUtil.h" -#include - -#include -#include -#include -#include -#include -#include "WPAdapterUtil.h" -#include -#include // TUriParser8 - -// CONSTANTS -const TInt KWVLastIllegalCharIndex = 32; -const TInt KNameMaxLength = 30; -const TInt KUserIdMaxLength = 50; -const TInt KPasswordMaxLenth = 50; -const TInt KURIMaxLength = 100; - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CWPPecAdapter::FindGPRSL -// ----------------------------------------------------------------------------- -// -TUint32 WPIMUtil::FindGPRSL( - RPointerArray& aLinks ) - { - TUint32 iapID=NULL; - RCmManagerExt cmmanagerExt; - cmmanagerExt.OpenL(); - CleanupClosePushL(cmmanagerExt); - TUint32 bearer = 0; - - - for( TInt i( 0 ); i < aLinks.Count(); i++ ) - { - CWPCharacteristic* curr = aLinks[i]; - - TPckgBuf uidPckg; - for( TInt dataNum( 0 ); curr->Data( dataNum ).Length() == uidPckg.MaxLength(); dataNum++ ) - { - uidPckg.Copy( curr->Data( dataNum ) ); - RCmConnectionMethodExt cm; - cm = cmmanagerExt.ConnectionMethodL( uidPckg() ); - CleanupClosePushL( cm ); - bearer = cm.GetIntAttributeL( CMManager::ECmBearerType ); - if(bearer == KUidPacketDataBearerType) - { - iapID = cm.GetIntAttributeL(CMManager::ECmIapId); - CleanupStack::PopAndDestroy(2); - return iapID; - } - CleanupStack::PopAndDestroy(); // cm - } - } - CleanupStack::PopAndDestroy(); //cmmanagerExt - - // This leave is absolutely needed as it pops & destroys - // data in CleanupStack - // User::Leave( KErrNotFound ); - return iapID; - } - -// ----------------------------------------------------------------------------- -// WPIMUtil::HasIllegalChars -// ----------------------------------------------------------------------------- -// -TBool WPIMUtil::HasIllegalChars( const TDesC& aDes ) - { - // check is there any special chars between 00h to 1Fh - for (TInt i=0; i< KWVLastIllegalCharIndex ; i++) - { - if (aDes.Locate(i) !=KErrNotFound ) - { - return ETrue; - } - } - - return EFalse; - } - -// ----------------------------------------------------------------------------- -// WPIMUtil::IsValid -// ----------------------------------------------------------------------------- -// -TBool WPIMUtil::IsValid( TData* aCurrentData ) - { - TBool ret(ETrue); - - // validate name: - TPtrC dataItem(aCurrentData->iName); - - // cut the name to its max length. - TPtrC newPtr = dataItem.Left(KNameMaxLength); - aCurrentData->iName.Set(newPtr); - - dataItem.Set( aCurrentData->iName ); - - if ( dataItem.Length() == 0 || WPIMUtil::HasIllegalChars( dataItem ) ) - { - // set the default name - TFileName fileName; - Dll::FileName( fileName ); - HBufC* defaultName = NULL; - TRAPD( retVal, defaultName = WPAdapterUtil::ReadHBufCL( fileName, - KWVAdapterName, - R_QTN_SM_IM_SERVER_DNAME ) ); - CleanupStack::PushL( defaultName ); - if ( ( retVal == KErrNone ) && defaultName ) - { - aCurrentData->iName.Set(*defaultName); - } - CleanupStack::PopAndDestroy( defaultName ); - } - - // cut the name to max length - // validate URL - dataItem.Set( aCurrentData->iURL ); - if ( dataItem.Length() == 0 || - dataItem.Length() > KURIMaxLength || - WPIMUtil::HasIllegalChars( dataItem ) ) - { - ret = EFalse; - } - else - { - TUriParser16 uriParser; - TInt err = uriParser.Parse( dataItem ); - - if (err != KErrNone) - { - ret = EFalse; - } - } - - if (ret) - { - // validate userID - dataItem.Set( aCurrentData->iUserID ); - if ( dataItem.Length() > KUserIdMaxLength || - WPIMUtil::HasIllegalChars( dataItem ) ) - { - ret = EFalse; - } - } - if (ret) - { - // validate password - dataItem.Set(aCurrentData->iPassword); - if ( dataItem.Length() > KPasswordMaxLenth ) - { - ret = EFalse; - } - } - return ret; - } - -// ----------------------------------------------------------------------------- -// TData::TData -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -TData::TData() - { - iName.Set( KNullDesC ); - iURL.Set( KNullDesC ); - iUserID.Set( KNullDesC ); - iPassword.Set( KNullDesC ); - iSAPId = 0; - } - -// ----------------------------------------------------------------------------- -// Destructor -// ----------------------------------------------------------------------------- -TData::~TData() - { - iLinks.Close(); - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/IMAdapter/loc/WPWVAdapter.loc --- a/omaprovisioning/provisioning/IMAdapter/loc/WPWVAdapter.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2002 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: Localisation texts -* -*/ - - - -// LOCALISATION STRINGS - -//d:This is the default name for new Wv server. -//l:??????? -// -#define qtn_sm_im_server_dname "New WV Server" - -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/ProvisioningEngine/Src/CWPBindingContextManager.cpp --- a/omaprovisioning/provisioning/ProvisioningEngine/Src/CWPBindingContextManager.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/omaprovisioning/provisioning/ProvisioningEngine/Src/CWPBindingContextManager.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -163,14 +163,16 @@ delete colset; User::LeaveIfError( table.SetIndex( KDbIndexDataContextId ) ); - table.SeekL( TDbSeekKey( TUint( aUid ) ) ); - TInt found( 0 ); - while( table.AtRow() && + TInt found( 0 ); + if(table.SeekL( TDbSeekKey( TUint( aUid ) ) )) + { + while( table.AtRow() && (table.GetL(), table.ColUint32( contextId ) == aUid ) ) { found++; table.NextL(); } + } FTRACE(RDebug::Print(_L("[Provisioning] CWPBindingContextManager::ContextDataCountL count (%d)"), found)); CleanupStack::PopAndDestroy(); // table return found; diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/ProvisioningEngine/Src/CWPMultiContextManager.cpp --- a/omaprovisioning/provisioning/ProvisioningEngine/Src/CWPMultiContextManager.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/omaprovisioning/provisioning/ProvisioningEngine/Src/CWPMultiContextManager.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -503,18 +503,17 @@ delete colset; User::LeaveIfError( proxies.SetIndex( KDbIndexProxiesContextId ) ); - proxies.SeekL( TDbSeekKey( TUint( aUid ) ) ); - CDesCArray* array = new(ELeave) CDesCArrayFlat( KProxiesGranularity ); - CleanupStack::PushL( array ); - - while( proxies.AtRow() + CleanupStack::PushL( array ); + if(proxies.SeekL( TDbSeekKey( TUint( aUid ) ) )) + { + while( proxies.AtRow() && (proxies.GetL(), proxies.ColUint32( contextCol ) == aUid ) ) { array->AppendL( proxies.ColDes16( proxyCol ) ); proxies.NextL(); - } - + } + } CleanupStack::Pop(); // array CleanupStack::PopAndDestroy(); // proxies diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/alwaysonadapter/Data/200159E4.rss --- a/omaprovisioning/provisioning/alwaysonadapter/Data/200159E4.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* Copyright (c) 2001 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: ECOM DLL interface & implementation description resource for - AlwaysOnAdapter OMA Provisioning adapter -* -*/ - - - - -// INCLUDES -#include -#include "ProvisioningUIDs.h" - -// RESOURCE DEFINITIONS -// ----------------------------------------------------------------------------- -// -// theInfo -// ECOM DLL interface & implementation description resource. -// -// ----------------------------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - dll_uid = 0x200159E4; - interfaces = - { - INTERFACE_INFO - { - interface_uid = KProvisioningAdapterInterface; - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = 0x200159E5; - version_no = 1; - // Use short name to save RAM and ROM space - display_name = "WAP Always-On PA"; - default_data = ""; - opaque_data = "10"; // Adapter priority - } - }; - } - }; - } - -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/alwaysonadapter/Group/alwaysonadapter.mmp --- a/omaprovisioning/provisioning/alwaysonadapter/Group/alwaysonadapter.mmp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2006-2006 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: Project definition file for Always-On settings adapter. -* -*/ - - -#include -#include - -TARGET wpalwaysonadapter.dll -TARGETTYPE PLUGIN -UID 0x10009D8D 0x200159E4 - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT - -SOURCEPATH ../Src -SOURCE alwaysonadapter.cpp -SOURCE alwaysonadaptergroupproxy.cpp - -SOURCEPATH ../Data - -START RESOURCE 200159E4.rss -TARGET wpalwaysonadapter.rsc -END - -USERINCLUDE . -USERINCLUDE ../Inc -USERINCLUDE ../../Group - -//SYSTEMINCLUDE /epoc32/include /epoc32/include/ecom -MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom - -LIBRARY euser.lib -LIBRARY provisioningengine.lib -LIBRARY CommonEngine.lib -LIBRARY centralrepository.lib - -DEBUGLIBRARY flogger.lib - - -SMPSAFE -//end of file - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/alwaysonadapter/Inc/alwaysonadapter.h --- a/omaprovisioning/provisioning/alwaysonadapter/Inc/alwaysonadapter.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ -/* -* Copyright (c) 2006-2006 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: Handles Always-On settings in OMA provisioning. -* -*/ - - -#ifndef C_ALWAYSONADAPTER_H -#define C_ALWAYSONADAPTER_H - -// INCLUDES -#include - -// FORWARD DECLARATIONS -class CRepository; - -// MODULE DATA STRUCTURES - -// ENUMERATIONS - -// CLASS DECLARATION - -/** - * CAlwaysOnAdapter handles AWON-PDPC and T-Retry OTA conifurations. - * The processes configurations are stored inside VENDORCONFIG element. - * - * @lib - * @since S60 v3.1 - */ -class CAlwaysOnAdapter : public CWPAdapter - { - private: // MODULE DATA STRUCTURES - - /** - * Struct for alwayson vendor config data. - */ - struct TAlwaysOnVConfigAdapterData - { - TPtrC iName; - TBool iAwonPdpcHPLMN; - TBool iAwonPdpcVPLMN; - TInt iTRetry; - }; - - public: // Constructors and destructor - - /** - * Two-phased constructor. - * @return an instance of class. - */ - static CAlwaysOnAdapter* NewL(); - - /** - * Destructor - */ - virtual ~CAlwaysOnAdapter(); - - public: // Functions from base classes - - /** - * From CWPAdapter - */ - TInt ItemCount() const; - - /** - * From CWPAdapter - */ - const TDesC16& SummaryTitle( TInt aIndex ) const; - - /** - * From CWPAdapter - */ - const TDesC16& SummaryText( TInt aIndex ) const; - - /** - * From CWPAdapter - */ - TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor ); - - /** - * From CWPAdapter - */ - void SaveL( TInt aItem ); - - /** - * From CWPAdapter - */ - TBool CanSetAsDefault( TInt aItem ) const; - - /** - * From CWPAdapter - */ - void SetAsDefaultL( TInt aItem ); - - /** - * From CWPAdapter - */ - void VisitL( CWPCharacteristic& aElement ); - - /** - * From CWPAdapter - */ - void VisitL( CWPParameter& aElement ); - - /** - * From CWPAdapter - */ - void VisitLinkL( CWPCharacteristic& aCharacteristic ); - - private: // Default constructors - - /** - * C++ default constructor. - */ - CAlwaysOnAdapter(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: // New functions - - /** - * Validates the data in iTempVCongigData. - */ - TBool IsVConfigValid(); - - /** - * Initializes the data in iTempVCongigData. - */ - void InitTempVConfigL(); - - /** - * Parses an integer from descriptor. - */ - void ParseIntegerL( const TDesC& aPtr, TInt& aInt ); - - /** - * Parses the AwonPdpc values from integer. - */ - void ParseAwonPdpcValuesL( TInt aInt ); - - private: // Data - - /** - * Pointer to validated vendor config data. - * Own. - */ - TAlwaysOnVConfigAdapterData* iVConfigData; - - /** - * Pointer to vendor config data what is not yet validated. - * Own. - */ - TAlwaysOnVConfigAdapterData* iTempVConfigData; - - /** - * Pointer PDPContextManager central repository. - * Own. - */ - CRepository* iPdpCenrep; - - private: - friend class T_CAlwaysOnAdapter; - - - }; - -#endif // C_ALWAYSONADAPTER_H - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/alwaysonadapter/Src/alwaysonadapter.cpp --- a/omaprovisioning/provisioning/alwaysonadapter/Src/alwaysonadapter.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,350 +0,0 @@ -/* -* Copyright (c) 2006-2006 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: Handles Always-On settings in OMA provisioning. -* -*/ - - -// INCLUDE FILES -#include -#include -#include -#include -#include - -#include "WPAdapterUtil.h" -#include "alwaysonadapter.h" -#include "ProvisioningDebug.h" - -// CONSTANTS -_LIT( KAlwaysOnAwonPdpcStr, "AWON-PDPC" ); -_LIT( KAlwaysOnTRetryStr, "T-RETRY" ); - -// AlwaysON PDP context status -// Parameters shall be binary encoded using the in-line string. -// Max length for each item is 2bytes. -// Values are XY, where X is related to 3G flag and Y is related to 2G flag. -// Possible values are: -// * "00", AlwaysOn is OFF for both 3G and 2G -// * "10", AlwaysOn is ON for 3G, OFF for 2G -// * "01", AlwaysOn is OFF for 3G, ON for 2G -// * "11", AlwaysOn is ON for 3G, ON for 2G -const TInt KAwonPdpc_Off3G_Off2G = 00; -const TInt KAwonPdpc_Off3G_On2G = 01; -const TInt KAwonPdpc_On3G_Off2G = 10; -const TInt KAwonPdpc_On3G_On2G = 11; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::CAlwaysOnAdapter -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -CAlwaysOnAdapter::CAlwaysOnAdapter() - { - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::ConstructL() - { - iPdpCenrep = CRepository::NewL( KCRUidPDPContextManager ); - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CAlwaysOnAdapter* CAlwaysOnAdapter::NewL() - { - CAlwaysOnAdapter* self = new( ELeave ) CAlwaysOnAdapter; - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - - return self; - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::~CAlwaysOnAdapter -// Destructor -// ----------------------------------------------------------------------------- -// -CAlwaysOnAdapter::~CAlwaysOnAdapter() - { - delete iVConfigData; - delete iTempVConfigData; - delete iPdpCenrep; - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::ItemCount -// ----------------------------------------------------------------------------- -// -TInt CAlwaysOnAdapter::ItemCount() const - { - // SummaryTitle(), SummaryText(), SaveL(), SetAsDefaultL() and - // CanSetAsDefault() are called ItemCount() times - return iVConfigData ? 1 : 0; - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::SummaryTitle -// ----------------------------------------------------------------------------- -// -const TDesC16& CAlwaysOnAdapter::SummaryTitle( TInt /*aIndex*/ ) const - { - return KNullDesC(); - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::SummaryText -// ----------------------------------------------------------------------------- -// -const TDesC16& CAlwaysOnAdapter::SummaryText( TInt /*aIndex*/ ) const - { - return KNullDesC(); - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::DetailsL -// ----------------------------------------------------------------------------- -// -TInt CAlwaysOnAdapter::DetailsL( TInt /*aItem*/, MWPPairVisitor& /*aVisitor*/ ) - { - // Detail view is a feature for later release. - return KErrNotSupported; - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::SaveL -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::SaveL( TInt /*aItem*/ ) - { - FLOG( _L( "[Provisioning] CAlwaysOnAdapter::SaveL:" ) ); - __ASSERT_DEBUG( iVConfigData, User::Leave( KErrCorrupt ) ); - - User::LeaveIfError( iPdpCenrep->Set( KPDPContextManagerEnableWhenHome, - TInt( iVConfigData->iAwonPdpcHPLMN ) ) ); - User::LeaveIfError( iPdpCenrep->Set( KPDPContextManagerEnableWhenRoaming, - TInt( iVConfigData->iAwonPdpcVPLMN ) ) ); - User::LeaveIfError( iPdpCenrep->Set( KPDPContextManagerRetryTimer, - iVConfigData->iTRetry ) ); - - FLOG( _L( "[Provisioning] CStreamingAdapter::SaveL: Done" ) ); - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::CanSetAsDefault -// ----------------------------------------------------------------------------- -// -TBool CAlwaysOnAdapter::CanSetAsDefault( TInt /*aItem*/ ) const - { - return EFalse; - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::SetAsDefault -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::SetAsDefaultL( TInt /*aItem*/ ) - { - // This shouldn't be called because CanSetAsDefault - // always returns EFalse. - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::VisitL -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::VisitL( CWPCharacteristic& aCharacteristic ) - { - switch( aCharacteristic.Type() ) - { - case KWPVendorConfig: - { - // Init settings temporary storage - InitTempVConfigL(); - - // Accept characteristic - aCharacteristic.AcceptL( *this ); - - // Validate data - if( IsVConfigValid() ) - { - // data is valid -> assign it to member variable - delete iVConfigData; - iVConfigData = iTempVConfigData; - iTempVConfigData = NULL; - } - else - { - // data is invalid - delete iTempVConfigData; - iTempVConfigData = NULL; - } - break; - } - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::VisitL -// -// Used to parse, the following always-on related provisioning settings -// -// -// -// -// -// -// -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::VisitL( CWPParameter& aParameter ) - { - switch( aParameter.ID() ) - { - case EWPParameterName: - iTempVConfigData->iName.Set( aParameter.Value() ); - break; - case EWPNamedParameter: - { - if( aParameter.Name().Compare( KAlwaysOnAwonPdpcStr ) == 0 ) - { - TInt awonPdpcTemp( KErrNotFound ); - ParseIntegerL( aParameter.Value(), awonPdpcTemp ); - ParseAwonPdpcValuesL( awonPdpcTemp ); - } - else if( aParameter.Name().Compare( KAlwaysOnTRetryStr ) == 0 ) - { - ParseIntegerL( aParameter.Value(), iTempVConfigData->iTRetry ); - } - break; - } - default: - break; - } - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::VisitLinkL -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::VisitLinkL( CWPCharacteristic& /*aCharacteristic*/ ) - { - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::IsVConfigValid -// ----------------------------------------------------------------------------- -// -TBool CAlwaysOnAdapter::IsVConfigValid() - { - TBool validity( ETrue ); - - // Validity check: - // - // T-Retry must be >= 0 - // ** 0 means infinity - // ** > 0 is retry timer value in seconds - if( iTempVConfigData->iTRetry < 0 ) - { - validity = EFalse; - } - - // AWON-PDPC - // ** Allowed awon-pdpc values are speficied in the beginning of file - // There is no need to validate AWON-PDPC because if parsing has succeeded - // the values are inside correct range. - - return validity; - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::InitTempVConfigL -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::InitTempVConfigL() - { - delete iTempVConfigData; - iTempVConfigData = NULL; - iTempVConfigData = new ( ELeave ) TAlwaysOnVConfigAdapterData; - - // Initialize iTempVConfigData's members - iTempVConfigData->iName.Set( KNullDesC ); - TInt temp( 0 ); - User::LeaveIfError( - iPdpCenrep->Get( KPDPContextManagerEnableWhenHome, temp ) ); - iTempVConfigData->iAwonPdpcHPLMN = TBool( temp ); - User::LeaveIfError( - iPdpCenrep->Get( KPDPContextManagerEnableWhenRoaming, temp ) ); - iTempVConfigData->iAwonPdpcVPLMN = TBool( temp ); - User::LeaveIfError( iPdpCenrep->Get( KPDPContextManagerRetryTimer, - iTempVConfigData->iTRetry ) ); - - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::ParseIntegerL -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::ParseIntegerL( const TDesC& aPtr, TInt& aInt ) - { - TLex lex( aPtr ); - User::LeaveIfError( lex.Val( aInt ) ); - } - -// ----------------------------------------------------------------------------- -// CAlwaysOnAdapter::ParseAwonPdpcValuesL -// ----------------------------------------------------------------------------- -// -void CAlwaysOnAdapter::ParseAwonPdpcValuesL( TInt aInt ) - { - switch( aInt ) - { - case KAwonPdpc_Off3G_Off2G: - iTempVConfigData->iAwonPdpcHPLMN = EFalse; - iTempVConfigData->iAwonPdpcVPLMN = EFalse; - break; - case KAwonPdpc_Off3G_On2G: - iTempVConfigData->iAwonPdpcHPLMN = EFalse; - iTempVConfigData->iAwonPdpcVPLMN = ETrue; - break; - case KAwonPdpc_On3G_Off2G: - iTempVConfigData->iAwonPdpcHPLMN = ETrue; - iTempVConfigData->iAwonPdpcVPLMN = EFalse; - break; - case KAwonPdpc_On3G_On2G: - iTempVConfigData->iAwonPdpcHPLMN = ETrue; - iTempVConfigData->iAwonPdpcVPLMN = ETrue; - break; - default: - User::Leave( KErrNotSupported ); - break; - } - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/alwaysonadapter/Src/alwaysonadaptergroupproxy.cpp --- a/omaprovisioning/provisioning/alwaysonadapter/Src/alwaysonadaptergroupproxy.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* -* Copyright (c) 2006-2006 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: Table of plugins for ECom. -* -*/ - - -// INCLUDE FILES -#include -#include - -#include "alwaysonadapter.h" - -// CONSTANTS -const TImplementationProxy ImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY( 0x200159E5, CAlwaysOnAdapter::NewL ) - }; - -// ========================== OTHER EXPORTED FUNCTIONS ========================= - -// ----------------------------------------------------------------------------- -// ImplementationProxy -// ECOM implementation table entry. -// ----------------------------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) - { - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); - return ImplementationTable; - } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/data/2000b4af.rss --- a/omaprovisioning/provisioning/cpdestinationnwadapter/data/2000b4af.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* -* Copyright (c) 2007 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: Resource definitions for project wpdestinationnwadapter -* -*/ - - - -#include -#include "wpdestinationnwadapteruids.h" - -// --------------------------------------------------------------------------- -// theInfo -// Resource defining the Destination network adapter plugin. -// --------------------------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - resource_format_version = RESOURCE_FORMAT_VERSION_2; - dll_uid = KDestinationNetworkAdapterDllUid3; - interfaces = - { - INTERFACE_INFO - { - interface_uid = KProvisioningAdapterInterface; - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = KDestinationNetworkAdapterUid; - version_no = 1; - display_name = "Destination Network Provisioning Adapter||Copyright © 2007 Nokia Corporation."; - default_data = ""; - opaque_data = "10"; - rom_only = 1; - } - }; - } - }; - } diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/data/wpdestinationnwadapter.rss --- a/omaprovisioning/provisioning/cpdestinationnwadapter/data/wpdestinationnwadapter.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2007 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: Resource definitions for project wpdestinationnwadapter -* -*/ - - - - -#include -#include -#include - -RESOURCE LBUF r_qtn_sm_head_destination_network - { - txt = qtn_sm_head_destination_network; - } - -RESOURCE LBUF r_qtn_sm_default_name_destination_network - { - txt = qtn_sm_default_name_destination_network; - } diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/group/bld.inf --- a/omaprovisioning/provisioning/cpdestinationnwadapter/group/bld.inf Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* -* Copyright (c) 2007 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: Build information file for wpnwdestinationadapter -* -*/ - - - -#include - -PRJ_PLATFORMS -DEFAULT - -PRJ_EXPORTS -../rom/wpdestinationnwadapter.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wpdestinationnwadapter.iby) -../rom/wpdestinationnwadapter_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wpdestinationnwadapter_resources.iby) - -// export localised loc file -../loc/wpdestinationnwadapter.loc MW_LAYER_LOC_EXPORT_PATH(wpdestinationnwadapter.loc) - - -PRJ_MMPFILES - -./wpdestinationnwadapter.mmp - - -PRJ_TESTMMPFILES - diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/group/wpdestinationnwadapter.mmp --- a/omaprovisioning/provisioning/cpdestinationnwadapter/group/wpdestinationnwadapter.mmp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: This file provides the information required for building the -* whole of cwpdestinationnwadapter.dll. -* -*/ - - - -#include -#include - -TARGET wpdestinationnwadapter.dll -TARGETTYPE PLUGIN -UID 0x10009D8D 0x2000B4AF - -OPTION GCC -save-temps - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT - -SOURCEPATH ../src -SOURCE cwpdestinationnwadapter.cpp -SOURCE cwpdestinationnwitem.cpp -SOURCE wpdestinationnwadaptergroupproxy.cpp - -SOURCEPATH ../data - -START RESOURCE 2000b4af.rss -TARGET wpdestinationnwadapter.rsc -END - -START RESOURCE wpdestinationnwadapter.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - -USERINCLUDE . -USERINCLUDE ../inc -MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE ../inc -SYSTEMINCLUDE /epoc32/include/ecom - -LIBRARY euser.lib -LIBRARY provisioningengine.lib -LIBRARY charconv.lib -LIBRARY commdb.lib -LIBRARY cmmanager.lib diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwadapter.h --- a/omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwadapter.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,283 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: Handles destination network provisioning. -* -*/ - - - -#ifndef CWPDESTINATIONNWADAPTER_H -#define CWPDESTINATIONNWADAPTER_H - -#include -#include - -#include "cwpdestinationnwitem.h" - -class CWPCharacteristic; - -/** - * Realizes destination network provisioning adapter. - * - * Destination network adapter handles destination network provisioning and - * stores them via Connection Method Manager API. - * - * @lib cwpdestinationnwadapter.lib - * @since S60 v3.2. - */ -class CWPDestinationNwAdapter : public CWPAdapter, public MWPContextExtension - { - /** - * Friend class for unit testing - uncomment when running tests. - */ - //friend class UT_wpdestinationnwadapter; - -public: - - static CWPDestinationNwAdapter* NewL(); - - virtual ~CWPDestinationNwAdapter(); - - /** - * Converts given 8-bit descriptor to TUint32. - * - * @since S60 v3.2. - * @param aDes Descriptor to be converted. - * @return Unsigned 32-bit integer. - */ - TUint32 CWPDestinationNwAdapter::Des8ToUint32L( const TDesC8& aDes ); - -// from base class CWPAdapter - - /** - * From CWPAdapter. - * Checks the number of settings items. - * - * @since S60 v3.2. - * @return Quantity of items (always one). - */ - TInt ItemCount() const; - - /** - * From CWPAdapter. - * Getter for the summary title of Destination network settings. The text - * is shown to the user in an opened configuration message. - * - * @since S60 v3.2. - * @param aIndex Location of the settings item. Not used. - * @return Summary title. - */ - const TDesC16& SummaryTitle( TInt aIndex ) const; - - /** - * From CWPAdapter. - * Getter for the summary text of Destination network settings. The text - * is shown to the user in opened configuration message. - * - * @since S60 v3.2. - * @param aIndex Location of the settings item. - * @return Summary text. - */ - const TDesC16& SummaryText( TInt aIndex ) const; - - /** - * From CWPAdapter. - * Saves a destination network. - * - * @since S60 v3.2. - * @param aIndex Location of the settings item. - */ - void SaveL( TInt aIndex ); - - /** - * From CWPAdapter. - * Returns EFalse since a destination cannot be set as default. - * - * @since S60 v3.2. - * @param aIndex Location of the settings item to be queried. Not used. - * @return Information whether these settings can be set as default. - */ - TBool CanSetAsDefault( TInt /*aIndex*/ ) const; - - /** - * From CWPAdapter. - * Adapter sets the settings as default. Not supported. - * - * @since S60 v3.2. - * @param aIndex Location of the settings item to be set as default. - */ - inline void SetAsDefaultL( TInt /*aIndex*/ ); - - /** - * From CWPAdapter. - * Query for detailed information about the destination network. - * This is not supported feature as in other adapters in the framework. - * Always returns KErrNotSupported. - * - * @since S60 v3.2. - * @param aItem Not used but here because of inheritance. - * @param aVisitor Object for retrieveing details of a setting entry. - * Not used. - * @return KErrNotSupported if not supported. - */ - TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor ); - - /** - * From CWPAdapter. - * Visit method. Visits the adapter. Adapter checks from - * aCharacteristic if the data is targeted to it and acts according to - * that. - * - * @since S60 v3.2. - * @param aCharacteristic The characteristic found. - */ - void VisitL( CWPCharacteristic& aCharacteristic ); - - /** - * From CWPAdapter. - * Visit method. Visits the adapter. Method sets parameter values to - * destination network settings item. - * - * @since S60 v3.2. - * @param aParameter The parameter found. - */ - void VisitL( CWPParameter& aParameter ); - - /** - * From CWPAdapter. - * Visit method. Used for linking settings to NAPDEF definition. - * - * @since S60 v3.2. - * @param aLink Link to the characteristic. - */ - void VisitLinkL( CWPCharacteristic& aLink ); - - /** - * From CWPAdapter. - * Gets the saving information from the adapter that has saved settings. - * - * @since S60 v3.2. - * @param aIndex Index of the previously saved item. - * @param aSavingInfo Saving info. - */ - void GetSavingInfoL( TInt aIndex, RPointerArray& aSavingInfo ); - - /** - * From CWPAdapter. - * Informs the adapters of the saved settings. - * Not used. - * - * @since S60 v3.2. - * @param aAppIdOfSavingItem UID of the adapter component. - * @param aAppRef APPREF of the saved settings. - * @param aStorageIdValue Value that identifies the settings in its - * storage. - */ - inline void SettingsSavedL( const TDesC8& /*aAppIdOfSavingItem*/, - const TDesC8& /*aAppRef*/, const TDesC8& /*aStorageIdValue*/ ); - - /** - * From CWPAdapter. - * Lets the adapters know when the saving has been finalized in - * viewpoint of the provisioning framework. The adapters can make - * finalization of saving the settings after receiving this call. - * Not used. - * - * @since S60 v3.2. - */ - inline void SavingFinalizedL(); - -// from base class MWPContextExtension - - /** - * From MWPContextExtension. - * Returns a pointer to a context extension. - * - * @since S60 v3.2. - * @param aExtension Contains a pointer to MWPContextExtension if - * supported. - * @return KErrNotSupported if not supported, otherwise KErrNone. - */ - TInt ContextExtension( MWPContextExtension*& aExtension ); - - /** - * From MWPContextExtension. - * Returns the data used for saving. - * - * @since S60 v3.2. - * @param aIndex The index of the data. - * @return The data; ownership is transferred. - */ - const TDesC8& SaveDataL( TInt aIndex ) const; - - /** - * From MWPContextExtension. - * Deletes a saved destination network. - * - * @since S60 v3.2. - * @param aSaveData The data used for saving. - */ - void DeleteL( const TDesC8& aSaveData ); - - /** - * From MWPContextExtension. - * Returns the UID of the adapter. - * - * @since S60 v3.2. - * @return UID of the adapter. - */ - TUint32 Uid() const; - -private: - - CWPDestinationNwAdapter(); - - void ConstructL(); - -private: // data - - /** - * Application ID of the current characteristic. - */ - TPtrC iAppId; - - /** - * Title for destination network. Value read from the resource file - * in initiation phase. - * Own. - */ - HBufC16* iDefaultTitle; - - /** - * Name for destination network. Value read from the resource file - * in initiation phase. - * Own. - */ - HBufC16* iDefaultName; - - /** - * Destination network item. - * Own. - */ - CWPDestinationNwItem* iCurrentItem; - - /** - * Destination Network items. - */ - RPointerArray iItems; - }; - -#include "cwpdestinationnwadapter.inl" - -#endif // CWPDESTINATIONNWADAPTER_H diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwadapter.inl --- a/omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwadapter.inl Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* -* Copyright (c) 2007 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: cwpdestinationnwadapter.h inline functions. -* -*/ - - - -// ----------------------------------------------------------------------------- -// CWPDestinationNwAdapter::SetAsDefaultL -// ----------------------------------------------------------------------------- -// -inline void CWPDestinationNwAdapter::SetAsDefaultL( TInt /*aIndex*/ ) - { - }; - -// ----------------------------------------------------------------------------- -// CWPDestinationNwAdapter::SettingsSavedL -// ----------------------------------------------------------------------------- -// -inline void CWPDestinationNwAdapter::SettingsSavedL( - const TDesC8& /*aAppIdOfSavingItem*/, const TDesC8& /*aAppRef*/, - const TDesC8& /*aStorageIdValue*/ ) - { - }; - -// ----------------------------------------------------------------------------- -// CWPDestinationNwAdapter::SavingFinalizedL -// ----------------------------------------------------------------------------- -// -inline void CWPDestinationNwAdapter::SavingFinalizedL() - { - }; diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwitem.h --- a/omaprovisioning/provisioning/cpdestinationnwadapter/inc/cwpdestinationnwitem.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ -/* -* Copyright (c) 2007 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: Settings item for one destination network. Also handles -* saving destination networks to permanent storage. -* -*/ - - - -#ifndef CWPDESTINATIONNWITEM_H -#define CWPDESTINATIONNWITEM_H - -#include -#include - -class CWPCharacteristic; - -/** - * Destination network settings item. - * - * Destination network item handles saving destination networks via - * Connection Method Manager API. - * - * @lib cwpdestinationnwadapter.lib - * @since S60 v3.2. - */ -class CWPDestinationNwItem : public CBase - { - /** - * Friend classes for unit testing - uncomment when running tests. - */ - //friend class UT_wpdestinationnwadapter; - -public: - - static CWPDestinationNwItem* NewL(); - - virtual ~CWPDestinationNwItem(); - - /** - * Setter for APPREF. - * @since S60 v3.2. - * @param aAPPREF. - */ - void SetAppRefL( const TDesC8& aAppRef ); - - /** - * Setter for user viewable name of the setting. - * @since S60 v3.2. - * @param aNAME. Value is TCP or UDP. - */ - void SetSettingsNameL( const TDesC& aSettingsName ); - - /** - * Setter for NAPDEF (IAP settings). - * @since S60 v3.2. - * @param aNapDef. - */ - void AddNapDefL( CWPCharacteristic* aNapDef ); - - /** - * Getter for APPREF value. - * @since S60 v3.2. - * @return APPREF. - */ - const TDesC8& AppRef() const; - - /** - * Getter for user viewable name of Destination network. - * @since S60 v3.2. - * @return Settings name. - */ - const TDesC& SettingsName() const; - - /** - * Saves the destination network settings. - * @since S60 v3.2. - */ - void SaveL(); - - /** - * Return destination network ID. - * @since S60 v3.2. - * @return ID of the destination network. - */ - const TDesC8& SaveData() const; - -private: - - /** - * Creates a network destination. - * @since S60 v3.2. - * @param aCmManager Connection Method Manager handle. - * @return Network destination. - */ - RCmDestinationExt CreateDestinationL( RCmManagerExt& aCmManager ); - - /** - * Returnes the Iap id that matches the given Wap id. - * @since S60 v3.2.3 - * @param aWapId IAP's Wap Id. - * @return Iap Id. - */ - TUint32 IapIdFromWapIdL( TUint32 aWapId ); - -private: - - void ConstructL(); - CWPDestinationNwItem(); - -private: // data - - /** - * Destination network reference identity in provisioning document. - * Own. - */ - HBufC8* iAppRef; - - /** - * Name of destination network visible to user when viewing the - * provisioning message. - * Own. - */ - HBufC* iSettingsName; - - /** - * Array of NAPDEFs, IAP settings. - * Not own. (Contained pointers are deleted by ProvisioningEngine.) - */ - RPointerArray iNapDefs; - - /** - * ID value of the referred IAP. - */ - TUint32 iIAPId; - - /** - * Destination network ID as a descriptor to be returned by the - * SaveData method to the framework via adapters SaveDataL. - * Own. - */ - HBufC8* iSavedProfileId; - - }; - -#endif // CWPDESTINATIONNWITEM_H diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/inc/wpdestinationnwadapteruids.h --- a/omaprovisioning/provisioning/cpdestinationnwadapter/inc/wpdestinationnwadapteruids.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* -* Copyright (c) 2007 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: Destination network adapter UIDs. -* -*/ - - - -#ifndef WPDESTINATIONNWADAPTERUIDS_H -#define WPDESTINATIONNWADAPTERUIDS_H - -// MACROS - -// ECOM plugin -#define KECOMUid2 0x10009D8D - -// UID2 for the Destination Network adapter. ECOM plug-in. -#define KDestinationNetworkAdapterDllUid2 KECOMUid2 - -// UID3 for the Destination Network adapter DLL. -#define KDestinationNetworkAdapterDllUid3 0x2000B4AF - -// Implementation UID for the Destination Network adapter. -#define KDestinationNetworkAdapterUid 0x2000B4AE - -// Interface UID from Client Provisioning adapter base class. -#define KProvisioningAdapterInterface 0x101F84D5 - -#endif // WPDESTINATIONNWADAPTERUIDS_H diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/inc/wpdestinationnwdebug.h --- a/omaprovisioning/provisioning/cpdestinationnwadapter/inc/wpdestinationnwdebug.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2007 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: Enables and disables debug prints. -* -*/ - - - -#ifndef WPDESTINATIONNWDEBUG_H -#define WPDESTINATIONNWDEBUG_H - -#include - -#ifdef _DEBUG -#define DBG_PRINT( p ) RDebug::Print( _L( p ) ) -#define DBG_PRINT_2( p, i ) RDebug::Print( _L( p ), i ) -#define DBG_PRINT_3( p, i, u ) RDebug::Print( _L( p ), i, u ) -#else -#define DBG_PRINT( p ) -#define DBG_PRINT_2( p, i ) -#define DBG_PRINT_3( p, i, u ) -#endif // _DEBUG - - -#endif // WPDESTINATIONNWDEBUG_H diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/loc/wpdestinationnwadapter.loc --- a/omaprovisioning/provisioning/cpdestinationnwadapter/loc/wpdestinationnwadapter.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* -* Copyright (c) 2007 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: Localization strings for project wpdestinationnwadapter -* -*/ - - - - -// d:Summary text for destination network. -// l:msg_body_pane/opt -// r:3.2 -// -#define qtn_sm_default_name_destination_network "Unnamed" - -// d:Summary title for destination network. -// l:msg_body_pane_t1 -// r:3.2 -// -#define qtn_sm_head_destination_network "Destination networks:" diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/rom/wpdestinationnwadapter.iby --- a/omaprovisioning/provisioning/cpdestinationnwadapter/rom/wpdestinationnwadapter.iby Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* -* Copyright (c) 2007 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: wpdestinationnwadapter iby file -* -*/ - - -#ifndef WPDESTINATIONNWADAPTER_IBY -#define WPDESTINATIONNWADAPTER_IBY - -#include - -ECOM_PLUGIN( wpdestinationnwadapter.dll, 2000b4af.rsc ) - -#endif // WPDESTINATIONNWADAPTER_IBY diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/rom/wpdestinationnwadapter_resources.iby --- a/omaprovisioning/provisioning/cpdestinationnwadapter/rom/wpdestinationnwadapter_resources.iby Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* -* Copyright (c) 2007 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: wpdestinationnwadapter resource iby file -* -*/ - - -#ifndef __WPDESTINATIONNWADAPTER_RESOURCES_IBY__ -#define __WPDESTINATIONNWADAPTER_RESOURCES_IBY__ - - -//Client Provisioning Destination network adapter resources -data=DATAZ_\RESOURCE_FILES_DIR\wpdestinationnwadapter.rsc RESOURCE_FILES_DIR\wpdestinationnwadapter.rsc - - -#endif // __WPDESTINATIONNWADAPTER_RESOURCES_IBY__ diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/src/cwpdestinationnwadapter.cpp --- a/omaprovisioning/provisioning/cpdestinationnwadapter/src/cwpdestinationnwadapter.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,380 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: Receives and stores Destination network settings. -* -*/ - - - - -#include -#include -#include -#include -#include -#include -#include // Adapter utils -#include // Unicode conversion -#include -#include -#include -#include - -#include "cwpdestinationnwadapter.h" -#include "wpdestinationnwdebug.h" - -_LIT( KDestinationNwAdapterName, "WPDestinationNwAdapter"); -_LIT( KDestinationNwAppID, "w904C" ); // OMA CP registration document. -_LIT8( KDestinationNwAppID8, "w904C" ); // OMA CP registration document. - - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::CWPDestinationNwAdapter -// --------------------------------------------------------------------------- -// -CWPDestinationNwAdapter::CWPDestinationNwAdapter() : CWPAdapter() - { - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::ConstructL -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::ConstructL() - { - DBG_PRINT( "CWPDestinationNwAdapter::ConstructL - begin" ); - TFileName fileName; - Dll::FileName( fileName ); - // Read settings title from localization file. The title is shown to UI - // when OMA CP message is provisioned using WAPPUSH. - iDefaultTitle = WPAdapterUtil::ReadHBufCL( - fileName, - KDestinationNwAdapterName, - R_QTN_SM_HEAD_DESTINATION_NETWORK ); - // Read default settings name from localization file. - iDefaultName = WPAdapterUtil::ReadHBufCL( - fileName, - KDestinationNwAdapterName, - R_QTN_SM_DEFAULT_NAME_DESTINATION_NETWORK ); - DBG_PRINT( "CWPDestinationNwAdapter::ConstructL - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::NewL -// --------------------------------------------------------------------------- -// -CWPDestinationNwAdapter* CWPDestinationNwAdapter::NewL() - { - CWPDestinationNwAdapter* self = new (ELeave) - CWPDestinationNwAdapter; - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::~CWPDestinationNwAdapter -// --------------------------------------------------------------------------- -// -CWPDestinationNwAdapter::~CWPDestinationNwAdapter() - { - DBG_PRINT( "CWPDestinationNwAdapter::~CWPDestinationNwAdapter - begin" ); - delete iDefaultTitle; - delete iDefaultName; - iItems.ResetAndDestroy(); - iItems.Close(); - DBG_PRINT( "CWPDestinationNwAdapter::~CWPDestinationNwAdapter - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::Des8ToUint32L() -// Converts an 8 bit descriptor to TUint32. -// --------------------------------------------------------------------------- -// -TUint32 CWPDestinationNwAdapter::Des8ToUint32L( const TDesC8& aDes ) - { - TLex8 lex( aDes ); - TUint32 value( 0 ); - User::LeaveIfError( lex.Val( value, EDecimal ) ); - return value; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::ItemCount -// From class CWPAdapter. -// Checks the number of settings items. -// --------------------------------------------------------------------------- -// -TInt CWPDestinationNwAdapter::ItemCount() const - { - return iItems.Count(); - } - -// --------------------------------------------------------------------------- -// From class CWPAdapter. -// CWPDestinationNwAdapter::SummaryTitle -// Returns the summary title. -// --------------------------------------------------------------------------- -// -const TDesC16& CWPDestinationNwAdapter::SummaryTitle( TInt /*aIndex*/ ) const - { - return *iDefaultTitle; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::SummaryText -// From class CWPAdapter. -// Returns the summary text of a destination network. -// --------------------------------------------------------------------------- -// -const TDesC16& CWPDestinationNwAdapter::SummaryText( TInt aIndex ) const - { - if ( !iItems[aIndex]->SettingsName().Length() ) - { - return *iDefaultName; - } - return iItems[aIndex]->SettingsName(); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::SaveL -// From class CWPAdapter. -// Calls settings items saving method. -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::SaveL( TInt aIndex ) - { - __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iItems.Count(), - User::Leave( KErrArgument ) ); - - iItems[aIndex]->SaveL(); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::CanSetAsDefault -// From class CWPAdapter. -// Not supported; always return EFalse. -// --------------------------------------------------------------------------- -// -TBool CWPDestinationNwAdapter::CanSetAsDefault( TInt /*aIndex*/ ) const - { - return EFalse; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::DetailsL -// From class CWPAdapter. -// Not supported. -// --------------------------------------------------------------------------- -// -TInt CWPDestinationNwAdapter::DetailsL( TInt /*aItem*/, - MWPPairVisitor& /*aVisitor */ ) - { - return KErrNotSupported; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::VisitL -// From class CWPAdapter. -// OMA CP characteristics are handled in this method. -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::VisitL( - CWPCharacteristic& aCharacteristic ) - { - DBG_PRINT( "CWPDestinationNwAdapter::VisitL( characteristic ) - begin" ); - switch ( aCharacteristic.Type() ) - { - // This adapter only handles APPLICATION characteristic. - case KWPApplication: - { - iCurrentItem = CWPDestinationNwItem::NewL(); - // Set default name for destination - replaced later if a name - // has been provisioned. - iCurrentItem->SetSettingsNameL( iDefaultName->Des() ); - aCharacteristic.AcceptL( *this ); - - // Settings are for Destination network - append current item to - // item array to be saved later. - if ( 0 == iAppId.Compare( KDestinationNwAppID() ) ) - { - iItems.AppendL( iCurrentItem ); - } - // Settings are not for Destination network. - else - { - delete iCurrentItem; - iCurrentItem = NULL; - } - break; - } - // All other than APPLICATION are ignored. - default: - break; - } - DBG_PRINT( "CWPDestinationNwAdapter::VisitL( characteristic ) - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::VisitL -// From class CWPAdapter. -// Destination network parameters are handled in this method. -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::VisitL( CWPParameter& aParameter ) - { - DBG_PRINT( "CWPDestinationNwAdapter::VisitL( parameter ) - begin" ); - // tmpValue holds the value converted from Unicode to UTF8. - HBufC8* tmpValue = HBufC8::NewLC( aParameter.Value().Length() ); // CS:1 - TPtr8 ptrTmpValue( tmpValue->Des() ); - CnvUtfConverter::ConvertFromUnicodeToUtf8( ptrTmpValue, - aParameter.Value() ); - - switch ( aParameter.ID() ) - { - // APPLICATION/APPID - case EWPParameterAppID: - { - iAppId.Set( aParameter.Value() ); - break; - } - - // APPLICATION/NAME - case EWPParameterName: - { - if ( iCurrentItem ) - { - iCurrentItem->SetSettingsNameL( aParameter.Value() ); - } - break; - } - - // APPLICATION/APPREF - case EWPParameterAppRef: - { - if ( iCurrentItem ) - { - iCurrentItem->SetAppRefL( tmpValue->Des() ); - } - break; - } - - // Other settings are ignored. - default: - { - break; - } - } - CleanupStack::PopAndDestroy( tmpValue ); // CS:0 - DBG_PRINT( "CWPDestinationNwAdapter::VisitL( parameter ) - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::VisitLinkL -// -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::VisitLinkL( CWPCharacteristic& aLink ) - { - if ( KWPNapDef == aLink.Type() && iCurrentItem ) - { - iCurrentItem->AddNapDefL( &aLink ); - } - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::GetSavingInfoL -// APPID is set to [0], APPREF to [1] and saving info (storage ID) to [2]. -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::GetSavingInfoL( TInt aIndex, - RPointerArray& aSavingInfo ) - { - __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iItems.Count(), - User::Leave( KErrArgument ) ); - - aSavingInfo.AppendL( KDestinationNwAppID8().AllocL() ); - aSavingInfo.AppendL( iItems[aIndex]->AppRef().AllocL() ); - aSavingInfo.AppendL( iItems[aIndex]->SaveData().AllocL() ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::ContextExtension -// From class MWPContextExtension. -// Returns a pointer to context extension. -// --------------------------------------------------------------------------- -// -TInt CWPDestinationNwAdapter::ContextExtension( - MWPContextExtension*& aExtension ) - { - aExtension = this; - return KErrNone; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::SaveDataL -// From class MWPContextExtension. -// Returns ID of saved data. -// --------------------------------------------------------------------------- -// -const TDesC8& CWPDestinationNwAdapter::SaveDataL( TInt aIndex ) const - { - __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iItems.Count(), - User::Leave( KErrArgument ) ); - - return iItems[aIndex]->SaveData(); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::DeleteL -// From class MWPContextExtension. -// Deletes a Destination network. -// --------------------------------------------------------------------------- -// -void CWPDestinationNwAdapter::DeleteL( const TDesC8& aSaveData ) - { - DBG_PRINT( "CWPDestinationNwAdapter::DeleteL - begin" ); - RCmManagerExt cmManager; - cmManager.OpenL(); - CleanupClosePushL( cmManager ); // CS:1 - TUint32 destinationId = Des8ToUint32L( aSaveData ); - RCmDestinationExt destination = cmManager.DestinationL( destinationId ); - CleanupClosePushL( destination ); // CS:2 - const TInt cmCount = destination.ConnectionMethodCount(); - // First remove IAPs from destination network because this adapter must - // not delete IAPs. - for ( TInt counter = 0; counter < cmCount; counter++ ) - { - destination.RemoveConnectionMethodL( - destination.ConnectionMethodL( 0 ) ); - destination.UpdateL(); - } - CleanupStack::Pop( &destination ); // CS:1 - destination.DeleteLD(); - CleanupStack::PopAndDestroy( &cmManager ); // CS:0 - DBG_PRINT( "CWPDestinationNwAdapter::DeleteL - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwAdapter::Uid -// From class MWPContextExtension. -// Returns the UID of this adapter. -// --------------------------------------------------------------------------- -// -TUint32 CWPDestinationNwAdapter::Uid() const - { - return iDtor_ID_Key.iUid; - } -// End of file. diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/src/cwpdestinationnwitem.cpp --- a/omaprovisioning/provisioning/cpdestinationnwadapter/src/cwpdestinationnwitem.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,345 +0,0 @@ -/* -* Copyright (c) 2007 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: Settings item for one destination network. Also handles -* saving destination networks to permanent storage. -* -*/ - - - - -#include -#include -#include -#include -#include -#include -#include -#include // For WLAN plugin UID, i.e. bearer type. - -#include "cwpdestinationnwitem.h" -#include "wpdestinationnwdebug.h" - -const TInt KMaxCharsInTUint32 = 10; - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::NewL -// -// --------------------------------------------------------------------------- -// -CWPDestinationNwItem* CWPDestinationNwItem::NewL() - { - CWPDestinationNwItem* self = new ( ELeave ) CWPDestinationNwItem(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::CWPDestinationNwItem -// -// --------------------------------------------------------------------------- -// -CWPDestinationNwItem::CWPDestinationNwItem() - { - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::~CWPDestinationNwItem -// -// --------------------------------------------------------------------------- -// -CWPDestinationNwItem::~CWPDestinationNwItem() - { - DBG_PRINT( "CWPDestinationNwItem::~CWPDestinationNwItem - begin" ); - delete iAppRef; - delete iSettingsName; - iNapDefs.Close(); - delete iSavedProfileId; - DBG_PRINT( "CWPDestinationNwItem::~CWPDestinationNwItem - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::ConstructL -// -// --------------------------------------------------------------------------- -// -void CWPDestinationNwItem::ConstructL() - { - DBG_PRINT( "CWPDestinationNwItem::ConstructL - begin" ); - iAppRef = HBufC8::NewL( 0 ); - iSettingsName = HBufC::NewL( 0 ); - iSavedProfileId = HBufC8::NewL( KMaxCharsInTUint32 ); - DBG_PRINT( "CWPDestinationNwItem::ConstructL - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::SetAppRefL -// -// --------------------------------------------------------------------------- -// -void CWPDestinationNwItem::SetAppRefL( const TDesC8& aAppRef ) - { - delete iAppRef; - iAppRef = NULL; - iAppRef = aAppRef.AllocL(); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::SetSettingsNameL -// -// --------------------------------------------------------------------------- -// -void CWPDestinationNwItem::SetSettingsNameL( const TDesC& aSettingsName ) - { - delete iSettingsName; - iSettingsName = NULL; - iSettingsName = aSettingsName.AllocL(); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::AddNapDefL -// -// --------------------------------------------------------------------------- -// -void CWPDestinationNwItem::AddNapDefL( CWPCharacteristic* aNapDef ) - { - iNapDefs.AppendL( aNapDef ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::AppRef -// -// --------------------------------------------------------------------------- -// -const TDesC8& CWPDestinationNwItem::AppRef() const - { - return *iAppRef; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::SettingsName -// -// --------------------------------------------------------------------------- -// -const TDesC& CWPDestinationNwItem::SettingsName() const - { - return *iSettingsName; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::SaveL() -// Saves the Destination network using Extended connection settings API. -// --------------------------------------------------------------------------- -// -void CWPDestinationNwItem::SaveL() - { - DBG_PRINT( "CWPDestinationNwItem::SaveL - begin" ); - // Number of IAPs that have been linked to this destination. - const TInt iapCount( iNapDefs.Count() ); - RCmManagerExt cmManager; - cmManager.OpenL(); - CleanupClosePushL( cmManager ); // CS:1 - RCmDestinationExt destination = CreateDestinationL( cmManager ); - CleanupClosePushL( destination ); // CS:2 - RCmConnectionMethodExt tempconn; - - // Add linked IAPs to destination. - for ( TInt counter = 0; counter < iapCount; counter++ ) - { - TPckgBuf apUid; - apUid.Copy( iNapDefs[counter]->Data( 0 ) ); - // The stored id is the wap id. Convert it into the iap id - - TUint32 iapId = IapIdFromWapIdL( apUid() ); - - apUid = NULL; - RCmConnectionMethodExt connection = - cmManager.ConnectionMethodL( iapId ); - CleanupClosePushL( connection ); // CS:5 - - RArray destinationIds; - cmManager.AllDestinationsL( destinationIds ); - CleanupClosePushL( destinationIds ); - - TInt counter2(0); - for ( counter2 = 0; counter2 < destinationIds.Count(); counter2++ ) - { - RCmDestinationExt tempdest = cmManager.DestinationL( - destinationIds[counter2] ); - - TRAPD( err, tempconn = tempdest.ConnectionMethodByIDL( iapId )); - - tempconn.Close(); - tempdest.Close(); - - if ( err != KErrNotFound ) - { - // Found from other destination - break; - } - } - if ( counter2 == destinationIds.Count() ) - { - // Not found in any other destination - destination.AddConnectionMethodL( connection ); - } - else - { - // Found in some other destination -> create copy - destination.AddConnectionMethodL( tempconn = connection.CreateCopyL() ); - tempconn.Close(); - } - CleanupStack::PopAndDestroy( &destinationIds ); - - // Change seamlessness level for linked WLAN IAPs. - TUint32 bearerType = connection.GetIntAttributeL( - CMManager::ECmBearerType ); - if ( KUidWlanBearerType == bearerType ) - { - connection.SetIntAttributeL( CMManager::ECmSeamlessnessLevel, - CMManager::ESeamlessnessShowprogress ); - connection.UpdateL(); - } - - destination.UpdateL(); - CleanupStack::PopAndDestroy( &connection ); // CS:4 - } - destination.UpdateL(); // In case there were no IAP linkages. - // Destination ID is needed as a descriptor (used in linking settings). - TUint32 destinationId = destination.Id(); - iSavedProfileId->Des().Num( destinationId, EDecimal ); - // Pop destination & cmManager. - CleanupStack::PopAndDestroy( 2, &cmManager ); // CS:0 - DBG_PRINT( "CWPDestinationNwItem::SaveL - end" ); - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::SaveData -// -// --------------------------------------------------------------------------- -// -const TDesC8& CWPDestinationNwItem::SaveData() const - { - return *iSavedProfileId; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::CreateDestinationL -// Checks that settings name if unique, renames if necessary, and creates -// a destination network. -// --------------------------------------------------------------------------- -// -RCmDestinationExt CWPDestinationNwItem::CreateDestinationL( - RCmManagerExt& aCmManager ) - { - DBG_PRINT( "CWPDestinationNwItem::CreateDestinationL - begin" ); - RArray destinationIds; - // Get destination ID's for checking if name to be set is reserved. - CleanupClosePushL( destinationIds ); // CS:1 - aCmManager.AllDestinationsL( destinationIds ); - const TInt destinationCount = destinationIds.Count(); - // Destination's name to actually be used. - HBufC* newName = HBufC::NewLC( - iSettingsName->Des().Length() + KMaxCharsInTUint32 ); // CS:2 - newName->Des().Copy( iSettingsName->Des() ); - - // Check names from all existing destinations. - for ( TInt counter = 0; counter < destinationCount; counter++ ) - { - RCmDestinationExt destination = aCmManager.DestinationL( - destinationIds[counter] ); - CleanupClosePushL( destination ); // CS:3 - HBufC* settingsName = destination.NameLC(); // CS:4 - // If destination exists, return it. - if ( 0 == newName->Des().Compare( settingsName->Des() ) ) - { - // Pop settingsName & destination & newName - CleanupStack::PopAndDestroy( 3, &destination ); // CS:1 - - RCmDestinationExt dest2 = aCmManager.DestinationL( - destinationIds[counter] ); - - CleanupStack::PopAndDestroy( &destinationIds ); // CS:0 - DBG_PRINT( "CWPDestinationNwItem::CreateDestinationL - end" ); - return dest2; - } - // Pop settingsName & destination. - CleanupStack::PopAndDestroy( 2, &destination ); // CS:2 - } - - // Create new a destination and return it. - RCmDestinationExt destination = aCmManager.CreateDestinationL( *newName ); - // Pop newName & destinationIds - CleanupStack::PopAndDestroy( 2, &destinationIds ); // CS:0 - DBG_PRINT( "CWPDestinationNwItem::CreateDestinationL - end" ); - return destination; - } - -// --------------------------------------------------------------------------- -// CWPDestinationNwItem::IapIdFromWapId -// Returns IAP ID from WAP ID. -// --------------------------------------------------------------------------- -// -TUint32 CWPDestinationNwItem::IapIdFromWapIdL( TUint32 aWapId ) - { - RCmManagerExt cmManager; - cmManager.OpenLC(); // CS:1 - RArray iapIds; - TUint32 iapId( 0 ); - - // First get all free IAP ID's. - cmManager.ConnectionMethodL( iapIds ); - CleanupClosePushL( iapIds ); // CS:2 - - // Then get IAP ID's from all destinations. - RArray destIds; - cmManager.AllDestinationsL( destIds ); - CleanupClosePushL( destIds ); // CS:3 - TInt destCount = destIds.Count(); - for ( TInt destIndex = 0; destIndex < destCount; destIndex++ ) - { - RCmDestinationExt dest = cmManager.DestinationL( - destIds[destIndex] ); - CleanupClosePushL( dest ); // CS:4 - TInt cmCount = dest.ConnectionMethodCount(); - for ( TInt cmIndex = 0; cmIndex < cmCount; cmIndex++ ) - { - TUint32 apId = dest.ConnectionMethodL( - cmIndex ).GetIntAttributeL( CMManager::ECmIapId ); - iapIds.AppendL( apId ); - } - CleanupStack::PopAndDestroy( &dest ); // CS:3 - } - // Finally, go through all connection methods and find correct IAP ID. - const TInt cmCount = iapIds.Count(); - for ( TInt counter = 0; counter < cmCount; counter++ ) - { - TUint32 id = cmManager.GetConnectionMethodInfoIntL( - iapIds[counter], CMManager::ECmWapId ); - if ( id == aWapId ) - { - iapId = iapIds[counter]; - // No need to go through rest of IAPs. - break; - } - } - // PopAndDestroy destIds, iapIds, cmManager. - CleanupStack::PopAndDestroy( 3, &cmManager ); // CS:0 - return iapId; - } - - -// End of file. diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/cpdestinationnwadapter/src/wpdestinationnwadaptergroupproxy.cpp --- a/omaprovisioning/provisioning/cpdestinationnwadapter/src/wpdestinationnwadaptergroupproxy.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* -* Copyright (c) 2007 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: Destination network adapter implementation group proxy -* -*/ - - - - -// INCLUDE FILES -#include -#include -#include "wpdestinationnwadapteruids.h" -#include "cwpdestinationnwadapter.h" - -// CONSTANTS -const TImplementationProxy KImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY( KDestinationNetworkAdapterUid, - CWPDestinationNwAdapter::NewL ) - }; - -// ----------------------------------------------------------------------------- -// ImplementationGroupProxy -// Returns: TImplementationProxy*: pointer to TImplementationProxy -// ----------------------------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy( - TInt& aTableCount ) - { - aTableCount = sizeof( KImplementationTable ) / - sizeof( TImplementationProxy ); - return KImplementationTable; - } - -// End of file. diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/dmutilserver/src/ACLStorage.cpp --- a/policymanagement/dmutilserver/src/ACLStorage.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/dmutilserver/src/ACLStorage.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -391,6 +391,8 @@ //create buffer for string HBufC8* buf = HBufC8::NewL( Length()); + CleanupStack::PushL( buf ); + TPtr8 ptr = buf->Des(); //clearflag @@ -416,7 +418,7 @@ delete buf; } - + CleanupStack::Pop( buf ); RDEBUG("DMUtilServer: CACLNode::SaveStringL - End"); return buf; } @@ -520,7 +522,8 @@ //Create ACL node CACLNode * node = new (ELeave) CACLNode(); - + CleanupStack::PushL( node); + TPtrC8 ptr( aACLString); TInt err( KErrNone); @@ -598,7 +601,7 @@ CleanupStack::Pop( command); } } - + CleanupStack::Pop( node); RDEBUG("DMUtilServer: CACLNode::CreateACLL - End"); return node; } @@ -971,8 +974,9 @@ //get old ACL values from dmdbhandler CBufFlat* bufBase = CBufFlat::NewL( 1); User::LeaveIfError( iDbSession.Connect() ); + CleanupClosePushL( iDbSession ); iDbSession.GetAclL( aURI, *bufBase, EFalse); -iDbSession.Close(); + CleanupStack::PopAndDestroy( ); // iDbSession TPtrC8 aclPtr = bufBase->Ptr( 0 ); @@ -1054,8 +1058,9 @@ CleanupStack::PushL( aclStr); RDEBUG8_2("DMUtilServer: New ACL string for node: %S", aclStr); User::LeaveIfError( iDbSession.Connect() ); + CleanupClosePushL( iDbSession ); iDbSession.UpdateAclL( aURI, *aclStr); - iDbSession.Close(); + CleanupStack::PopAndDestroy( ); // iDbSession CleanupStack::PopAndDestroy( aclStr); CleanupStack::PopAndDestroy( acl); diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/pmdmadapter/src/pmadapter.cpp --- a/policymanagement/pmdmadapter/src/pmadapter.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/pmdmadapter/src/pmadapter.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -1507,7 +1507,9 @@ CPmCommand *CPmCommand::NewL( TInt aStatusRef, const TDesC8& aURI, const TDesC8 &aArgument ) { CPmCommand *self = new ( ELeave ) CPmCommand( aStatusRef, aURI ); + CleanupStack::PushL(self); self->ConstructL( aArgument ); + CleanupStack::Pop(self); //self return self ; } diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/centreptoolserver/src/CentRepToolServer.cpp --- a/policymanagement/policyengine/centreptoolserver/src/CentRepToolServer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/centreptoolserver/src/CentRepToolServer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -428,14 +428,16 @@ //add new CTrustedSession object into container and object index CRepositorySession * repositorySession = CRepositorySession::NewL( repositoryUid); - + CleanupStack::PushL(repositorySession); + iContainer->AddL( repositorySession); TInt handle = iRepositorySessions->AddL( repositorySession); //transmit handle to client TPckg handlePckg(handle); TRAPD( r, aMessage.WriteL(3, handlePckg)) - + CleanupStack::Pop( repositorySession ); //repositorySession + if ( r != KErrNone) { iRepositorySessions->Remove(handle); diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/centreptoolserver/src/IniFileHelper.cpp --- a/policymanagement/policyengine/centreptoolserver/src/IniFileHelper.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/centreptoolserver/src/IniFileHelper.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -631,6 +631,7 @@ { case TSecurityPolicy::ETypeFail : *defaultType = EAlwaysFail; + break; case TSecurityPolicy::ETypePass : { cap[0] = TUint8(ECapability_None); @@ -2007,7 +2008,8 @@ TInt len = size/2-1; HBufC16* buf = HBufC16::NewL(len); - + CleanupStack::PushL(buf); + TPtr16 ptr16 = buf->Des(); TPtr8 ptr8( (TUint8*)ptr16.Ptr(), 0, 2); @@ -2022,7 +2024,8 @@ ptr8.Set((TUint8*)ptr16.Ptr(), 0, size-2); User::LeaveIfError(aFile.Read(ptr8)); ptr16.SetLength(len); - + CleanupStack::Pop(buf); //buf + return buf; } diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp --- a/policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -218,7 +218,8 @@ //try to create RangeMeta data TLex lex( line); CRangeMeta * rangeMeta = CRangeMeta::NewL( lex); - + CleanupStack::PushL(rangeMeta); + //if the line content is not a range meta data check is the content is it default meta data if ( rangeMeta) { @@ -232,7 +233,8 @@ User::LeaveIfError( !lex.Eos()); } } - + CleanupStack::Pop(rangeMeta); //rangeMeta + } while ( defaultMeta.Length()); } @@ -267,6 +269,7 @@ TLex lex( sectionPtr); CRangeSetting* rangeSetting = CRangeSetting::NewL( lex); + CleanupStack::PushL(rangeSetting); if ( rangeSetting ) { @@ -275,6 +278,7 @@ else { CDefaultSetting* defaultSetting = CDefaultSetting::NewL( lex); + CleanupStack::PushL(defaultSetting); if ( defaultSetting ) { @@ -294,8 +298,9 @@ //line contains invalid format -> Corrupted User::Leave( KErrCorrupt); } + CleanupStack::Pop(defaultSetting); //defaultSetting } - + CleanupStack::Pop(rangeSetting); //rangeSetting } while ( platSecPtr.Length()); @@ -660,7 +665,8 @@ } CIndividualSetting * setting = CIndividualSetting::NewL( lex); - + CleanupStack::PushL(setting); + if ( setting ) { //add settting to settings list @@ -671,7 +677,8 @@ //file is corrupted if setting is not valid User::Leave( KErrCorrupt); } - + CleanupStack::Pop(setting); //setting + //repeat until contetn left } while ( iContentPtr.Length()); } @@ -1670,8 +1677,10 @@ for ( TInt i = 0; i < countUint32; i++) { CIndividualSetting* singlePolicy = new(ELeave) CIndividualSetting(); + CleanupStack::PushL(singlePolicy); singlePolicy->InternalizePlatSecL( aStream); AddIndividualSettingL( singlePolicy); + CleanupStack::Pop(singlePolicy); //singlePolicy } //read range policies @@ -1683,8 +1692,10 @@ for ( TInt i = 0; i < countInt32; i++) { CRangeSetting* rangePolicy = new(ELeave) CRangeSetting(); + CleanupStack::PushL(rangePolicy); aStream >> *rangePolicy; User::LeaveIfError( iRangeSettings.Append( rangePolicy)); + CleanupStack::Pop(rangePolicy); //rangePolicy } @@ -1703,8 +1714,10 @@ for ( TInt i = 0; i < countInt32; i++) { CRangeMeta* rangeMeta = new(ELeave) CRangeMeta(); + CleanupStack::PushL(rangeMeta); aStream >> (*rangeMeta); User::LeaveIfError( iRangeMetas.Append( rangeMeta)); + CleanupStack::Pop(rangeMeta); //rangeMeta } //read time stamp diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/policyengineserver/inc/PolicyProcessor.h --- a/policymanagement/policyengine/policyengineserver/inc/PolicyProcessor.h Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/inc/PolicyProcessor.h Fri Oct 15 11:46:45 2010 +0530 @@ -118,7 +118,7 @@ //Read that counter value from central repository TInt GetCertCounterValue(); TInt RemoveCertificateFromStoreL(const RMessage2& aMessage); - void UpdateSilentTrustServerId(); + void UpdateSilentTrustServerIdL(); TInt CheckCurrentServerIdFromCR(); protected: @@ -183,7 +183,7 @@ ~CCertStore(); - void InitializeCertStore(); + void InitializeCertStoreL(); TInt AddCert(HBufC8 *aCertBuffer); void GetWritableCertStoreIndex(); TInt GenerateNewCertLabel(); @@ -222,6 +222,8 @@ //Waits for the operation to complete. Owned. CActiveSchedulerWait* iWait; TBuf8<40> iFingerPrint; + + RFs iFs; }; diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/policyengineserver/src/ElementBase.cpp --- a/policymanagement/policyengine/policyengineserver/src/ElementBase.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/ElementBase.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -568,13 +568,14 @@ { //create new container for element TElementContainer * container = new (ELeave) TElementContainer; - + CleanupStack::PushL(container); //fill container and apppend it to list container->iElement = aElement; container->iDeleteWithElement = aDeleteWithElement; iElements.AppendL( container); + CleanupStack::Pop(container); //container } // ----------------------------------------------------------------------------- diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/policyengineserver/src/Elements.cpp --- a/policymanagement/policyengine/policyengineserver/src/Elements.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/Elements.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -1214,7 +1214,7 @@ CAttribute::~CAttribute() { delete iDataType; - delete iAttributeId; + delete iAttributeId; // iAttributeValue is deleted by base class . } // ----------------------------------------------------------------------------- diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/policyengineserver/src/PolicyEngineServer.cpp --- a/policymanagement/policyengine/policyengineserver/src/PolicyEngineServer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/PolicyEngineServer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -701,7 +701,9 @@ { //add new session objects object into container and object index CPolicyProcessor * policyProcessor = CPolicyProcessor::NewL(); + CleanupStack::PushL(policyProcessor); CTrustedSession * trustedSession = CTrustedSession::NewL(); + CleanupStack::PushL(trustedSession); trustedSession->AddSessionSIDL( aMessage.SecureId()); policyProcessor->SetSessionTrust( trustedSession); CPolicyManager * policyManager = NULL; @@ -709,18 +711,25 @@ if ( aMessage.Function() == ECreateManagementSubSession) { policyManager = CPolicyManager::NewL( policyProcessor); + CleanupStack::PushL(policyManager); } //Create new subsession object for subsession CSubSessionObjects * subSessionObjects = CSubSessionObjects::NewL( policyProcessor, policyManager, trustedSession); - + CleanupStack::PushL(subSessionObjects); + iContainer->AddL( subSessionObjects); TInt handle = iSessionsObjects->AddL( subSessionObjects); //transmit handle to client TPckg handlePckg(handle); TRAPD( r, aMessage.WriteL(3, handlePckg)) - + CleanupStack::Pop(subSessionObjects); + if ( policyManager ) + CleanupStack::Pop(policyManager); + CleanupStack::Pop(trustedSession); + CleanupStack::Pop(policyProcessor); + if ( r != KErrNone) { iSessionsObjects->Remove(handle); diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/policyengineserver/src/PolicyProcessor.cpp --- a/policymanagement/policyengine/policyengineserver/src/PolicyProcessor.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/PolicyProcessor.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -181,7 +181,7 @@ } iStore = CCertStore::NewL(); - iStore->InitializeCertStore(); + iStore->InitializeCertStoreL(); TInt res = iStore->AddCert(iCertBuffer); if(res == KErrNone) { @@ -223,7 +223,7 @@ iStore = NULL; } iStore = CCertStore::NewL(); - iStore->InitializeCertStore(); + iStore->InitializeCertStoreL(); TInt res; if(label->Des() == KNullDesC) @@ -518,9 +518,10 @@ CAttribute * attribute = CAttribute::NewL( aAttributeId, aAttributeValue, aDataType); - + CleanupStack::PushL(attribute); //append attribute to attribute list list->AppendL( attribute); + CleanupStack::Pop(attribute); } } @@ -892,16 +893,16 @@ // ----------------------------------------------------------------------------- -// CPolicyProcessor::UpdateSilentTrustServerId() +// CPolicyProcessor::UpdateSilentTrustServerIdL() // ----------------------------------------------------------------------------- // -void CPolicyProcessor::UpdateSilentTrustServerId() +void CPolicyProcessor::UpdateSilentTrustServerIdL() { RDEBUG("CPolicyProcessor::UpdateSilentTrustServerId" ); //get server id and store in cenrep //connect to DM util client... RDMUtil dmutil; - dmutil.Connect(); + User::LeaveIfError(dmutil.Connect()); CleanupClosePushL( dmutil); //..and get server id @@ -909,15 +910,10 @@ dmutil.GetDMSessionServerId( serverid); CleanupStack::PopAndDestroy( &dmutil); - TInt ret; - TRAPD( err, - { - CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); - CleanupStack::PushL( rep ); - ret = rep->Set( KTrustedServerId, serverid ); - CleanupStack::PopAndDestroy( rep ); - } ); - + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + rep->Set( KTrustedServerId, serverid ); + CleanupStack::PopAndDestroy( rep ); } // ----------------------------------------------------------------------------- @@ -961,7 +957,7 @@ iStore = NULL; } iStore = CCertStore::NewL(); - iStore->InitializeCertStore(); + iStore->InitializeCertStoreL(); HBufC* certLabel = iStore->GetCurrentCertLabel(); const TDesC8& fingerPrintSilent = iStore->RetrieveCertFPrint(*certLabel); @@ -971,7 +967,7 @@ if(result==KErrNone) { - UpdateSilentTrustServerId(); + UpdateSilentTrustServerIdL(); response = EUserAccept; showUserScreen = EFalse; @@ -993,6 +989,7 @@ if(showUserScreen) { CProcessorClient *client = new CProcessorClient(); + CleanupStack::PushL(client); TInt res = client->LaunchDialog(ptr, name); if(res == 0) @@ -1003,6 +1000,10 @@ MakeBooleanResponseL( response == EUserAccept, aResponseElement); + if(showUserScreen) + { + CleanupStack::Pop(); // client + } } // ----------------------------------------------------------------------------- @@ -1294,10 +1295,12 @@ CHbSymbianVariant* fingerprintid = CHbSymbianVariant::NewL(&fingerBuf, CHbSymbianVariant::EDes); - + CleanupStack::PushL(fingerprintid); + CHbSymbianVariant* serverdisplayname = CHbSymbianVariant::NewL( &serverName, CHbSymbianVariant::EDes); - + CleanupStack::PushL(serverdisplayname); + RDEBUG_2("CPolicyProcessor::fingerPrint: %S", &fingerprintid); RDEBUG_2("CPolicyProcessor::fingerPrint: %S", &serverdisplayname); @@ -1308,6 +1311,8 @@ TInt err1 = iDevDialog->Show(KHbNotifier, *varMap, this); TInt err = WaitUntilDeviceDialogClosed(); + CleanupStack::Pop(serverdisplayname); + CleanupStack::Pop(fingerprintid); CleanupStack::PopAndDestroy(); if (iDevDialog) @@ -1643,6 +1648,10 @@ iCertBuffer = NULL; delete iCertStore; iCertStore = NULL; + + + if (iFs.Handle()) + iFs.Close(); } @@ -1658,14 +1667,13 @@ } -void CCertStore::InitializeCertStore() +void CCertStore::InitializeCertStoreL() { - RDEBUG("CCertStore::InitializeCertStore"); + RDEBUG("CCertStore::InitializeCertStoreL"); if(iCertStore == NULL) { - RFs* fs = new RFs(); - fs->Connect(); - iCertStore = CUnifiedCertStore::NewL(*fs, ETrue); + User::LeaveIfError(iFs.Connect()); + iCertStore = CUnifiedCertStore::NewL(iFs, ETrue); iCertStore->Initialize(iStatus); iCertState = EInitializeStore; diff -r d2517372cc44 -r ae69c2e8bc34 policymanagement/policyengine/policyengineserver/src/TrustedSession.cpp --- a/policymanagement/policyengine/policyengineserver/src/TrustedSession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/TrustedSession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -717,10 +717,10 @@ CCertificateMaps::CRolesInfo* CCertificateMaps::CRolesInfo::NewL( const TDesC8& aRole, TElementState aState) { CRolesInfo * self = new (ELeave) CRolesInfo(); - + CleanupStack::PushL(self); self->iRole = aRole.AllocL(); self->iState = aState; - + CleanupStack::Pop(self); return self; } @@ -1297,6 +1297,7 @@ certLength += aCertInfo.iFingerprint.Length() * 2; HBufC8* casn = HBufC8::NewL( certLength + 5 ); + CleanupStack::PushL(casn); TPtr8 ptr = casn->Des(); if ( aCertInfo.iIssuerDNInfo.iCommonName.Length()) @@ -1347,7 +1348,7 @@ CleanupStack::PopAndDestroy( fingerPrint); } - + CleanupStack::Pop(); // casn return casn; } diff -r d2517372cc44 -r ae69c2e8bc34 remotemgmt_plat/devicemgmt_dialogs_api/inc/devicedialogconsts.h --- a/remotemgmt_plat/devicemgmt_dialogs_api/inc/devicedialogconsts.h Tue Sep 28 17:53:08 2010 +0530 +++ b/remotemgmt_plat/devicemgmt_dialogs_api/inc/devicedialogconsts.h Fri Oct 15 11:46:45 2010 +0530 @@ -95,6 +95,11 @@ EHbRSK }; +enum TErrorCodes + { + ENoError = 0, + EInvalidDeviceDialogType + }; #endif /* DEVICEDIALOGCONSTS_H_ */ diff -r d2517372cc44 -r ae69c2e8bc34 remotemgmt_plat/syncml_ds_customization_api/tsrc/SyncFwCustomizer/customlistview.cpp --- a/remotemgmt_plat/syncml_ds_customization_api/tsrc/SyncFwCustomizer/customlistview.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/remotemgmt_plat/syncml_ds_customization_api/tsrc/SyncFwCustomizer/customlistview.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -46,8 +46,8 @@ HbInputDialog *dialog = new HbInputDialog(); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setPromptText(text); - dialog->setPrimaryAction(new HbAction("Ok")); - dialog->setSecondaryAction(new HbAction("Cancel")); + dialog->addAction(new HbAction("Ok")); + dialog->addAction(new HbAction("Cancel")); dialog->setInputMode(HbInputDialog::TextInput); dialog->setValue(content); dialog->open(this, SLOT(handleEditItem(HbAction*))); @@ -207,8 +207,8 @@ HbInputDialog *dialog = new HbInputDialog(); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->setPromptText(tr("Profile ID")); - dialog->setPrimaryAction(new HbAction("Ok")); - dialog->setSecondaryAction(new HbAction("Cancel")); + dialog->addAction(new HbAction("Ok")); + dialog->addAction(new HbAction("Cancel")); dialog->setInputMode(HbInputDialog::TextInput); dialog->open(this, SLOT(startSync(HbAction*))); } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/historylog/src/NSmlHistoryArray.cpp --- a/syncmlfw/common/historylog/src/NSmlHistoryArray.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/historylog/src/NSmlHistoryArray.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -225,7 +225,9 @@ for (TInt i = 0; i < count; i++) { CSyncMLHistoryEntry* entry = CSyncMLHistoryEntry::NewL(aStream); + CleanupStack::PushL(entry); iHistory.AppendL(entry); + CleanupStack::Pop(); // entry } } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/sosserver/src/nsmlsossession.cpp --- a/syncmlfw/common/sosserver/src/nsmlsossession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/sosserver/src/nsmlsossession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -2123,7 +2123,10 @@ // Acquire mutex RMutex mutex; TInt mutexError = NSmlGrabMutex( mutex, KNSmlSOSServerMutexName() ); - + if ( !mutexError ) + { + CleanupClosePushL( mutex ); + } switch ( aProgressEventItem.iEventType ) { case ENSmlSyncError: @@ -2173,12 +2176,14 @@ default: break; }; - + if ( !mutexError ) { - mutex.Signal(); // Finished buffering - mutex.Close(); - } + // Release mutex + mutex.Signal(); // Finished buffering + CleanupStack::PopAndDestroy( &mutex ); + } + // Handle buffered progress events TRAP_IGNORE( CompleteBufferedProgressEventL() ); diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/sosserver_clientapi/src/NSmlClientAPI.cpp --- a/syncmlfw/common/sosserver_clientapi/src/NSmlClientAPI.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/sosserver_clientapi/src/NSmlClientAPI.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -111,9 +111,26 @@ if ( res != KErrNone ) { res = LaunchServerL(); - User::LeaveIfError( res ); - res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); + if ( res == KErrNone ) + { + res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); } + else if ( res == KErrAlreadyExists ) + { + TInt retryCount = 3; + + while ( res != KErrNone && retryCount ) + { + res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); + if( res != KErrNone ) + { + // wait 1.5 seconds to give the server a chance to reach its serviceable state + User::After( 1500000 ); + --retryCount; + } + } + } + } User::LeaveIfError( res ); @@ -139,10 +156,10 @@ if ( !iEventCallback ) { // callback not yet created, create - iEventCallback = new (ELeave) CSmlActiveCallback( *this ); + iEventCallback = new (ELeave) CSmlActiveCallback( *this ); } - iEventCallback->SetEventObserverL( aEventObserver ); + iEventCallback->SetEventObserverL( aEventObserver ); _DBG_FILE("RSyncMLSession::RequestEventL(): end"); } @@ -178,9 +195,10 @@ // callback not yet created, create iEventCallback = new (ELeave) CSmlActiveCallback( *this ); } - + iEventCallback->SetProgressObserverL( aProgressObserver ); - + + _DBG_FILE("RSyncMLSession::RequestProgressL(): end"); } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/sosserver_clientapi/src/NSmlContactSuiteClientAPI.cpp --- a/syncmlfw/common/sosserver_clientapi/src/NSmlContactSuiteClientAPI.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/sosserver_clientapi/src/NSmlContactSuiteClientAPI.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -43,14 +43,19 @@ if( loadedProcess.SecureId() != KSmlContactSuiteAppUID ) { return ; - } - + } if ( iContactSuiteCallBack == NULL ) { // callback not yet created, create - iContactSuiteCallBack = new (ELeave) CSmlContactSuiteActiveCallback( *this ); + iContactSuiteCallBack = new (ELeave) CSmlContactSuiteActiveCallback( *this ); } Send( ECmdContactSuiteRegisterObserversWithProfileId, TIpcArgs (aProfileId) ); - iContactSuiteCallBack->SetProgressObserverL( aProgressObserver ); + TRAPD( err, iContactSuiteCallBack->SetProgressObserverL( aProgressObserver )); + delete iContactSuiteCallBack; + iContactSuiteCallBack = NULL; + if(err != KErrNone) + { + User::Leave( err ); + } }; diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/sosserver_privateapi/src/NSmlPrivateAPI.cpp --- a/syncmlfw/common/sosserver_privateapi/src/NSmlPrivateAPI.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/sosserver_privateapi/src/NSmlPrivateAPI.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -94,10 +94,26 @@ if ( res != KErrNone ) { res = LaunchServer(); - User::LeaveIfError( res ); - res = CreateSession( KSOSServerName, version, KDefaultMessageSlots ); + if ( res == KErrNone ) + { + res = CreateSession( KSOSServerName, version, KDefaultMessageSlots ); } - + else if ( res == KErrAlreadyExists ) + { + TInt retryCount = 3; + + while ( res != KErrNone && retryCount ) + { + res = CreateSession( KSOSServerName, version, KDefaultMessageSlots ); + if( res != KErrNone ) + { + // wait 1.5 seconds to give the server a chance to reach its serviceable state + User::After( 1500000 ); + --retryCount; + } + } + } + } User::LeaveIfError( res ); _DBG_FILE("RNSmlPrivateAPI::OpenL(): end"); diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/syncagent/src/NSmlAgentBase.cpp --- a/syncmlfw/common/syncagent/src/NSmlAgentBase.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/syncagent/src/NSmlAgentBase.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -1585,8 +1585,14 @@ RSocketServ socketServer; TInt err( KErrNone ); err = socketServer.Connect(); + if ( err == KErrNone) + { + CleanupClosePushL( socketServer ); RConnection myConnection; err = myConnection.Open( socketServer ); + if ( err == KErrNone) + { + CleanupClosePushL( myConnection ); TUint connectionCount( 0 ); err = myConnection.EnumerateConnections( connectionCount ); DBG_FILE_CODE(connectionCount, _S8("CNSmlAgentBase::ReadAcessPointL(), The Connection count is:")); @@ -1621,10 +1627,12 @@ { iAllowAutoRestart = ETrue; } - } + } - myConnection.Close(); - socketServer.Close(); + CleanupStack::PopAndDestroy(); // myConnection + } + CleanupStack::PopAndDestroy(); // socketServer + } } //RD_AUTO_RESTART diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/syncagent/src/nsmlcmdsbase.cpp --- a/syncmlfw/common/syncagent/src/nsmlcmdsbase.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/syncagent/src/nsmlcmdsbase.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -1013,9 +1013,11 @@ EXPORT_C void CNSmlCmdsBase::PcdataNewL( SmlPcdata_t*& aPcdata, const TDesC8& aContent ) const { aPcdata = new( ELeave ) SmlPcdata_t; + CleanupStack::PushL( aPcdata); aPcdata->SetDataL( aContent ); aPcdata->contentType = SML_PCDATA_OPAQUE; aPcdata->extension = SML_EXT_UNDEFINED; + CleanupStack::Pop( ); } //1.2 CHANGES @@ -1027,10 +1029,12 @@ EXPORT_C void CNSmlCmdsBase::DoSourceL( sml_source_s*& aSource, const TDesC& aLocURIData ) const { aSource = new( ELeave ) sml_source_s; + CleanupStack::PushL( aSource); HBufC8* locURIDataInUTF8 = NULL; NSmlUnicodeConverter::HBufC8InUTF8LC( aLocURIData, locURIDataInUTF8 ); PcdataNewL ( aSource->locURI, *locURIDataInUTF8 ); CleanupStack::PopAndDestroy(); //locURIDataInUTF8 + CleanupStack::Pop( ); aSource->locName = NULL; } @@ -1041,7 +1045,9 @@ EXPORT_C void CNSmlCmdsBase::DoSourceL( sml_source_s*& aSource, const TDesC8& aLocURIData ) const { aSource = new( ELeave ) sml_source_s; + CleanupStack::PushL( aSource); PcdataNewL ( aSource->locURI, aLocURIData ); + CleanupStack::Pop( ); aSource->locName = NULL; } @@ -1052,6 +1058,7 @@ EXPORT_C void CNSmlCmdsBase::DoSourceL( sml_source_s*& aSource, const TDesC& aLocURIData, const TDesC& aLocNameData ) const { aSource = new( ELeave ) sml_source_s; + CleanupStack::PushL( aSource); HBufC8* locURIDataInUTF8 = NULL; NSmlUnicodeConverter::HBufC8InUTF8LC( aLocURIData, locURIDataInUTF8 ); PcdataNewL ( aSource->locURI, *locURIDataInUTF8 ); @@ -1060,6 +1067,7 @@ NSmlUnicodeConverter::HBufC8InUTF8LC( aLocNameData, locNameDataInUTF8 ); PcdataNewL ( aSource->locName, *locNameDataInUTF8 ); CleanupStack::PopAndDestroy(); //locNameDataInUTF8 + CleanupStack::Pop( ); } // --------------------------------------------------------- @@ -1069,10 +1077,12 @@ EXPORT_C void CNSmlCmdsBase::DoTargetL( sml_target_s*& aTarget, const TDesC& aLocURIData ) const { aTarget = new( ELeave ) sml_target_s; + CleanupStack::PushL( aTarget); HBufC8* locURIDataInUTF8 = NULL; NSmlUnicodeConverter::HBufC8InUTF8LC( aLocURIData, locURIDataInUTF8 ); PcdataNewL ( aTarget->locURI, *locURIDataInUTF8 ); CleanupStack::PopAndDestroy(); //locURIDataInUTF8 + CleanupStack::Pop( ); aTarget->locName = NULL; } @@ -1083,8 +1093,10 @@ EXPORT_C void CNSmlCmdsBase::DoTargetL( sml_target_s*& aTarget, const TDesC8& aLocURIData ) const { aTarget = new( ELeave ) sml_target_s; + CleanupStack::PushL( aTarget); PcdataNewL ( aTarget->locURI, aLocURIData ); aTarget->locName = NULL; + CleanupStack::Pop( ); } // --------------------------------------------------------- @@ -1094,6 +1106,7 @@ EXPORT_C void CNSmlCmdsBase::DoTargetL( sml_target_s*& aTarget, const TDesC& aLocURIData, const TDesC& aLocNameData ) const { aTarget = new( ELeave ) sml_target_s; + CleanupStack::PushL( aTarget); HBufC8* locURIDataInUTF8 = NULL; NSmlUnicodeConverter::HBufC8InUTF8LC( aLocURIData, locURIDataInUTF8 ); PcdataNewL ( aTarget->locURI, *locURIDataInUTF8 ); @@ -1102,6 +1115,7 @@ NSmlUnicodeConverter::HBufC8InUTF8LC( aLocNameData, locNameDataInUTF8 ); PcdataNewL ( aTarget->locName, *locNameDataInUTF8 ); CleanupStack::PopAndDestroy(); //locNameDataInUTF8 + CleanupStack::Pop( ); } //end changes diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/common/syncagent/src/nsmlstatuscontainer.cpp --- a/syncmlfw/common/syncagent/src/nsmlstatuscontainer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/common/syncagent/src/nsmlstatuscontainer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -491,9 +491,11 @@ void CNSmlStatusContainer::CreatePcdataL( SmlPcdata_t*& aPcdata, const TDesC8& aContent ) const { aPcdata = new( ELeave ) SmlPcdata_t; + CleanupStack::PushL( aPcdata); aPcdata->SetDataL( aContent ); aPcdata->contentType = SML_PCDATA_OPAQUE; aPcdata->extension = SML_EXT_UNDEFINED; + CleanupStack::Pop( ); } // --------------------------------------------------------- // CNSmlStatusContainer::CopyPcdataL() @@ -552,11 +554,13 @@ { SmlMetInfMetInf_t* fromMetInf = (SmlMetInfMetInf_t*) aFromMetInf; SmlMetInfMetInf_t* toMetInf = new( ELeave ) SmlMetInfMetInf_t; + CleanupStack::PushL( toMetInf ); if ( fromMetInf->anchor ) { toMetInf->anchor = new( ELeave ) SmlMetInfAnchor_t; CopyPcdataL( fromMetInf->anchor->next, toMetInf->anchor->next ); } + CleanupStack::Pop(); //toMetInf aToMetInf = toMetInf; } } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/dm/dmnetworkmon/src/DMNetworkMon.cpp --- a/syncmlfw/dm/dmnetworkmon/src/DMNetworkMon.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/dm/dmnetworkmon/src/DMNetworkMon.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -113,7 +113,13 @@ iConnectionMonitor.Close(); } - + + if ( iGlobalTimer ) + { + iGlobalTimer->Cancel(); + delete iGlobalTimer; + iGlobalTimer = NULL; + } // Cleanup sync session CloseSyncSession(); diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/dm/dmutils/src/nsmldmtreedtd.cpp --- a/syncmlfw/dm/dmutils/src/nsmldmtreedtd.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/dm/dmutils/src/nsmldmtreedtd.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -470,11 +470,13 @@ if (tag == EDDFNode ) { newNode = new (ELeave) CNSmlDmNode(); - newNode->iParent= aParent; + CleanupStack::PushL(newNode); + newNode->iParent= aParent; aNodeListPtr->iNode = newNode; lastInList=aNodeListPtr; ParseNodeWBXMLL( aReader, newNode ); + CleanupStack::Pop(newNode); newNode = NULL; } else @@ -496,6 +498,7 @@ lastInList=lastInList->iNext; newNode = new (ELeave) CNSmlDmNode(); + CleanupStack::PushL(newNode); newNode->iParent= aParent; lastInList->iNode = newNode; @@ -503,6 +506,7 @@ // read next tag tag = aReader.ReadUint8L(); + CleanupStack::Pop(newNode); } return tag; } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/dm/syncagent/src/nsmldmagent.cpp --- a/syncmlfw/dm/syncagent/src/nsmldmagent.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/dm/syncagent/src/nsmldmagent.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -85,6 +85,7 @@ // FOTA iGenAlerts.ResetAndDestroy(); iGenAlerts.Close(); + // FOTA end if(FeatureManager::FeatureSupported(KFeatureIdSapPolicyManagement)) { @@ -140,7 +141,9 @@ TInt aFinalResult, const TDesC8& aFwCorrelator ) { CNSmlDMGenericAlert* genAlert = CNSmlDMGenericAlert::NewL ( aFwMgmtUri, aMetaType, aMetaFormat, aFinalResult, aFwCorrelator ); + CleanupStack::PushL(genAlert); iGenAlerts.AppendL ( genAlert ); + CleanupStack::Pop(genAlert); } // FOTA end @@ -160,7 +163,9 @@ void CNSmlDMAgent::SetGenericAlertL ( const TDesC8& aCorrelator, const RArray& aItemList ) { CNSmlDMGenericAlert* genAlert = CNSmlDMGenericAlert::NewL ( aCorrelator, aItemList ); - iGenAlerts.AppendL ( genAlert ); + CleanupStack::PushL(genAlert); + iGenAlerts.AppendL ( genAlert ); + CleanupStack::Pop(genAlert); } // diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/dm/treedbclient/src/nsmldmtreedbclient.cpp --- a/syncmlfw/dm/treedbclient/src/nsmldmtreedbclient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/dm/treedbclient/src/nsmldmtreedbclient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -111,13 +111,29 @@ result = CreateSession( KNSmlDmCallbackServerName, ver ); if(result!=KErrNone) - { + { TRAPD(error, result = LaunchServerL()); if ( (error == KErrNone) && ( result == KErrNone ) ) { result = CreateSession( KNSmlDmCallbackServerName, ver ); } + else if ( result == KErrAlreadyExists ) + { + TInt retryCount = 3; + + while ( result != KErrNone && retryCount ) + { + result = CreateSession( KNSmlDmCallbackServerName, ver ); + if( result != KErrNone ) + { + // wait 1.5 seconds to give the server a chance to reach its serviceable state + User::After( 1500000 ); + --retryCount; + } + } } + } + User::LeaveIfError( result ); return result; } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/dm/treemodule/src/nsmldmhostclient.cpp --- a/syncmlfw/dm/treemodule/src/nsmldmhostclient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/dm/treemodule/src/nsmldmhostclient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -105,8 +105,24 @@ { result = CreateSession( aServerName, ver ); } - } + else if ( result == KErrAlreadyExists ) + { + TInt retryCount = 3; + + while ( result != KErrNone && retryCount ) + { + result = CreateSession( aServerName, ver ); + if( result != KErrNone ) + { + // wait 1.5 seconds to give the server a chance to reach its serviceable state + User::After( 1500000 ); + --retryCount; + } + } + } + } + User::LeaveIfError( result ); return result; } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/dsutils/ProfileUtil/src/NsmlProfileUtil.cpp --- a/syncmlfw/ds/dsutils/ProfileUtil/src/NsmlProfileUtil.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/dsutils/ProfileUtil/src/NsmlProfileUtil.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -157,9 +157,11 @@ DBG_FILE(_S8("CNsmlProfileUtil::InternalizeFromSettingsDBL, BEGIN")); // Read the profile details from settings database - CNSmlDSSettings* dsSettings = CNSmlDSSettings::NewL(); + CNSmlDSSettings* dsSettings = CNSmlDSSettings::NewL(); + CleanupStack::PushL(dsSettings); CNSmlDSProfile* profile = dsSettings->ProfileL( aProfileId ); - + CleanupStack::PushL(profile); + iProfileId = aProfileId; iDisplayName = profile->StrValue( EDSProfileDisplayName ).AllocL(); iProtocolVer = static_cast( profile->IntValue( EDSProfileProtocolVersion ) ); @@ -178,7 +180,7 @@ for ( int i = 0; i < profile->iContentTypes->Count(); i++ ) { CNsmlContentData* contentData = CNsmlContentData::NewL(); - + CleanupStack::PushL(contentData); // From settings DB CNSmlDSContentType* contentType = static_cast(profile->iContentTypes->At(i)); @@ -190,12 +192,13 @@ //SyncType is same for all the contents from UI iSyncType=static_cast(contentType->IntValue(EDSAdapterSyncType)); // Add to this object - iContents.AppendL(contentData); + iContents.AppendL(contentData); + CleanupStack::Pop(contentData); } // Cleanup - delete profile; - delete dsSettings; + CleanupStack::PopAndDestroy(profile); + CleanupStack::PopAndDestroy(dsSettings); DBG_FILE(_S8("CNsmlProfileUtil::InternalizeFromSettingsDBL, END")); } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/dsutils/filterutils/src/nsmlfilter.cpp --- a/syncmlfw/ds/dsutils/filterutils/src/nsmlfilter.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/dsutils/filterutils/src/nsmlfilter.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -239,10 +239,12 @@ void CNSmlFilter::PcdataNewL( SmlPcdata_t*& aPcdata, const TDesC8& aContent ) const { - aPcdata = new( ELeave ) SmlPcdata_t; + aPcdata = new( ELeave ) SmlPcdata_t; + CleanupStack::PushL(aPcdata); aPcdata->SetDataL( aContent ); aPcdata->contentType = SML_PCDATA_OPAQUE; aPcdata->extension = SML_EXT_UNDEFINED; + CleanupStack::Pop(aPcdata); } // ------------------------------------------------------------------------------------------------ diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/hostserver/dshostclient/src/nsmldshostclientsession.cpp --- a/syncmlfw/ds/hostserver/dshostclient/src/nsmldshostclientsession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/hostserver/dshostclient/src/nsmldshostclientsession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -53,13 +53,28 @@ iMode = ENSmlNormalMode; TInt result( CreateSession( aServerName, aVersion ) ); - if ( result == KErrNotFound || result == KErrServerTerminated ) + if ( result != KErrNone ) { result = LaunchServer( aServerName ); - if ( result == KErrNone || result == KErrAlreadyExists ) + if ( result == KErrNone ) { result = CreateSession( aServerName, aVersion ); } + else if ( result == KErrAlreadyExists ) + { + TInt retryCount = 3; + + while ( result != KErrNone && retryCount ) + { + result = CreateSession( aServerName, aVersion ); + if( result != KErrNone ) + { + // wait 1.5 seconds to give the server a chance to reach its serviceable state + User::After( 1500000 ); + --retryCount; + } + } + } } return result; } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/hostserver/dshostserverbase/bld/nsmldshostserver.mmp --- a/syncmlfw/ds/hostserver/dshostserverbase/bld/nsmldshostserver.mmp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/hostserver/dshostserverbase/bld/nsmldshostserver.mmp Fri Oct 15 11:46:45 2010 +0530 @@ -57,8 +57,3 @@ LIBRARY euser.lib ecom.lib efsrv.lib edbms.lib estor.lib bafl.lib smlstoreformat.lib LIBRARY nsmldebug.lib smldataprovider.lib nsmldshostclient.lib NSmlAdapterLog.lib LIBRARY nsmlchangefinder.lib syncmldatafilter.lib - -#ifdef ARMCC -LIBRARY ecom.lib -#endif - diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/netmon/src/CNetMon.cpp --- a/syncmlfw/ds/netmon/src/CNetMon.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/netmon/src/CNetMon.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -105,7 +105,12 @@ CNetMon::~CNetMon() { DBG_FILE(_S8("CNetMon::~CNetMon() begins")); - + if ( iGlobalTimer ) + { + iGlobalTimer->Cancel(); + delete iGlobalTimer; + iGlobalTimer = NULL; + } DBG_FILE(_S8("CNetMon::~CNetMon() ends")); } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/settings/src/NSmlDSSettings.cpp --- a/syncmlfw/ds/settings/src/NSmlDSSettings.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/settings/src/NSmlDSSettings.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -246,6 +246,7 @@ return; } + CleanupClosePushL(wSession); RXMLReader DSProfileParser; DSProfileParser.CreateL(); CArrayPtrFlat* customProfileArray = new (ELeave) CArrayPtrFlat (5); @@ -348,6 +349,7 @@ customProfileArray->ResetAndDestroy(); CleanupStack::PopAndDestroy(); //customProfileArray + CleanupStack::PopAndDestroy(&wSession); // wSession } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/settings/src/NSmlProfileContentHandler.cpp --- a/syncmlfw/ds/settings/src/NSmlProfileContentHandler.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/settings/src/NSmlProfileContentHandler.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -113,9 +113,9 @@ { iDSContentInProgress = TRUE; CNSmlDSContentSettingType* content = CNSmlDSContentSettingType::NewL(); + CleanupStack::PushL(content); iContentArray->AppendL(content); - - + CleanupStack::Pop(content); // content } if (iDSSettingInProgress) { diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/syncagent/src/nsmldsbatchbuffer.cpp --- a/syncmlfw/ds/syncagent/src/nsmldsbatchbuffer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/syncagent/src/nsmldsbatchbuffer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -71,7 +71,7 @@ void CNSmlDSBatchBuffer::CreateNewItemL( const TDesC8& aCommand ) { CNSmlDSBatchItem* newItem = new ( ELeave ) CNSmlDSBatchItem; - + CleanupStack::PushL(newItem); newItem->iStatus = 0; newItem->iNumberOfResults = 0; newItem->iCommand = aCommand; @@ -80,6 +80,7 @@ newItem->iStatusEntryId = 0; iBuffer.AppendL( newItem ); + CleanupStack::Pop(newItem); } // ----------------------------------------------------------------------------- diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/syncagent/src/nsmldscontent.cpp --- a/syncmlfw/ds/syncagent/src/nsmldscontent.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/syncagent/src/nsmldscontent.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -2410,9 +2410,9 @@ { TInt result( KErrNone ); CDesCArrayFlat* storeNames = new ( ELeave ) CDesCArrayFlat( 1 ); - + CleanupStack::PushL(storeNames); iHostClient->ListStoresL( storeNames, iStores[iIndex]->iImplementationUID, result ); - + CleanupStack::Pop(storeNames); return storeNames; } @@ -2476,11 +2476,16 @@ DBG_FILE(_S8("CNSmlDSContent::PackupRequestL begins")); RMutex mutex; if(mutex.OpenGlobal( KNSmlDSContentAtomicOperationName ) != KErrNone ) - mutex.CreateGlobal( KNSmlDSContentAtomicOperationName ); + { + TInt createErr (mutex.CreateGlobal( KNSmlDSContentAtomicOperationName )); + if (( createErr != KErrNone )&& (createErr != KErrAlreadyExists)) + return; + } + CleanupClosePushL(mutex); mutex.Wait(); SaveMapInfoL( aAnchor ); mutex.Signal(); - mutex.Close(); + CleanupStack::PopAndDestroy(&mutex); // mutex DBG_FILE(_S8("CNSmlDSContent::PackupRequestL ends")); } diff -r d2517372cc44 -r ae69c2e8bc34 syncmlfw/ds/syncagent/src/nsmldsmapcontainer.cpp --- a/syncmlfw/ds/syncagent/src/nsmldsmapcontainer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/syncmlfw/ds/syncagent/src/nsmldsmapcontainer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -207,9 +207,11 @@ void CNSmlDSMapContainer::PcdataNewL( SmlPcdata_t*& aPcdata, const TDesC8& aContent ) const { aPcdata = new( ELeave ) SmlPcdata_t; + CleanupStack::PushL(aPcdata); aPcdata->SetDataL( aContent ); aPcdata->contentType = SML_PCDATA_OPAQUE; - aPcdata->extension = SML_EXT_UNDEFINED; + aPcdata->extension = SML_EXT_UNDEFINED; + CleanupStack::Pop(aPcdata); } // ----------------------------------------------------------------------------- diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/data/SCPNotifier.rss --- a/terminalsecurity/SCP/SCPClient/data/SCPNotifier.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -/* -* Copyright (c) 2000 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: Implementation of terminalsecurity components -* -*/ - - -// RESOURCE IDENTIFIER -NAME SCPN - -// INCLUDES -#include -#include -#include - -#include - -#include "SCPNotifier.hrh" -#include - -#include -#include -#include -#include - -RESOURCE RSS_SIGNATURE { } - -//RESOURCE TBUF16 { buf=""; } -RESOURCE TBUF { buf= ""; } - -RESOURCE EIK_APP_INFO - { - } - -// RESOURCE DEFINITIONS - -#define ESCPQueryFlags (EGeneralQueryFlags | EEikDialogFlagNotifyEsc) - -// --------------------------------------------------------- -// -// r_scp_code_query -// Used to request the enhanced security code from the user -// -// --------------------------------------------------------- -// -RESOURCE DIALOG r_scp_code_query - { - flags = ESCPQueryFlags | EEikDialogFlagVirtualInput; - buttons = R_AVKON_SOFTKEYS_OK_CANCEL; - items= - { - DLG_LINE - { - type = EAknCtQuery; - id = EGeneralQuery; - control = AVKON_DATA_QUERY - { - layout = ECodeLayout; - control = SECRETED - { - }; - }; - } - }; - } - -RESOURCE TBUF r_scpdialog_ok_text - { - buf = text_softkey_ok; - } - -RESOURCE DIALOG r_scpdialog_emergencycalls_only - { - flags=ESCPQueryFlags; - buttons=R_AVKON_SOFTKEYS_EMPTY; - items= - { - DLG_LINE - { - type=EAknCtNote; - id=EGeneralNote; - control= AVKON_NOTE - { - layout = EGeneralLayout; - singular_label = qtn_emerg_emergency_only; - animation = R_QGN_NOTE_ERROR_ANIM; - }; - } - }; - } - -RESOURCE TBUF r_set_sec_code - { - buf = qtn_set_sec_code_setting_query; - } - -RESOURCE TBUF r_set_sec_code_setting_query_server - { - buf = qtn_set_sec_code_setting_query_server; - } -// end of file - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/group/SCPClient.mmp --- a/terminalsecurity/SCP/SCPClient/group/SCPClient.mmp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPClient/group/SCPClient.mmp Fri Oct 15 11:46:45 2010 +0530 @@ -41,11 +41,6 @@ MW_LAYER_SYSTEMINCLUDE -START RESOURCE ../data/SCPNotifier.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END LIBRARY euser.lib LIBRARY cone.lib diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/group/bld.inf --- a/terminalsecurity/SCP/SCPClient/group/bld.inf Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPClient/group/bld.inf Fri Oct 15 11:46:45 2010 +0530 @@ -24,8 +24,6 @@ PRJ_EXPORTS ../rom/SCPClient.iby CORE_MW_LAYER_IBY_EXPORT_PATH(scpclient.iby) -../rom/SCPClientResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(scpclientresources.iby) -../loc/SCPNotifier.loc MW_LAYER_LOC_EXPORT_PATH(scpnotifier.loc) PRJ_MMPFILES SCPClient.mmp diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/inc/SCPNotifier.hrh --- a/terminalsecurity/SCP/SCPClient/inc/SCPNotifier.hrh Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* -* Copyright (c) 2002 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: Implementation of terminalsecurity components -* -* -* -*/ - - - -#ifndef SCPNOTIFIER_HRH -#define SCPNOTIFIER_HRH - - -#endif // SCPNOTIFIER_HRH diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/inc/SCPQueryDialog.h --- a/terminalsecurity/SCP/SCPClient/inc/SCPQueryDialog.h Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +0,0 @@ -/* -* Copyright (c) 2005 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: Implementation of terminalsecurity components -* -*/ - - - -#ifndef SCPQUERYDIALOG_H -#define SCPQUERYDIALOG_H - -#include -#include -#include -#include "SCPClient.h" -#include "SCPLockObserver.h" -// LOCAL CONSTANTS -const TInt KSCPModeNormal = 0; -const TInt KSCPModeRestricted = 1; - -/** -* Definition for the dialog class -*/ -class CSCPQueryDialog : public CAknTextQueryDialog, public MAknEcsObserver - { - public: // Construction and destruction - - /** - * C++ Constructor. - * @param aDataText TDes& (code which is entered in query) - * @param aMinLength TInt (code min length) - * @param aMaxLength TInt (code max length) - * @param aMode TInt (mode ESecUiCodeEtelReqest\ESecUiNone) - */ - CSCPQueryDialog( TDes& aDataText, - RSCPClient::TSCPButtonConfig aButtonsShown, - TInt aMinLength, - TInt aMaxLength, - TBool aECSSupport - ); - /** - * Destructor. - */ - ~CSCPQueryDialog(); - public: - /** - * Allows dismissing of code queries. Only mandatory requirement is that PIN - * queries are dismissed by the # - * - * @param aKeyEvent TKeyEvent& - * @return ETrue query is dismissed - * EFalse not dismissed - */ - TBool NeedToDismissQueryL(const TKeyEvent& aKeyEvent); - void TryCancelQueryL(TInt aReason); - protected://from CAknTextQueryDialog - /** - * From CAknTextQueryDialog This function is called by the UIKON dialog framework - * just before the dialog is activated, after it has called - * PreLayoutDynInitL() and the dialog has been sized. - */ - void PreLayoutDynInitL(); - /** - * From CAknTextQueryDialog This function is called by the UIKON framework - * if the user activates a button in the button panel. - * It is not called if the Cancel button is activated, - * unless the EEikDialogFlagNotifyEsc flag is set. - * @param aButtonId The ID of the button that was activated - * @return Should return ETrue if the dialog should exit, and EFalse if it should not. - */ - TBool OkToExitL(TInt aButtonId); - - /** - * From CAknTextQueryDialog This function is called by the UIKON dialog framework - * just after a key is pressed - * @param aKeyEvent TKeyEvent& - * @param aType TEventCode - */ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); - - void HandleEcsEvent(CAknEcsDetector* aDetector, CAknEcsDetector::TState aUpdatedState); - void ShowWarningNoteL(); - - private: - - /* - * SetIncallBubbleAllowedInUsualL - */ - void SetIncallBubbleAllowedInUsualL(TBool aAllowed); - - - private: // DATA - TInt iMinLength; - TInt iMaxLength; - TInt iMode; - TBool iFront; - TInt iAppKey; - TInt iVoiceKey1; - TInt iVoiceKey2; - TInt iValidTextLen; - RSCPClient::TSCPButtonConfig iButtons; - TBool iECSSupport; - CAknEcsDetector* iEcsDetector; // owned - TBool iEMCallActivated; - TBool iShowingEMNumber; - TBool iPreviousCharacterWasInvalid; - TBuf iTextBuffer; - TBuf iTmpBuffer; - TBool iPrioritySet; - TBool iPriorityDropped; - TBool isCallSoftkeyAdded; - /** An integer variable to define the input mode of the lock code query */ - TInt def_mode; - TInt iKeyUsed; - CSCPLockObserver* iDeviceLockStatusObserver; - CSCPLockObserver* iCallStatusObserver; - }; -#endif - -// End of file diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/loc/SCPNotifier.loc --- a/terminalsecurity/SCP/SCPClient/loc/SCPNotifier.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2005 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: Implementation of terminalsecurity components -* -*/ - - -// LOCALISATION STRINGS: - -//b: -//e: -//f: -//d: The text for an error note shown when the user has entered special characters in -//d: the security code. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_scp_code_must_be_alphanumeric "The security code must be alphanumeric" - -//d:Note Energency calls only. -//d:Shown when user presses send key in a touch dialog with emergenncy call support. -//l:popup_note_window -//w: -//r:3.2.3, 5.0 -#define qtn_emerg_emergency_only "Emergency calls only" -//d: The text for asking the user to enter the lock code for the first time. -//l: popup_info_list_pane_t1 -//r: 5.2 -#define qtn_set_sec_code_setting_query "Lock Code has not been set. Set now?" -//d: The text for asking the user to enter the lock code during phone startup. -//l: popup_info_list_pane_t2/opt1 -//r: 5.2 -#define qtn_set_sec_code_setting_query_server "Lock Code has not been set. Please set the Lock Code." - -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/rom/SCPClientResources.iby --- a/terminalsecurity/SCP/SCPClient/rom/SCPClientResources.iby Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2000 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: Implementation of terminalsecurity components -* -*/ - -#ifndef _SCPCLIENTRESOURCES_IBY_ -#define _SCPCLIENTRESOURCES_IBY_ - -//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS - -data=DATAZ_\RESOURCE_FILES_DIR\SCPNotifier.rsc RESOURCE_FILES_DIR\SCPNotifier.rsc - -// Include the plugins' resources -// Pattern- -data=DATAZ_\RESOURCE_FILES_DIR\SCPPatternPluginLang.rsc RESOURCE_FILES_DIR\SCPPatternPluginLang.rsc -// History/Specific words- -data=DATAZ_\RESOURCE_FILES_DIR\SCPHistoryPluginLang.rsc RESOURCE_FILES_DIR\SCPHistoryPluginLang.rsc -// Timestamp- -data=DATAZ_\RESOURCE_FILES_DIR\SCPTimestampPluginLang.rsc RESOURCE_FILES_DIR\SCPTimestampPluginLang.rsc - -//#endif // __SAP_DEVICE_LOCK_ENHANCEMENTS - -#endif // _SCPCLIENTRESOURCES_IBY_ diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/src/SCPClient.cpp --- a/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -21,15 +21,10 @@ #include #include #include -#include -#include -#include -#include #include "SCPClient.h" #include "SCPParamObject.h" -#include #include "SCP_IDs.h" #include @@ -38,8 +33,6 @@ #include #include #include -#include -#include //#endif // DEVICE_LOCK_ENHANCEMENTS #include @@ -63,12 +56,6 @@ static const TInt KSCPConnectRetries( 2 ); -//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS -_LIT( KDriveZ, "Z:" ); -_LIT( KSCPResourceFilename, "\\Resource\\SCPNotifier.RSC" ); -_LIT( KSCPSecUIResourceFilename, "\\Resource\\SecUi.RSC" ); -//#endif // __SAP_DEVICE_LOCK_ENHANCEMENTS - // Uid for the application; this should match the mmp file const TUid KServerUid3 = {0x10207836}; @@ -167,64 +154,6 @@ return result; } -//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS - - -// --------------------------------------------------------- -// LoadResources() Resource loader -// Load the resources for the library -// Returns: TInt: A generic error code. -// -// Status : Approved -// --------------------------------------------------------- -// -TInt LoadResources( TInt& aRes1, TInt& aRes2 ) - { - - TRAPD ( err, FeatureManager::InitializeLibL() ); - if ( err == KErrNone ) - { - if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements)) - { - FeatureManager::UnInitializeLib(); - return KErrNotSupported; - } - FeatureManager::UnInitializeLib(); - // Load the resource files for this DLL - TInt err = KErrNone; - TInt err2 = KErrNone; - - // Localize the file name, and load the SCP resources - TFileName resFile; - resFile.Copy( KDriveZ ); - resFile.Append( KSCPResourceFilename ); - BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), resFile ); - TRAP( err, aRes1 = CCoeEnv::Static()->AddResourceFileL( resFile ) ); - - if ( err == KErrNone ) - { - // Localize the file name, and load the SecUi resources - resFile.Copy( KDriveZ ); - resFile.Append( KSCPSecUIResourceFilename ); - BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), resFile ); - TRAP( err2, aRes2 = CCoeEnv::Static()->AddResourceFileL( resFile ) ); - } - - if ( ( err != KErrNone ) || ( err2 != KErrNone ) ) - { - if ( err == KErrNone ) - { - // First resource was loaded OK, remove it - CCoeEnv::Static()->DeleteResourceFile( aRes1 ); - err = err2; - } - } - } - return err; - } - -//#endif // __SAP_DEVICE_LOCK_ENHANCEMENTS - // ================= MEMBER FUNCTIONS ======================= // C++ default constructor can NOT contain any code, that diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPClient/src/SCPQueryDialog.cpp --- a/terminalsecurity/SCP/SCPClient/src/SCPQueryDialog.cpp Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,807 +0,0 @@ -/* -* Copyright (c) 2000 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: Implementation of terminalsecurity components -* -*/ - -#include -#include "SCPQueryDialog.h" -#include -#include -#include -#include -#include -#include -// Include the SecUi definitions -#include -#include "SCPDebug.h" -#include -// For Central Repository -#include -#include -#include -#include -#include "SCPCodePrivateCRKeys.h" -/*#ifdef _DEBUG -#define __SCP_DEBUG -#endif // _DEBUG - -// Define this so the precompiler in CW 3.1 won't complain about token pasting, -// the warnings are not valid -#pragma warn_illtokenpasting off - -#ifdef __SCP_DEBUG -#define Dprint(a) RDebug::Print##a -#else -#define Dprint(a) -#endif // _DEBUG*/ - -const TInt KSCPSpecialDeleteEvent( 63529 ); - -// ================= MEMBER FUNCTIONS ======================= -// -// ---------------------------------------------------------- -// CSCPQueryDialog::CSCPQueryDialog() -// C++ constructor -// ---------------------------------------------------------- -// -CSCPQueryDialog::CSCPQueryDialog( TDes& aDataText, - RSCPClient::TSCPButtonConfig aButtonsShown, - TInt aMinLength, - TInt aMaxLength, - TBool aECSSupport - ) - : CAknTextQueryDialog(aDataText, ENoTone), - iMinLength(aMinLength), - iMaxLength(aMaxLength), - iValidTextLen( 0 ), - iButtons( aButtonsShown ), - iECSSupport( aECSSupport ), - iEcsDetector( NULL ), - iEMCallActivated( EFalse ), - iShowingEMNumber( EFalse ), - iPreviousCharacterWasInvalid( EFalse ), - iPrioritySet( EFalse ), - iPriorityDropped( EFalse ), - iKeyUsed ( NULL ) - { - def_mode = 0; - iAppKey = 0; - iMode = KSCPModeNormal; - } - -// -// ---------------------------------------------------------- -// CSCPQueryDialog::~CSCPQueryDialog() -// Destructor -// ---------------------------------------------------------- -// -CSCPQueryDialog::~CSCPQueryDialog() - { - Dprint( (_L("CSCPQueryDialog::~CSCPQueryDialog()")) ); - - if ( AknLayoutUtils::PenEnabled() ) - { - TRAP_IGNORE ( SetIncallBubbleAllowedInUsualL( ETrue ) ); - } - - - if (iFront) - { - // Uncapture keys, if they were captured - if ( iMode == KSCPModeRestricted ) - { - RWindowGroup& groupWin=iCoeEnv->RootWin(); - groupWin.CancelCaptureKeyUpAndDowns(iAppKey); - groupWin.CancelCaptureKeyUpAndDowns(iVoiceKey2); - groupWin.CancelCaptureKey(iVoiceKey1); - } - - if ( iPrioritySet ) - { - // Return normal high-priority in case there are other notifiers active - // and were are not going to lose foregroung right after following call - iEikonEnv->RootWin().SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); - } - - iEikonEnv->BringForwards(EFalse); - iEikonEnv->EikAppUi()->RemoveFromStack(this); - - - static_cast(iEikonEnv->EikAppUi())->KeySounds()->ReleaseContext(); - static_cast(iEikonEnv->EikAppUi())->KeySounds()->PopContext(); - - - if ( iECSSupport ) - { - delete iEcsDetector; - } - - iFront = EFalse; - } - - if (iDeviceLockStatusObserver) - delete iDeviceLockStatusObserver; - if (iCallStatusObserver) - delete iCallStatusObserver; - } -// -// ---------------------------------------------------------- -// CSCPQueryDialog::PreLayoutDynInitL() -// Called by framework before dialog is shown -// ---------------------------------------------------------- -// -void CSCPQueryDialog::PreLayoutDynInitL() - { - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL()") )); - - /* CEikSecretEditor* queryControl = - static_cast( - QueryControl()->ControlByLayoutOrNull( QueryControl()->QueryType() ) - ); - queryControl->EnableSCT(EFalse); */ - - CAknTextQueryDialog::PreLayoutDynInitL(); - - //disable in call bubble. - if ( AknLayoutUtils::PenEnabled() ) - { - SetIncallBubbleAllowedInUsualL( EFalse ); - } - - - // Create the ECS detector object if required - if ( iECSSupport ) - { - Dprint( (_L(" Creating ECS detector") )); - iEcsDetector = CAknEcsDetector::NewL(); - iEcsDetector->SetObserver( this ); - } - - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): Set input mode") )); - - /* The default input mode of the lock code query must be set on the basis of the - very first character of the current lock code. If the first character of the current - lock code is numeric, the default input mode will also be numeric. Otherwise, the - default input mode will be alphabetic */ - - CRepository* repository; - repository = CRepository::NewL( KCRUidSCPParameters ); - CleanupStack::PushL( repository ); - - User::LeaveIfError(repository->Get( KSCPLockCodeDefaultInputMode , def_mode) ); - - CleanupStack::PopAndDestroy( repository ); - repository = NULL; - - if (def_mode == 0) - SetDefaultInputMode( EAknEditorNumericInputMode ); - else - SetDefaultInputMode( EAknEditorSecretAlphaInputMode ); - - // Set the mode, we use this to determine the functionality for special keys - if ( ( iButtons == RSCPClient::SCP_OK ) || ( iButtons == RSCPClient::SCP_OK_CANCEL ) ) - { - // Normal mode - iMode = KSCPModeNormal; - } - else - { - // Restricted mode, used for example for Etel-originated queries - iMode = KSCPModeRestricted; - } - - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): Set button config") )); - // Set the softkey-configuration - switch ( iButtons ) - { - case ( RSCPClient::SCP_OK ): - // Flow through - case ( RSCPClient::SCP_OK_ETEL ): - { - // Hide the Cancel-softkey - ButtonGroupContainer().MakeCommandVisible( EAknSoftkeyCancel, EFalse ); - break; - } - - default: - // Show both softkeys - break; - } - - QueryControl()->SetTextEntryLength( iMaxLength ); - - // Add this higher than the environment filter, otherwise - // we cannot capture keys from the EikSrvUi KeyFilter. - // Used because this query might be called from notifier - - if ( iMode == KSCPModeNormal ) - { - iEikonEnv->EikAppUi()->AddToStackL(this, - ECoeStackPriorityEnvironmentFilter+100, - ECoeStackFlagRefusesAllKeys); - } - else - { - iEikonEnv->EikAppUi()->AddToStackL(this, - ECoeStackPriorityEnvironmentFilter+100, - ECoeStackFlagRefusesFocus); - } - - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): Capture keys") )); - // Capture app, voice and end keys if necessary - if ( iMode == KSCPModeRestricted ) - { - RWindowGroup& groupWin=iCoeEnv->RootWin(); - // Capture app key - iAppKey = groupWin.CaptureKeyUpAndDowns(EStdKeyApplication0, 0, 0); - // capture voice key - iVoiceKey1 = groupWin.CaptureKey(EKeySide,0,0); - iVoiceKey2 = groupWin.CaptureKeyUpAndDowns(EStdKeyDevice6, 0, 0); - } - - RWsSession& wsSession = iEikonEnv->WsSession(); - TInt myWgId = iEikonEnv->RootWin().Identifier(); - - TInt wgPrio = wsSession.GetWindowGroupOrdinalPriority(myWgId); - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): wgPrio %d"),wgPrio )); - TInt var; - RProperty::Get(KPSUidCtsyCallInformation, KCTsyCallState,var); - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): EPSCTsyCallStateNone %d"),var )); - // we are already on forgeround, need to update priority differently - if (var != EPSCTsyCallStateNone) - { - // If the call is made during device startup have the priority as normal - if (iECSSupport && (iButtons == RSCPClient::SCP_OK)) - { - iEikonEnv->RootWin().SetOrdinalPosition(1,ECoeWinPriorityNormal); - } - - } - else if ((wgPrio == ECoeWinPriorityAlwaysAtFront)&&(iECSSupport)) - { - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): ECoeWinPriorityAlwaysAtFront+1") )); - iEikonEnv->RootWin().SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront+1); - iPrioritySet = ETrue; - } - - // this must be done always to keep the reference count in synch - // this does not have any effect if autoforwarding has not been set true (normal application.) - iEikonEnv->BringForwards(ETrue, ECoeWinPriorityAlwaysAtFront+1); - - /// -- Change Window Priority for dialog and CBA - if (iECSSupport) - { - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): Changing Window Priority") )); - DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); - ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront); - } - else - { - DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityNormal); // - ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityNormal); - } - - Dprint( (_L("CSCPQueryDialog::PreLayoutDynInitL(): Key sounds") )); - // Key sounds - - static_cast(iEikonEnv->EikAppUi())->KeySounds()-> - PushContextL(R_AVKON_DEFAULT_SKEY_LIST); - - static_cast(iEikonEnv->EikAppUi())->KeySounds()->BringToForeground(); - static_cast(iEikonEnv->EikAppUi())->KeySounds()->LockContext(); - - iFront = ETrue; - - Dprint( (_L("CSCPQueryDialog::CSCPLockObserver") )); - iDeviceLockStatusObserver = CSCPLockObserver::NewL(this); - iCallStatusObserver = CSCPLockObserver::NewL(this,ESecUiCallStateObserver); - - } -// -// --------------------------------------------------------- -// CSCPQueryDialog::OfferKeyEventL -// called by framework when any key is pressed -// --------------------------------------------------------- -// -TKeyResponse CSCPQueryDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType) - { - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(%d, %d, %d)"), aKeyEvent.iScanCode, - aKeyEvent.iCode, aType )); - - //Handling for Key up events for special characters - if (aType == EEventKeyUp && iPriorityDropped && iKeyUsed - == aKeyEvent.iScanCode) - { - DrawableWindow()->SetOrdinalPosition(0, ECoeWinPriorityAlwaysAtFront); - ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition( - 0, ECoeWinPriorityAlwaysAtFront); - iPriorityDropped = EFalse; - iKeyUsed = NULL; - Dprint((_L("CSCPQueryDialog::OfferKeyEventL(): Priority dropped"))); - return EKeyWasConsumed; - } - else - { - if (iPriorityDropped && iKeyUsed != aKeyEvent.iScanCode - && (aKeyEvent.iScanCode == EStdKeyDevice0 - || aKeyEvent.iScanCode == EStdKeyDevice1 - || aKeyEvent.iScanCode == EStdKeyDevice2 - || aKeyEvent.iScanCode == EStdKeyDevice3)) - { - iPriorityDropped = EFalse; - iKeyUsed = NULL; - } - - } - - //Consume the characters which are typed before Key up events of special characters - if (iPriorityDropped && iKeyUsed != NULL) - { - return EKeyWasConsumed; - } - - - // Check if the priority should be dropped, so that special dialogs can be shown - if ( ( aType == EEventKeyDown ) && - ( ( aKeyEvent.iScanCode == EStdKeyLeftShift ) || // Pen-key - ( aKeyEvent.iScanCode == EStdKeyRightShift ) || // Pen-key - ( aKeyEvent.iScanCode == EStdKeyLeftFunc ) || //Chr-key - ( aKeyEvent.iScanCode == EStdKeyNkpAsterisk ) || // * - key - ( aKeyEvent.iScanCode == '*' ) // * - key - ) - ) - { - iKeyUsed = aKeyEvent.iScanCode; - DrawableWindow()->SetOrdinalPosition(0,0); - ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,0); - iPriorityDropped = ETrue; - - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): Priority dropped") )); - } - else - { - // Return priority, either no dialogs shown, or already exited. - if ( iPriorityDropped ) - { - DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); - ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); - iPriorityDropped = EFalse; - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): Priority re-raised") )); - } - } - - if ( aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter) - { - // Try to exit with OK as well - TryExitL(EAknSoftkeyOk); - return EKeyWasConsumed; - } - - // app key - if (aKeyEvent.iScanCode == EStdKeyApplication0) - { - if ( iButtons == RSCPClient::SCP_OK_CANCEL ) - { - TryExitL(EAknSoftkeyCancel); - return EKeyWasNotConsumed; - } - return EKeyWasConsumed; - } - - // end key - if ( (aKeyEvent.iCode == EKeyPhoneEnd) || (aKeyEvent.iCode == EKeyEscape) ) - { - if ( ( iButtons == RSCPClient::SCP_OK_CANCEL ) || - ( iButtons == RSCPClient::SCP_OK_CANCEL_ETEL ) ) - { - TryExitL(EAknSoftkeyCancel); - } - return EKeyWasConsumed; - } - - if (aKeyEvent.iCode == EKeyPhoneSend) - { - //if (AknLayoutUtils::PenEnabled()) - { - if (iECSSupport) - { - if (iEcsDetector->State()== CAknEcsDetector::ECompleteMatch) - { - iEcsDetector->AddChar( (TText)(EKeyPhoneSend) ); - - } - else - { - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): ShowWarningNoteL") )); - ShowWarningNoteL(); - return EKeyWasConsumed; - } - } - else //consume the key to prevent dialler from opening - { - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): EKeyPhoneSend :EKeyWasConsumed") )); - return EKeyWasConsumed; - } - } - } - - if ( ( aType == EEventKey ) && ( aKeyEvent.iCode == KSCPSpecialDeleteEvent ) ) - { - // This special event is sent to remove the previous character while "cycling" with - // the numeric keys. Discard, if the previous character was already removed. - if ( iPreviousCharacterWasInvalid ) - { - return EKeyWasConsumed; - } - } - - if ( ( aType == EEventKey ) && ( iECSSupport ) ) - { - // Reset the field text - QueryControl()->SetTextL( iTextBuffer ); - } - - TKeyResponse ret = QueryControl()->OfferKeyEventL( aKeyEvent, aType ); - - // Check that only alphanumeric letters are entered - if ( ( QueryControl() != NULL ) && ( QueryControl()->GetTextLength() > iValidTextLen ) ) - { - // A new character was added to the editor - iTmpBuffer.Zero(); - QueryControl()->GetText( iTmpBuffer ); - - TChar newChar = iTmpBuffer[ iTmpBuffer.Length() - 1 ]; - TChar::TCategory newCat = newChar.GetCategory(); - if ( newChar.IsSpace() || newChar < 1 || newChar > 126 ) - /* if ( !newChar.IsAlphaDigit() && newCat != TChar::ENdCategory ) */ - { - // Remove the last character, not allowed - iTmpBuffer.SetLength( iTmpBuffer.Length() - 1 ); - QueryControl()->SetTextL( iTmpBuffer ); - - iPreviousCharacterWasInvalid = ETrue; - - // Hide the OK key if the first character was invalid - if ( iValidTextLen == 0 ) - { - if (AknLayoutUtils::PenEnabled()) - { - ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue); - } - else - { - ButtonGroupContainer().MakeCommandVisible(EAknSoftkeyOk, EFalse); - } - - } - } - else - { - iValidTextLen++; - iPreviousCharacterWasInvalid = EFalse; - } - } - else if ( ( QueryControl() != NULL ) && ( QueryControl()->GetTextLength() < iValidTextLen ) ) - { - // Character removed, make sure we're back on track, - // though likely only backspace was pressed - iValidTextLen = QueryControl()->GetTextLength(); - } - -//Additional modifier set by query dialog, while simulating event -// As raw key events are used to simulate, modifiers and scan codes cannot be set at a time -// In the 1st event, modifiers are set and in subsequent event, scan codes will be set. -if(aKeyEvent.iModifiers & EModifierNumLock && - aKeyEvent.iModifiers & EModifierKeypad && aKeyEvent.iModifiers & EModifierSpecial -) - { - - return EKeyWasConsumed; - } - if ( iECSSupport ) - { - // Save the text - if ( aType == EEventKey ) - { - QueryControl()->GetText( iTextBuffer ); - } - if ( aType == EEventKey ) - { - iEcsDetector->SetBuffer(iTextBuffer.Left(KAknEcsMaxMatchingLength)); - } - if ( aType == EEventKey ) - { - if ( iEMCallActivated ) - { - TryExitL( ESecUiEmergencyCall ); - return EKeyWasConsumed; - } - } - // Retrieve the editor control ptr, we know it is a secret editor.. - CEikSecretEditor* queryControl = static_cast( - QueryControl()->ControlByLayoutOrNull( QueryControl()->QueryType() ) ); - - // Further check to ensure that the matched number is the entire buffer - // Get the matched text and see if is the same length as the current query length - if ( iShowingEMNumber && (QueryControl()->GetTextLength()== iEcsDetector->CurrentMatch().Length())) - { - // The previous keyDown-event resulted in a complete Em-number match. - - // An emergency number is entered, show the text in the field - QueryControl()->SetTextL( iEcsDetector->CurrentMatch() ); - if ( queryControl != NULL ) - { - queryControl->RevealSecretText( ETrue ); - if (isCallSoftkeyAdded == EFalse) - { - isCallSoftkeyAdded = ETrue; - HBufC* cbaLabel = NULL; - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_AVKON_SOFTKEY_CALL_TEXT") )); - TRAPD ( err, cbaLabel = - StringLoader::LoadL( R_AVKON_SOFTKEY_CALL_TEXT) ); - if ( err == KErrNone ) - { - ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk); - TRAP ( err, ButtonGroupContainer().AddCommandToStackL( 0, EAknSoftkeyEmergencyCall, - *cbaLabel) ); - ButtonGroupContainer().DrawDeferred(); - delete cbaLabel; - } - } - } - } - else - { - // The input doesn't match a Em-number - if ( queryControl != NULL ) - { - queryControl->RevealSecretText( EFalse ); - if(aType == EEventKey) - { - HBufC* cbaLabel = NULL; - TRAPD ( err , cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) ); - if ( err == KErrNone ) - { - if (isCallSoftkeyAdded) - { - isCallSoftkeyAdded = EFalse; - ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyEmergencyCall); - } - else - { - ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk); - } - TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0,EAknSoftkeyOk,*cbaLabel) ); - ButtonGroupContainer().DrawDeferred(); - delete cbaLabel; - } - } - } - } - } - - Dprint( (_L("CSCPQueryDialog::OfferKeyEventL() exiting") )); - - if ( ret == EKeyWasConsumed ) // The editor control used up this keyevent - { - return ret; - } - else - { - return CAknTextQueryDialog::OfferKeyEventL(aKeyEvent,aType); - } - } -// -// --------------------------------------------------------- -// CSCPQueryDialog::NeedToDismissQueryL() -// Handles '#' key called by CAknTextQueryDialog::OfferKeyEventL() -// --------------------------------------------------------- -// -TBool CSCPQueryDialog::NeedToDismissQueryL(const TKeyEvent& /*aKeyEvent*/) - { - return EFalse; - } -// -// --------------------------------------------------------- -// CSCPQueryDialog::OkToExitL() -// called by framework when the Softkey is pressed -// --------------------------------------------------------- -// -TBool CSCPQueryDialog::OkToExitL(TInt aButtonId) - { - - Dprint( (_L("CSCPQueryDialog::OkToExitL ( aButtonId :%d, "), aButtonId )); - TInt ret = EFalse; - - if ( aButtonId == EAknSoftkeyOk ) - { - Dprint( (_L("CSCPQueryDialog::OkToExitL - EAknSoftkeyOk") )); - TInt textLength = QueryControl()->GetTextLength(); - if ( textLength < iMinLength ) - { - // The code was too short -> play error tone & clear editor - if ( textLength != 0 ) - { - CAknKeySoundSystem* soundSystem; - if ( iEikonEnv->AppUi() ) - { - soundSystem = static_cast(iEikonEnv->EikAppUi())->KeySounds(); - soundSystem->PlaySound( EAvkonSIDErrorTone ); - } - QueryControl()->SetTextL( KNullDesC ); - iTextBuffer.Zero(); - iValidTextLen = 0; - - // Hide the OK key - //ButtonGroupContainer().MakeCommandVisible( EAknSoftkeyOk, EFalse ); - // ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue); - - if (AknLayoutUtils::PenEnabled()) - { - ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue); - } - else - { - ButtonGroupContainer().MakeCommandVisible(EAknSoftkeyOk, EFalse); - } - } - ret = EFalse; - } - else - { - ret = CAknTextQueryDialog::OkToExitL(aButtonId); - } - } - - // Cancel is allowed, if the key is active - if ( aButtonId == EAknSoftkeyCancel ) - { - Dprint( (_L("CSCPQueryDialog::OkToExitL EAknSoftkeyCancel ")) ); - ret = CAknTextQueryDialog::OkToExitL(aButtonId); - } - - // Emergency call, exit - if ( aButtonId == ESecUiEmergencyCall ) - { - Dprint( (_L("CSCPQueryDialog::OkToExitL(): ESecUiEmergencyCall") )); - ret = ETrue; - } - if (aButtonId == EAknSoftkeyEmergencyCall) - { - //add EKeyPhonesend to ecs detector. - ret = ETrue; - Dprint( (_L("CSCPQueryDialog::OkToExitL(): adding EKeyPhoneSend to detector") )); - iEcsDetector->AddChar( (TText)(EKeyPhoneSend ) ); - CAknTextQueryDialog::OkToExitL(aButtonId); - } - - Dprint( (_L("CSCPQueryDialog::OkToExitL() done") )); - return ret; - } - - -// --------------------------------------------------------- -// CSCPQueryDialog::HandleEcsEvent() -// -// --------------------------------------------------------- -// -void CSCPQueryDialog::HandleEcsEvent(CAknEcsDetector* aDetector, - CAknEcsDetector::TState aUpdatedState) - { - (void)aDetector; // Not used - - TInt err; - if ( ( aUpdatedState == CAknEcsDetector::ECompleteMatchThenSendKey ) || - ( aUpdatedState == CAknEcsDetector::ECallAttempted ) ) - { - // Call attempted, cancel the query - iEMCallActivated = ETrue; // OfferKeyEventL will close the dialog - } - else if ( aUpdatedState == CAknEcsDetector::ECompleteMatch ) - { - iShowingEMNumber = ETrue; - } - else if ( iShowingEMNumber ) - { - // Cancel Em-number display - iShowingEMNumber = EFalse; - - if ( aUpdatedState == CAknEcsDetector::EEmpty ) - { - // Key timeout: OfferKeyEventL won't be called, so reset the display here - TRAP( err, QueryControl()->SetTextL( iTextBuffer ) ); - (void)err; - - // Retrieve the editor control ptr, we know it is a secret editor.. - CEikSecretEditor* queryControl = - static_cast( - QueryControl()->ControlByLayoutOrNull( QueryControl()->QueryType() ) - ); - if ( queryControl != NULL ) - { - queryControl->RevealSecretText( EFalse ); - } - // } - HBufC* cbaLabel = NULL; - Dprint( (_L("CSCPQueryDialog::HandleEcsEvent(): R_SCPDIALOG_OK_TEXT") )); - TRAP ( err, cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) ); - if ( err == KErrNone ) - { - if (isCallSoftkeyAdded) - { - isCallSoftkeyAdded = EFalse; - ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyEmergencyCall); - } - else - { - ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk); - } - TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0, EAknSoftkeyOk, *cbaLabel) ); - ButtonGroupContainer().DrawDeferred(); - delete cbaLabel; - } - } - } - } - -void CSCPQueryDialog::ShowWarningNoteL() - { - - CAknNoteDialog* noteDlg = new (ELeave) CAknNoteDialog(); - noteDlg->PrepareLC(R_SCPDIALOG_EMERGENCYCALLS_ONLY); - noteDlg->SetTimeout(CAknNoteDialog::ELongTimeout); - noteDlg->SetTone(CAknNoteDialog::EErrorTone); - - noteDlg->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront+1); // - noteDlg->ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront+1); - - noteDlg->RunLD(); - - } - -// ----------------------------------------------------------------------------- -// CSCPQueryDialog::SetIncallBubbleAllowedInUsualL() -// ----------------------------------------------------------------------------- -// -void CSCPQueryDialog::SetIncallBubbleAllowedInUsualL(TBool aAllowed) - { - CAknIncallBubble *incallBubble = CAknIncallBubble::NewL(); - CleanupStack::PushL(incallBubble); - incallBubble->SetIncallBubbleAllowedInUsualL( aAllowed ); - CleanupStack::PopAndDestroy(); - } - -// Call from the SCPObserver - -void CSCPQueryDialog::TryCancelQueryL(TInt aReason) - { - Dprint( (_L("CSCPQueryDialog::TryCancelQueryL()")) ); - - if (EPSCTsyCallStateDisconnecting == aReason) - { - Dprint( (_L("CSCPQueryDialog::TryCancelQueryL() -SetOrdinalPosition ->0")) ); - iEikonEnv->RootWin().SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront+1); - iPrioritySet = ETrue; - } - else - { - Dprint( (_L("CSCPQueryDialog::TryExitL(EAknSoftkeyCancel)")) ); - TryExitL(EAknSoftkeyCancel); - } - } - - -// End of file - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPHistoryPlugin/data/SCPHistoryPluginLang.rss --- a/terminalsecurity/SCP/SCPHistoryPlugin/data/SCPHistoryPluginLang.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* -* Copyright (c) 2000 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: Implementation of terminalsecurity components -* -*/ - - -// RESOURCE IDENTIFIER -NAME SCHI - -// INCLUDES -#include -#include -#include - -RESOURCE RSS_SIGNATURE { } -RESOURCE TBUF16 { buf=""; } - -// RESOURCE DEFINITIONS - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_info_check -// - Warning text for the situation when the code cannot be the -// same as previous n security codes. -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_info_check - { buf = qtn_set_sec_code_info_check ; } - - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_info_previous -// - Warning text for the situation when the code cannot be the -// same as the previous security code. -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_info_previous - { buf = qtn_set_sec_code_info_previous ; } - - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_personal -// - Warning text for the situation security code not allowed. Blocklisted. -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_personal - { buf = qtn_set_sec_code_personal ; } - -// End of File diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPHistoryPlugin/group/SCPHistoryPlugin.mmp --- a/terminalsecurity/SCP/SCPHistoryPlugin/group/SCPHistoryPlugin.mmp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPHistoryPlugin/group/SCPHistoryPlugin.mmp Fri Oct 15 11:46:45 2010 +0530 @@ -43,8 +43,6 @@ SOURCEPATH ../data - - // PlugIn's RSS for History & SpecificStrings START RESOURCE SCPHistoryPlugin.rss HEADER @@ -52,14 +50,6 @@ LANGUAGE_IDS END - -// PlugIn's Localisation RSS for History & SpecificStrings -START RESOURCE SCPHistoryPluginLang.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - LIBRARY euser.lib LIBRARY ecom.lib LIBRARY scpclient.lib diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPHistoryPlugin/group/bld.inf --- a/terminalsecurity/SCP/SCPHistoryPlugin/group/bld.inf Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPHistoryPlugin/group/bld.inf Fri Oct 15 11:46:45 2010 +0530 @@ -19,9 +19,6 @@ PRJ_PLATFORMS -PRJ_EXPORTS -../loc/SCPHistoryPlugin.loc MW_LAYER_LOC_EXPORT_PATH(scphistoryplugin.loc) - PRJ_MMPFILES //#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS SCPHistoryPlugin.mmp diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPHistoryPlugin/loc/SCPHistoryPlugin.loc --- a/terminalsecurity/SCP/SCPHistoryPlugin/loc/SCPHistoryPlugin.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* -* Copyright (c) 2005 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: Implementation of terminalsecurity components -* -*/ - - -// LOCALISATION STRINGS: - -/* - Note : In this project, StringLoader wrapper is not used and - Formatting string are to change as following: - %N = %i - Do Not Change these markings! - Info about formatting Strings in general: - - Symbian OS v9.1 » - Symbian OS guide » - Base » - Using User Library (E32) » - Buffers and Strings » - Using Descriptors » - How to Use Descriptors » - Format string syntax -*/ - - -// Notification Texts - - -//d: Information note. Security code entered by the user is not accepted -//d: because code cannot be the same as previous %i security codes. -//d: %i is the amount of previous security codes. -//d: Use translations for "Lock code" in TARM_Lock_code_reference.xls -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_info_check "Lock code cannot be same as previous %N lock codes." - -//d: Information note. Security code entered by the user is not accepted -//d: because code cannot be the same as the previous security code. If the lock code cannot be same as x pervious codes -//d: an information note qtn_set_sec_code_info_check is displayed. -//d: Use translations for "Lock code" in TARM_Lock_code_reference.xls -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_info_previous "Lock code cannot be same as the previous one" - -//d: Information note. Security code entered by the user is not accepted because words or letters or combinations -//d: that are in the block list are not allowed. Block list is defined by TARM. -//d: Use translations for "Lock code" in TARM_Lock_code_reference.xls -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_personal "Information included in the lock code is not allowed" - - -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPHistoryPlugin/src/SCPHistoryPlugin.cpp --- a/terminalsecurity/SCP/SCPHistoryPlugin/src/SCPHistoryPlugin.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPHistoryPlugin/src/SCPHistoryPlugin.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -23,7 +23,6 @@ #include #include "SCPHistoryPlugin.h" -#include #include "SCP_IDs.h" #include diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPHistoryPlugin/src/SCPSpecificStringsPlugin.cpp --- a/terminalsecurity/SCP/SCPHistoryPlugin/src/SCPSpecificStringsPlugin.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPHistoryPlugin/src/SCPSpecificStringsPlugin.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -23,7 +23,6 @@ #include #include "SCPSpecificStringsPlugin.h" -#include #include "SCP_IDs.h" #include #include diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPPatternPlugin/data/SCPPatternPluginLang.rss --- a/terminalsecurity/SCP/SCPPatternPlugin/data/SCPPatternPluginLang.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -/* -* Copyright (c) 2000 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: Implementation of terminalsecurity components -* -*/ - - -// RESOURCE IDENTIFIER -NAME SCPP - -// INCLUDES -#include -#include -#include - - -RESOURCE RSS_SIGNATURE { } -RESOURCE TBUF16 { buf=""; } - - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_max -// - Warning text for the situation when the code has reached the maximum -// length -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_max - { buf = qtn_set_sec_code_max ; } - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_min -// - Warning text for the situation when the code has reached the minumum -// length -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_min - { buf = qtn_set_sec_code_min; } - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_upper_lower -// - Warning text for the situation when the code must have both upper and -// lower cases within. -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_upper_lower - { buf = qtn_set_sec_code_upper_lower ; } - - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_letters_numbers -// - Warning text for the situation when the code must have both numeric and -// alphas within. -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_letters_numbers - { buf = qtn_set_sec_code_letters_numbers ; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_repeated -// - Warning text for the situation when the code have n amount of same chars -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_repeated - { buf = qtn_set_sec_code_repeated ; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_repeated_once -// - Warning text for the situation when the code has too many same char, and -// the maximum is one. -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_repeated_once - { buf = qtn_set_sec_code_repeated_once ; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_consecutive -// - Warning text for the situation when the code have n amount of same nums -// in a row. -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_consecutive - { buf = qtn_set_sec_code_consecutive ; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_min_special_chars -// - Warning text for the situation when the code doesn't have n number of -// special characters. -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_min_special_chars - { buf = qtn_set_sec_code_min_special_chars ; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_consecutive_chars -// - Warning text for the situation when the code entered is a simple string -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_consecutive_chars - { buf = qtn_set_sec_consecutive_character_not_allowed ; } -//----------------------------------------------------------------------------- -// -// r_set_sec_code_single_repeat -// - Warning text for the situation when the code entered is a simple string -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_single_repeat - { buf = qtn_set_sec_code_repeat_character_not_allowed ; } - -// End of file diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPPatternPlugin/group/SCPPatternPlugin.mmp --- a/terminalsecurity/SCP/SCPPatternPlugin/group/SCPPatternPlugin.mmp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPPatternPlugin/group/SCPPatternPlugin.mmp Fri Oct 15 11:46:45 2010 +0530 @@ -42,8 +42,6 @@ SOURCEPATH ../data - - // PlugIn's RSS for SCPPatternPlugin START RESOURCE SCPPatternPlugin.rss HEADER @@ -51,15 +49,6 @@ LANGUAGE_IDS END - -// PlugIn's Localisation RSS for SCPPatternPlugin -START RESOURCE SCPPatternPluginLang.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - - LIBRARY euser.lib LIBRARY ecom.lib LIBRARY scpclient.lib diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPPatternPlugin/group/bld.inf --- a/terminalsecurity/SCP/SCPPatternPlugin/group/bld.inf Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPPatternPlugin/group/bld.inf Fri Oct 15 11:46:45 2010 +0530 @@ -20,9 +20,6 @@ PRJ_PLATFORMS -PRJ_EXPORTS -../loc/SCPPatternPlugin.loc MW_LAYER_LOC_EXPORT_PATH(scppatternplugin.loc) - PRJ_MMPFILES //#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS SCPPatternPlugin.mmp diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPPatternPlugin/loc/SCPPatternPlugin.loc --- a/terminalsecurity/SCP/SCPPatternPlugin/loc/SCPPatternPlugin.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -/* -* Copyright (c) 2005 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: - * This is a localisation file for SCPPatternPlugin - * A SCPPatternPlugin.loc file is the one and only place where the logical strings - * to be localised are defined. - * >>> - * The text between >>> and <<< is just to document the syntax and - * you can remove it if you like. - * -*/ - - - -// LOCALISATION STRINGS - -/* - Note : In this project, StringLoader wrapper is not used and - Formatting string are to change as following: - %N = %i - Do Not Change these markings! - Info about formatting Strings in general: - - Symbian OS v9.1 » - Symbian OS guide » - Base » - Using User Library (E32) » - Buffers and Strings » - Using Descriptors » - How to Use Descriptors » - Format string syntax -*/ - - -// Notification Texts - - -//d: Information note. Security code entered by the user is not accepted because it contains more than x characters. -//d: %i is the maximum amount of characters allowed in the security code. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_max "Cannot contain more than %N characters" - - -//d: Information note. Security code entered by the user is not accepted because security code must contain at least x characters. -//d: %i is the minimum amount of characters that the security code must contain. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_min "Must be at least %N characters" - - -//d: Information note. Security code entered by the user is not accepted because it must include both upper and lower case characters. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_upper_lower "Must include upper and lower case characters" - - -//d: Information note. Security code entered by the user is not accepted because it must include both letters and numbers. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_letters_numbers "Must include letters and numbers" - - -//d: Information note. Security code entered by the user is not accepted because characters cannot be repeated more than x time. -//d: %i is maximum amount of times that the characters can be repeated. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_repeated "Characters cannot be repeated more than %N times" - -//d: Information note. Security code entered by the user is not accepted because characters cannot be repeated. -//d: This note is displayed in case the character cannot be repeated at all. In other case qtn_set_sec_code_repeated is displayed. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_repeated_once "Characters cannot be repeated" - - -//d: Information note. Security code entered by the user is not allowed because more than two consecutive numbers are not allowed. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_consecutive "More than two consecutive numbers not allowed" - -//d: Information note. Security code entered by the user is not allowed because it doesn't contain N number of special characters. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_min_special_chars "Code must contain at least %N special characters" - -//d: Information note. Security code entered by the user is not allowed because it is a simple lock code. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_consecutive_character_not_allowed "Code must not contain consecutive characters" -//d: Information note. Security code entered by the user is not allowed because it is a simple lock code. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_repeat_character_not_allowed "Code must not contain single repeated character" -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPPatternPlugin/src/SCPPatternPlugin.cpp --- a/terminalsecurity/SCP/SCPPatternPlugin/src/SCPPatternPlugin.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPPatternPlugin/src/SCPPatternPlugin.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -24,12 +24,9 @@ #include #include "SCPPatternPlugin.h" -#include #include "SCP_IDs.h" #include - - // ============================= LOCAL FUNCTIONS ============================= // ============================= MEMBER FUNCTIONS ============================= diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPServer/inc/SCPServer.h --- a/terminalsecurity/SCP/SCPServer/inc/SCPServer.h Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPServer/inc/SCPServer.h Fri Oct 15 11:46:45 2010 +0530 @@ -226,6 +226,7 @@ }; const TInt KSCPDefaultMaxTO( 1440 ); +const TInt KSCPNoTimeOut( 0 ); // reasons for server panic enum TSCPServPanic diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPServer/src/SCPServer.cpp --- a/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -155,7 +155,7 @@ //#endif // Assign the default max timeout - iConfiguration.iMaxTimeout = KSCPDefaultMaxTO; + iConfiguration.iMaxTimeout = KSCPNoTimeOut; iConfiguration.iBlockedInOOS = 0; // Read the configuration, overwriting the default values diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPTimestampPlugin/data/SCPTimestampPlugin.rss --- a/terminalsecurity/SCP/SCPTimestampPlugin/data/SCPTimestampPlugin.rss Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPTimestampPlugin/data/SCPTimestampPlugin.rss Fri Oct 15 11:46:45 2010 +0530 @@ -24,8 +24,6 @@ #include #include -#include - // CONSTANTS // MACROS diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPTimestampPlugin/data/SCPTimestampPluginLang.rss --- a/terminalsecurity/SCP/SCPTimestampPlugin/data/SCPTimestampPluginLang.rss Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -/* -* Copyright (c) 2000 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: Implementation of terminalsecurity components -* -*/ - - -// RESOURCE IDENTIFIER -NAME SCTI - -// INCLUDES -#include -#include - -#include - -RESOURCE RSS_SIGNATURE { } -RESOURCE TBUF16 { buf=""; } - -// RESOURCE DEFINITIONS - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_warning_attempts_left -// - Warning text for the situation when only one password attempt is left -// before device wipe. -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_warning_attempts_left - { buf = qtn_set_sec_code_warning_attempts_left; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_aging -// - Notification text for the situation when the password has expired. -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_aging - { buf = qtn_set_sec_code_aging; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_change_day -// - Error text for indicating that the code cannot be changed inside the given -// interval (plural-plural). -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_change_day - { buf = qtn_set_sec_code_change_day; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_change_day -// - Error text for indicating that the code cannot be changed inside the given -// interval (singular-plural). -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_change_hours - { buf = qtn_set_sec_code_change_hours; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_change_day -// - Error text for indicating that the code cannot be changed inside the given -// interval (plural-singular). -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_change_times - { buf = qtn_set_sec_code_change_times; } - -//----------------------------------------------------------------------------- -// -// r_set_sec_code_change_day -// - Error text for indicating that the code cannot be changed inside the given -// interval (singular-singular). -// -//----------------------------------------------------------------------------- -// -RESOURCE TBUF r_set_sec_code_change_ones - { buf = qtn_set_sec_code_change_ones; } - -// End of file - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPTimestampPlugin/group/SCPTimestampPlugin.mmp --- a/terminalsecurity/SCP/SCPTimestampPlugin/group/SCPTimestampPlugin.mmp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPTimestampPlugin/group/SCPTimestampPlugin.mmp Fri Oct 15 11:46:45 2010 +0530 @@ -46,13 +46,6 @@ LANGUAGE_IDS END -START RESOURCE SCPTimestampPluginLang.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - - LIBRARY euser.lib LIBRARY ecom.lib LIBRARY scpclient.lib diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPTimestampPlugin/group/bld.inf --- a/terminalsecurity/SCP/SCPTimestampPlugin/group/bld.inf Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPTimestampPlugin/group/bld.inf Fri Oct 15 11:46:45 2010 +0530 @@ -21,9 +21,6 @@ PRJ_PLATFORMS -PRJ_EXPORTS -../loc/SCPTimestampPlugin.loc MW_LAYER_LOC_EXPORT_PATH(scptimestampplugin.loc) - PRJ_MMPFILES //#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS SCPTimestampPlugin.mmp diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPTimestampPlugin/loc/SCPTimestampPlugin.loc --- a/terminalsecurity/SCP/SCPTimestampPlugin/loc/SCPTimestampPlugin.loc Tue Sep 28 17:53:08 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -/* -* Copyright (c) 2005 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: Implementation of terminalsecurity components -* -*/ - - -// LOCALISATION STRINGS: - -/* - Note : In this project, StringLoader wrapper is not used and - Formatting string are to change as following: - %N = %i - Do Not Change these markings! - Info about formatting Strings in general: - - Symbian OS v9.1 » - Symbian OS guide » - Base » - Using User Library (E32) » - Buffers and Strings » - Using Descriptors » - How to Use Descriptors » - Format string syntax -*/ - - -// Notification Texts - -//d: Information note. After entering wrong security code in the security code query, the user data is cleared from the device -//d: and must be set up again. An information note is shown to the user that there is only one attempt left before losing all data. -//d: Use translations for "Lock code" in TARM_Lock_code_reference.xls -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_warning_attempts_left "Incorrect lock code. One attempt left before data is erased." - - -//d: Information note. Security code has expired and user is forced to give new security code. -//d: After the note a data query "Enter new lock code:" (provided by S60) is displayed. -//d: Use translations for "Lock code" in TARM_Lock_code_reference.xls -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_aging "Lock code expired." - - -//d: Information note. User is notified that security code cannot be changed more often than x times in y hours. -//d: The first %i is replaced with the maximum amount of security code changes. -//d: The second %i is replaced with the amount of hours. -//d: Both parameters can be max 2 digits (99). -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_change_day "Lock code can be changed %0N times in %1N hours" - - -//d: Information note. User is notified that security code cannot be changed more often than 1 time in y hours. -//d: %i is replaced with the amount of hours. -//d: Parameter can be max 2 digits (99). -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_change_hours "Lock code can be changed once in %N hours" - -//d: Information note. User is notified that security code cannot be changed more often than x times in 1 hour. -//d: %i is replaced with hte amount of security code changes. -//d: Parameter can be max 2 digits (99). -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_change_times "Lock code can be changed %N times in an hour" - - -//d: Information note. User is notified that security code cannot be changed more often than 1 time1 in 1 hour. -//l: popup_note_window/opt2 -//r: 3.2.2, 3.2.3, 5.0 -#define qtn_set_sec_code_change_ones "Lock code can be changed once in an hour" - - - -// End of File - diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/SCP/SCPTimestampPlugin/src/SCPTimestampPlugin.cpp --- a/terminalsecurity/SCP/SCPTimestampPlugin/src/SCPTimestampPlugin.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/SCP/SCPTimestampPlugin/src/SCPTimestampPlugin.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -22,12 +22,10 @@ #include #include #include -#include + #include "SCP_IDs.h" -#include #include -#include -#include + // For wipe #include #include diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/server/src/TcFileScan.cpp --- a/terminalsecurity/server/src/TcFileScan.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/server/src/TcFileScan.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -132,6 +132,7 @@ // iRecurseLevel ++; TFindFile* fileFinder1 = new (ELeave) TFindFile( aFileSession ); + CleanupStack::PushL( fileFinder1 ); CDir* fileList1; TInt err = fileFinder1->FindWildByPath(aDirectory, &KNullDesC(), fileList1); @@ -187,7 +188,7 @@ err = fileFinder1->FindWild( fileList1 ); } - delete fileFinder1; + CleanupStack::PopAndDestroy( fileFinder1 ); iRecurseLevel --; } diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/server/src/TerminalControlServer.cpp --- a/terminalsecurity/server/src/TerminalControlServer.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/server/src/TerminalControlServer.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -337,6 +337,7 @@ TFullName processName; TFindProcess findProcess; CBufFlat *buffer = CBufFlat::NewL(128); + CleanupStack::PushL(buffer); iProcessInfoArray->Reset(); while( KErrNone == findProcess.Next( processName ) ) @@ -421,6 +422,7 @@ return EAllThreadsCritical; return ENotCritical; */ + CleanupStack::Pop(); // buffer return buffer; } diff -r d2517372cc44 -r ae69c2e8bc34 terminalsecurity/server/src/TerminalControlSession.cpp --- a/terminalsecurity/server/src/TerminalControlSession.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/terminalsecurity/server/src/TerminalControlSession.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -892,6 +892,7 @@ } else { + CleanupStack::PushL(trustedSession); iContainer->AddL( trustedSession ); TInt handle = iTrustedSessions->AddL( trustedSession ); @@ -899,7 +900,7 @@ TPckg handlePckg( handle ); TInt checkValue = handlePckg(); TRAPD( r, aMessage.WriteL(3, handlePckg)) - + CleanupStack::Pop(trustedSession); RDEBUG_2("CTerminalControlSession::NewTrustedSessionL: %d", handle ); if ( r != KErrNone) @@ -1398,9 +1399,10 @@ TInt length = aMsg.GetDesLengthL( aIndex ); HBufC8* buffer = HBufC8::NewL( length ); + CleanupStack::PushL(buffer); TPtr8 ptr( buffer->Des() ); aMsg.ReadL( aIndex, ptr ); - + CleanupStack::Pop(buffer); return buffer; }