# HG changeset patch # User William Roberts # Date 1268572276 0 # Node ID 27d173b4aadf3a79012de25be762d6a04f6b37e6 # Parent f5380f579f8b474007b444381c6cac9918cfcf8e# Parent eed911ae68f2eab0f13daf182a3c51457c9a366f Automatic merge from PDK_3.0.h diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp --- a/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp Sun Mar 14 13:11:16 2010 +0000 @@ -86,6 +86,7 @@ LIBRARY netmeta.lib LIBRARY centralrepository.lib LIBRARY cmmanager.lib +LIBRARY commsdat.lib VENDORID 0x70000001 diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationmonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationmonitor.h Sun Mar 14 13:11:16 2010 +0000 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* Name : sipphoneregistrationmonitor.h +* Part of : SIP Profile Agent / SIP IMS Agent +* Version : %version: 4 % +* +*/ + + + + +/** + @internalComponent +*/ + +#ifndef CSIPPHONEREGISTRATIONMONITOR_H +#define CSIPPHONEREGISTRATIONMONITOR_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class MSipPhoneRegistrationObserver; + +// CLASS DEFINITION +/** + * Monitors the status of the phone's network registration. + * Notifies when the status changes. + */ +class CSipPhoneRegistrationMonitor : public CActive + { + public: + + /** Phone registration status */ + enum TStatus + { + ENotRegistered, + ERegisteredOnHomeNetwork, + ERegisteredRoaming + }; + + static CSipPhoneRegistrationMonitor* NewL( + RTelServer& aTelServer, + const RTelServer::TPhoneInfo& aPhoneInfo, + MSipPhoneRegistrationObserver& aObserver ); + + ~CSipPhoneRegistrationMonitor(); + + public: // New methods + + TStatus Status() const; + + protected: // From CActive + + void DoCancel(); + void RunL(); + TInt RunError(TInt aError); + + private: // Constructors + + /// Constructor + CSipPhoneRegistrationMonitor( + MSipPhoneRegistrationObserver& aObserver ); + + /// Default constructor, not implemented. + CSipPhoneRegistrationMonitor(); + + /// 2nd phase constructor + void ConstructL( + RTelServer& aTelServer, + const RTelServer::TPhoneInfo& aPhoneInfo ); + + void MonitorStatus(); + + private: // Data + + MSipPhoneRegistrationObserver& iObserver; + RMobilePhone iPhone; + RMobilePhone::TMobilePhoneRegistrationStatus iRegistrationStatus; + + +#ifdef CPPUNIT_TEST + friend class CSIPIMSProfileAgentTest; +#endif + }; + +#endif // CSIPPHONEREGISTRATIONMONITOR_H diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationobserver.h Sun Mar 14 13:11:16 2010 +0000 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* Name : sipphoneregistrationobserver.h +* Part of : SIP Profile Agent / SIP IMS Agent +* Version : %version: 3 % +* +*/ + + + + +/** + @internalComponent +*/ + +#ifndef MSIPPHONEREGISTRATIONOBSERVER_H +#define MSIPPHONEREGISTRATIONOBSERVER_H + +// INCLUDES +#include + +// CLASS DECLARATION +/** +* MSipPhoneRegistrationObserver defines an internal interface for observing +* phone's network registration status. +*/ +class MSipPhoneRegistrationObserver + { + public: // Abstract methods + + /** + * Called when the phone's network registration status changes. + */ + virtual void PhoneRegistrationStatusChangedL() = 0; + + /** + * Called when there is a fatal failure when monitoring + * the phone's network registration status. + * The user should delete the monitor. + * @param aError the failure reason + */ + virtual void PhoneRegistrationStatusError( TInt aError ) = 0; + }; + +#endif // MSIPPHONEREGISTRATIONOBSERVER_H diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/sipphoneregistrationmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/sipphoneregistrationmonitor.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -0,0 +1,173 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "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: +// Name : sipphoneregistrationmonitor.cpp +// Part of : SIP Profile Agent / IMS Agent +// Version : %version: 6 % +// + + + +#include "sipphoneregistrationmonitor.h" +#include "sipphoneregistrationobserver.h" + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::NewL +// ----------------------------------------------------------------------------- +// +CSipPhoneRegistrationMonitor* CSipPhoneRegistrationMonitor::NewL( + RTelServer& aTelServer, + const RTelServer::TPhoneInfo& aPhoneInfo, + MSipPhoneRegistrationObserver& aObserver ) + { + CSipPhoneRegistrationMonitor* self + = new( ELeave ) CSipPhoneRegistrationMonitor( aObserver ); + CleanupStack::PushL( self ); + self->ConstructL( aTelServer, aPhoneInfo ); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::CSipPhoneRegistrationMonitor +// ----------------------------------------------------------------------------- +// +CSipPhoneRegistrationMonitor::CSipPhoneRegistrationMonitor( + MSipPhoneRegistrationObserver& aObserver ) + : CActive( CActive::EPriorityStandard ), + iObserver( aObserver ), + iRegistrationStatus( RMobilePhone::ERegistrationUnknown ) + { + CActiveScheduler::Add( this ); + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::ConstructL +// ----------------------------------------------------------------------------- +// +#ifdef __WINSCW__ + +void CSipPhoneRegistrationMonitor::ConstructL( + RTelServer& /*aTelServer*/, + const RTelServer::TPhoneInfo& /*aPhoneInfo*/ ) + { + iRegistrationStatus = RMobilePhone::ERegisteredOnHomeNetwork; + } + +#else + +void CSipPhoneRegistrationMonitor::ConstructL( + RTelServer& aTelServer, + const RTelServer::TPhoneInfo& aPhoneInfo ) + { + + User::LeaveIfError( iPhone.Open( aTelServer, aPhoneInfo.iName ) ); + + // Get current status + TRequestStatus status; + iPhone.GetNetworkRegistrationStatus( status, iRegistrationStatus ); + User::WaitForRequest( status ); + User::LeaveIfError( status.Int() ); + + // Start to monitor the status + MonitorStatus(); + } + +#endif + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::~CSipPhoneRegistrationMonitor +// ----------------------------------------------------------------------------- +// +CSipPhoneRegistrationMonitor::~CSipPhoneRegistrationMonitor() + { + Cancel(); + iPhone.Close(); + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::Status +// ----------------------------------------------------------------------------- +// +CSipPhoneRegistrationMonitor::TStatus +CSipPhoneRegistrationMonitor::Status() const + { + TStatus status = ENotRegistered; + switch ( iRegistrationStatus ) + { + case RMobilePhone::ERegisteredOnHomeNetwork: + status = ERegisteredOnHomeNetwork; + break; + case RMobilePhone::ERegisteredRoaming: + status = ERegisteredRoaming; + break; + default: + break; + } + return status; + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::DoCancel +// ----------------------------------------------------------------------------- +// +void CSipPhoneRegistrationMonitor::DoCancel() + { + iPhone.CancelAsyncRequest( + EMobilePhoneNotifyNetworkRegistrationStatusChange ); + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::RunL +// ----------------------------------------------------------------------------- +// +void CSipPhoneRegistrationMonitor::RunL() + { + TInt err = iStatus.Int(); + + if ( err ) + { + iObserver.PhoneRegistrationStatusError( err ); + } + else + { + MonitorStatus(); + iObserver.PhoneRegistrationStatusChangedL(); + } + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::RunError +// ----------------------------------------------------------------------------- +// +TInt CSipPhoneRegistrationMonitor::RunError(TInt aError) + { + iObserver.PhoneRegistrationStatusError( aError ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CSipPhoneRegistrationMonitor::MonitorStatus +// ----------------------------------------------------------------------------- +// +void CSipPhoneRegistrationMonitor::MonitorStatus() + { +#ifndef __WINSCW__ + + // Request further notification from ETel + iPhone.NotifyNetworkRegistrationStatusChange( iStatus, + iRegistrationStatus ); + SetActive(); + +#endif + } diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h --- a/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h Sun Mar 14 13:11:16 2010 +0000 @@ -676,6 +676,12 @@ */ void AddProfilesInCacheL(RPointerArray& aProfiles,TBool aNotifyProfileCreation); + /** + * Gets the IAP Count in the Snap + * @return number of aIaps in the Snap + */ + TInt IAPCountL(TUint32 aSnapId) const; + private: // Data RFs iFs; diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -49,6 +49,10 @@ #include #include +#include +#include +#include +using namespace CommsDat; // ============================ MEMBER FUNCTIONS =============================== @@ -946,10 +950,10 @@ // CSIPConcreteProfile::TStatus CSIPProfileServerCore::ForceDisableProfileL( TUint32 aProfileId, - const MSIPExtendedConcreteProfileObserver& aObserver) + const MSIPExtendedConcreteProfileObserver& /* aObserver */) { CSIPProfileCacheItem* item = ProfileCacheItemL(aProfileId); - (void)aObserver; + //When profile state is not unregistered, //perform cleanup and send event notification @@ -1771,22 +1775,29 @@ TBool CSIPProfileServerCore::ShouldChangeIap(CSIPConcreteProfile& aProfile, TInt aError) const { PROFILE_DEBUG3("CSIPProfileServerCore::ShouldChangeIap, error", aError) - TUint32 dummySnapId(0); - if ( aProfile.ExtensionParameter(KSIPSnapId, dummySnapId) == KErrNone && - !AnyRegisteredProfileUsesIap(aProfile.IapId()) ) + TUint32 snapId(0); + if ( aProfile.ExtensionParameter(KSIPSnapId, snapId) == KErrNone + && !AnyRegisteredProfileUsesIap(aProfile.IapId()) ) { PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap, snap is in use") // This profile uses a SNAP. // There are no registered profiles using the same IAP as this profile. - - if ( aError == KErrTimedOut || - aError == KErrSIPResolvingFailure ) - { - PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap returns True") - return ETrue; - } - } + + TUint iapCount(0); + TRAPD(err, iapCount = IAPCountL(snapId)); + if(KErrNone == err) + { + if ( (aError == KErrTimedOut || + aError == KErrSIPResolvingFailure) + && iapCount > 1) + { + PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap returns True") + return ETrue; + } + } + + } PROFILE_DEBUG1("CSIPProfileServerCore::ShouldChangeIap returns false") return EFalse; } @@ -1839,3 +1850,31 @@ aItem.Profile().Status(), ESipProfileItcOpProfileForciblyDisabled)); } } + + +// ----------------------------------------------------------------------------- +// CSIPProfileServerCore::IAPCount +// ----------------------------------------------------------------------------- +// +TInt CSIPProfileServerCore::IAPCountL(TUint32 aSnapId) const + { + const TUint KRecordId = aSnapId; + TUint32 count(0); + CMDBSession* db = CMDBSession::NewLC( KCDVersion1_2); + db->SetAttributeMask( ECDHidden ); + + //Load the Selection Policy record + CCDIAPPrioritySelectionPolicyRecord *selPolRecord = (CCDIAPPrioritySelectionPolicyRecord *)CCDRecordBase::RecordFactoryL(KCDTIdIapPrioritySelectionPolicyRecord); + + CleanupStack::PushL(selPolRecord); + selPolRecord->SetRecordId(KRecordId); + + selPolRecord->LoadL( *db ); + count = selPolRecord->iIapCount; + PROFILE_DEBUG3("CSIPProfileServerCore::IAPCount, IAP Count", count) + + CleanupStack::PopAndDestroy(selPolRecord); + CleanupStack::PopAndDestroy( db ); + return count; + } + diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -329,9 +329,11 @@ PROFILE_DEBUG5("CSipAlrMigrCtrl::SendMigrationResult iap,allow,obsCount", aIapId, aAllowed, - iObservers.Count()) - - for (TInt i = 0; i < iObservers.Count(); ++i) + iObservers.Count()) + + //Get the initial count of Observers + TInt count = iObservers.Count();; + for (TInt i = 0; i < count; ++i) { MSipAlrMigrationObserver& obs = iObservers[i].iObserver; TRAPD(err, if (aAllowed) @@ -348,6 +350,15 @@ PROFILE_DEBUG4("MigrationIs(Dis)AllowedL leaves err,index", err, i) obs.ErrorOccurred(err); } + // Check the Observer Count. It may be possible that Profile Could Not + // be registered (if migration is allowed). In such cases error handling + // for profile will be done, which will move Profile into Un-registered State + // As the profile moves into Un-registered state, profile is detached from + // the list of Observer which AlrMigrationController maintains. This dynamically + // changes the Observer count. + if(iObservers.Count() < count) + i--; + count = iObservers.Count(); } } diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -255,7 +255,6 @@ { aItem.HandleProfileError(err, aItem.Profile()); } - User::Leave(err); } } diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h --- a/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h Sun Mar 14 13:11:16 2010 +0000 @@ -38,6 +38,12 @@ * The user should provide credentials or ignore the challenge * using functions defined in TSIPHttpDigest class. * +* MSIPHttpDigestChallengeObserver class is compliant with RFC 2543 +* where Proxy use to forward only one challenge when it receives +* multiple challenges on forking the request. Applications are +* encouraged to use MSIPHttpDigestChallengeObserver2 class which +* provides interface to extract multiple challenges. +* MSIPHttpDigestChallengeObserver2 class is compliant to RFC 3261 * @lib n/a */ class MSIPHttpDigestChallengeObserver diff -r f5380f579f8b -r 27d173b4aadf realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h --- a/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h Mon Mar 08 21:43:52 2010 +0000 +++ b/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h Sun Mar 14 13:11:16 2010 +0000 @@ -42,6 +42,10 @@ * The user should provide credentials or ignore the challenge * using functions defined in CSIPHttpDigest class. * +* Applications are encouraged to use implement below interface which +* provides functions to extract multiple challenges. +* MSIPHttpDigestChallengeObserver2 class is compliant to RFC 3261 +* * @lib n/a */ class MSIPHttpDigestChallengeObserver2 diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipadapter/inc/CWPSIPAdapter.h --- a/sipplugins/sippsipadapter/inc/CWPSIPAdapter.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipadapter/inc/CWPSIPAdapter.h Sun Mar 14 13:11:16 2010 +0000 @@ -21,7 +21,7 @@ // INCLUDES #include -#include +#include // FORWARD DECLARATIONS class CWPCharacteristic; diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp --- a/sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -19,11 +19,11 @@ // INCLUDE FILES #include #include -#include -#include +#include +#include #include #include // Unicode conversion -#include +#include #include #include #include diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss --- a/sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss Sun Mar 14 13:11:16 2010 +0000 @@ -127,16 +127,19 @@ { command = EGSCmdAppEdit; txt = qtn_sip_edit; + flags = EEikMenuItemAction; }, MENU_ITEM { command = EGSCmdAppDelete; txt = qtn_sip_delete; + flags = EEikMenuItemSpecific; }, MENU_ITEM { command = EGSCmdAppDefault; txt = qtn_sip_set_def_profile; + flags = EEikMenuItemSpecific; }, #ifdef __SERIES60_HELP MENU_ITEM diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp --- a/sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp Sun Mar 14 13:11:16 2010 +0000 @@ -55,7 +55,6 @@ SOURCE SIPSettListSIPSrvTakeOverCBAKeyPress.cpp SOURCE SIPSettIntegerSetPage.cpp SOURCE SipSettIntegerEditItem.cpp -SOURCE gssiptimer.cpp USERINCLUDE ../inc USERINCLUDE ../data diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/inc/gssiptimer.h --- a/sipplugins/sippsipsettingsui/inc/gssiptimer.h Mon Mar 08 21:43:52 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -// Copyright (c) 2002-2009 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: Timer for Hight light listbox item Container -// -// - - -#ifndef GSSIP_TIMER_H -#define GSSIP_TIMER_H - -// INCLUDES - -#include -#include -#include - -/** -* CGSSIPTimer class -*/ -class CGSSIPTimer: public CBase, - public MBeating - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - * @return Pointer to created instance - */ - static CGSSIPTimer* NewL( const CCoeControl& aContainer, - CListItemDrawer& aListItemDrawer ); - - /** - * Destructor. - */ - virtual ~CGSSIPTimer(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - - /** - * Record beat count - */ - void Beat(); - - /** - * Synchronize - */ - void Synchronize(); - - /** - * Start timer - */ - void StartTimer(); - - /** - * Stop timer - */ - void StopTimer(); - - /** - * IsStarted() - */ - TBool IsStarted() const; - - - private: - - /** - * C++ default constructor. - */ - CGSSIPTimer( const CCoeControl& aContainer, - CListItemDrawer& aListItemDrawer ); - - public: - // Timer count - TInt iTotal; - - private: - - // Timer - CHeartbeat* iHeart; - - //parameter iContainer - const CCoeControl& iContainer; - - //parameter iListItemDrawer - CListItemDrawer& iListItemDrawer; - - - // Check if timer is started - TBool iIfStart; - /** - * For testing purposes - */ - friend class UT_GSSIPTimer; - }; - -#endif // GSSIP_TIMER_H - -// End of File diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h --- a/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h Sun Mar 14 13:11:16 2010 +0000 @@ -28,7 +28,6 @@ #include #include #include -#include "gssiptimer.h" // FORWARD DECLARATIONS class CSIPSettingsModel; @@ -43,7 +42,6 @@ * container class for SIP Profiles view */ class CSIPSettingsContainer : public CCoeControl, - public MAknLongTapDetectorCallBack, public MEikMenuObserver { public: // Constructors and destructor @@ -58,26 +56,6 @@ */ void ProcessCommandL( TInt aCommandId ); - /** - * Handle long type event - */ - virtual void HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation ); - - /** - * Handle pointer event - */ - virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent ); - - /** - * Judge whether it is a pointer event - */ - TBool IfPointerEvent(); - - /** - * Get PenEventLocation - */ - TPoint PenEventLocation(); - /** * C++ default constructor. */ @@ -186,15 +164,6 @@ // The list box for showing the profiles and the status of each profile CListBox* iListBox; - //Get long press status - TBool LongPressStatus(); - - // set long press - void SetLongPress( TBool aLongPress = ETrue ); - - CAknLongTapDetector* LongTapDetector(); - - TPointerEvent PointerEvent(); protected: // Data TBool iLongPress; @@ -206,19 +175,6 @@ */ MGsFWMSKObserver* iMSKObserver; - // Long tap detector object for deciding whether showing stylus pop up menu. - CAknLongTapDetector* iLongTapDetector; - - // stylus popup menu object for showing popup menu - CAknStylusPopUpMenu* iStylusPopupMenu; - - //Timer - CGSSIPTimer* iTimer; - - //Get pen event location - TPoint iPoint; - - TPointerEvent iPointerEvent; }; #endif // SIP_SETTINGS_CONTAINER_H diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h --- a/sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h Sun Mar 14 13:11:16 2010 +0000 @@ -23,7 +23,7 @@ #include #include // MDesCArray -#include // KMaxColumnDataLength +#include // KMaxColumnDataLength #include "tsipsettingsdata.h" // FORWARD DECLARATIONS diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h --- a/sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h Sun Mar 14 13:11:16 2010 +0000 @@ -26,7 +26,6 @@ #include #include #include -#include "gssiptimer.h" // FORWARD DECLARATIONS class CSIPSettListSIPProfSetItemList; @@ -70,10 +69,6 @@ */ virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent ); - /** - * Judge whether it is a pointer event - */ - TBool IfPointerEvent( ); public: // New functions @@ -153,8 +148,6 @@ // The item list for changing the attributes of a profile CSIPSettListSIPProfSetItemList* iItemList; - CGSSIPTimer* iTimer; - /** * For testing purposes */ diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h --- a/sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h Sun Mar 14 13:11:16 2010 +0000 @@ -25,7 +25,6 @@ #include #include #include -#include "gssiptimer.h" // FORWARD DECLARATIONS class CSIPSettListSIPSrvSetItemList; @@ -69,11 +68,6 @@ virtual void HandlePointerEventL( const TPointerEvent& aPointerEvent ); /** - * Judge whether it is a pointer event - */ - TBool IfPointerEvent(); - - /** * Opens the pop-up list to modify the selected list items * @param aCommand ID of the command to respond to */ @@ -150,9 +144,7 @@ // Type of server view. TBool iProxyServerView; - - CGSSIPTimer* iTimer; - + }; #endif // SIP_SETT_LIST_SIP_SRV_SET_CONTAINER_H diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/gssipmodel.cpp --- a/sipplugins/sippsipsettingsui/src/gssipmodel.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/gssipmodel.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -195,6 +195,10 @@ TBool CGSSIPModel::SaveProfileL() { __GSLOGSTRING("CGSSIPModel::SaveProfileL" ) + if( iNewProfile ) + { + return EFalse; + } TBool modifications = ETrue; TInt err( KErrNone ); @@ -1199,9 +1203,9 @@ if ( profile ) { - profile->GetParameter( KSIPProfileRegistered, aIsUse ); profile->GetParameter( KSIPDefaultProfile, aDefault ); profile->GetParameter( KSIPProfileLocked, aLocked ); + aIsUse = iEngine->IsInUseL( *profile ); } __GSLOGSTRING("CGSSIPModel::CheckProfileForDeleteL End" ) } diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/gssiptimer.cpp --- a/sipplugins/sippsipsettingsui/src/gssiptimer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ -// Copyright (c) 2002-2009 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: Timer for Hight light listbox item Container -// -// - - -// INCLUDE FILES - -#include "gssiptimer.h" -#include "gssippluginlogger.h" - -// LOCAL CONSTANTS AND MACROS -const TInt KTimerPeriod = 6; - - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::NewL() -// ----------------------------------------------------------------------------- -// -CGSSIPTimer* CGSSIPTimer::NewL( const CCoeControl& aContainer, - CListItemDrawer& aListItemDrawer ) - { - __GSLOGSTRING("CGSSIPTimer::NewL" ) - CGSSIPTimer* self = new( ELeave ) CGSSIPTimer( aContainer, aListItemDrawer ); - - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - - return self; - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::CGSSIPTimer() -// ----------------------------------------------------------------------------- -// -CGSSIPTimer::CGSSIPTimer( const CCoeControl& aContainer, - CListItemDrawer& aListItemDrawer ) - : iTotal( 0 ), - iContainer ( aContainer ), - iListItemDrawer ( aListItemDrawer ), - iIfStart ( EFalse ) - { - __GSLOGSTRING("CGSSIPTimer::CGSSIPTimer" ) - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::~CGSSIPTimer() -// DestructL. -// ----------------------------------------------------------------------------- -// -CGSSIPTimer::~CGSSIPTimer() - { - __GSLOGSTRING("CGSSIPTimer::~CGSSIPTimer" ) - delete iHeart; - iHeart = NULL; - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::ConstructL() -// ConstructL. -// ----------------------------------------------------------------------------- -// -void CGSSIPTimer::ConstructL() - { - iHeart = CHeartbeat::NewL( CActive::EPriorityStandard ); - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::StartTimer() -// Start a Heart beat. -// ----------------------------------------------------------------------------- -// -void CGSSIPTimer::StartTimer() - { - __GSLOGSTRING("CGSSIPTimer::StartTimer" ) - iTotal = 0; - - if ( !iIfStart ) - { - iIfStart = ETrue; - iHeart->Start( ETwelveOClock, this ); - } - - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::StopTimer() -// Stop a Heart beat. -// ----------------------------------------------------------------------------- -// -void CGSSIPTimer::StopTimer() - { - __GSLOGSTRING("CGSSIPTimer::StopTimer" ) - if (iIfStart ) - { - iHeart->Cancel(); - iIfStart = EFalse; - iTotal = 0; - } - else - { - iListItemDrawer.SetFlags( CTextListItemDrawer::EDisableHighlight ); - iContainer.DrawNow(); - } - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::Beat() -// Count and stop stop. -// ----------------------------------------------------------------------------- -// -void CGSSIPTimer::Beat() - { - iTotal++; - if( iTotal >= KTimerPeriod ) - { - StopTimer(); - iListItemDrawer.SetFlags( CTextListItemDrawer::EDisableHighlight ); - iContainer.DrawNow(); - } - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::Synchronize() -// Synchronize. -// ----------------------------------------------------------------------------- -// -void CGSSIPTimer::Synchronize() - { - return; - } - -// ----------------------------------------------------------------------------- -// CGSSIPTimer::IsStarted() -// IsStarted. -// ----------------------------------------------------------------------------- -// -TBool CGSSIPTimer::IsStarted() const - { - return iIfStart; - } - -// End of File diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp --- a/sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -19,7 +19,7 @@ // INCLUDE FILES #include #include -#include +#include #include #include #include //GUI Resource diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -23,11 +23,11 @@ #include #include #include -#include //for loading icons +#include //for loading icons #include #include #include -#include +#include #include "sipsettingscontainer.h" #include "sipsettingsmodel.h" #include "sipsettingsplugin.h" @@ -243,10 +243,6 @@ naviContainer->PushDefaultL(); CreateWindowL(); - iLongTapDetector = CAknLongTapDetector::NewL( this ); - - SetLongPress( EFalse ); - // Initialize list box outlook iListBox = new ( ELeave ) CListBox; iListBox->SetContainerWindowL( *this ); @@ -311,9 +307,6 @@ iListBox->SetCurrentItemIndex( aActiveIndex ); } - iTimer = CGSSIPTimer::NewL( *this, *(iListBox->View()->ItemDrawer()) ); - - iStylusPopupMenu = NULL; DrawNow(); __GSLOGSTRING("CSIPSettingsContainer::ConstructL End" ) @@ -328,12 +321,6 @@ { __GSLOGSTRING("CSIPSettingsContainer::~CSIPSettingsContainer" ) delete iListBox; - delete iLongTapDetector; - iLongTapDetector = NULL; - delete iStylusPopupMenu; - iStylusPopupMenu = NULL; - delete iTimer; - iTimer = NULL; } // ----------------------------------------------------------------------------- @@ -463,14 +450,6 @@ TEventCode aType ) { __GSLOGSTRING("CSIPSettingsContainer::OfferKeyEventL" ) - if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow ) - { - iListBox->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight ); - - iTimer->StartTimer(); - - } - if ( aType == EEventKey && aKeyEvent.iCode == EKeyBackspace ) { iObs->HandleCommandL( EGSCmdAppDelete ); @@ -494,8 +473,6 @@ { iListBox->SetFocus( IsFocused(), aDrawNow ); } - iTimer -> StopTimer(); - } // --------------------------------------------------------------------------- @@ -532,41 +509,6 @@ } // ----------------------------------------------------------------------------- -// CSIPSettingsContainer::HandleLongTapEventL() -// Responds to Long Tap Event -// ----------------------------------------------------------------------------- -// -void CSIPSettingsContainer::HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& /*aPenEventScreenLocation*/ ) - { - __GSLOGSTRING("CSIPSettingsContainer::HandleLongTapEventL" ) - - iPoint = aPenEventLocation; - - delete iStylusPopupMenu; - iStylusPopupMenu = NULL; - - iStylusPopupMenu = CAknStylusPopUpMenu::NewL( this , PenEventLocation() ); - TResourceReader reader; - iCoeEnv->CreateResourceReaderLC( reader, R_STYLUS_POPUP_MENU ); - iStylusPopupMenu->ConstructFromResourceL( reader ); - CleanupStack::PopAndDestroy(); - - iStylusPopupMenu->ShowMenu(); - iStylusPopupMenu->SetPosition( PenEventLocation() ); - SetLongPress( ETrue ); - } - -// ----------------------------------------------------------------------------- -// CSIPSettingsContainer::HandleLongTapEventL() -// Responds to Long Tap Event -// ----------------------------------------------------------------------------- -// -TPoint CSIPSettingsContainer::PenEventLocation() - { - return iPoint; - } - -// ----------------------------------------------------------------------------- // CSIPSettingsContainer::ProcessCommandL() // Handle ProcessCommandL // ----------------------------------------------------------------------------- @@ -576,10 +518,6 @@ __GSLOGSTRING1("CSIPSettingsContainer::ProcessCommandL aCommand: %d", aCommand) switch( aCommand ) { - case EGSCmdAppEdit: - iObs->EditProfileL(); - break; - case EGSCmdAppDelete: iObs->DeleteProfileL(); break; @@ -590,70 +528,9 @@ break; } } - -// ----------------------------------------------------------------------------- -// CSIPSettingsContainer::HandlePointerEventL() -// Responds to a Pointer Event. -// ----------------------------------------------------------------------------- -// -void CSIPSettingsContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent ) - { - __GSLOGSTRING("CSIPSettingsContainer::HandlePointerEventL" ) - iListBox->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight ); - DrawNow(); - iPointerEvent = aPointerEvent; - CCoeControl::HandlePointerEventL( aPointerEvent ); - } - -// ----------------------------------------------------------------------------- -// CSIPSettingsContainer::IfPointerEvent() -// Check if it is Pointer Event. -// ----------------------------------------------------------------------------- -// -TBool CSIPSettingsContainer::IfPointerEvent() - { - __GSLOGSTRING("CSIPSettingsContainer::IfPointerEvent" ) - return !( iTimer->IsStarted() ); - } - void CSIPSettingsContainer::SetEmphasis( CCoeControl* /*aMenuControl*/, TBool /*aEmphasis*/ ) { } - -// ----------------------------------------------------------------------------- -// CSIPSettingsContainer::LongPressStatus() -// Check if Long Press happen. -// ----------------------------------------------------------------------------- -// -TBool CSIPSettingsContainer::LongPressStatus() - { - return iLongPress; - } - -// ----------------------------------------------------------------------------- -// CSIPSettingsContainer::SetLongPress() -// Set Long Press. -// ----------------------------------------------------------------------------- -// -void CSIPSettingsContainer::SetLongPress(TBool aLongPress ) - { - __GSLOGSTRING("CSIPSettingsContainer::SetLongPress" ) - this->iLongPress = aLongPress; - } - - -CAknLongTapDetector* CSIPSettingsContainer::LongTapDetector() - { - return iLongTapDetector; - } - - -TPointerEvent CSIPSettingsContainer::PointerEvent() - { - return iPointerEvent; - } - - // End of File diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -79,7 +79,7 @@ iResourceLoader.Close(); delete iModel; - delete iHandler; + delete iHandler; } // ----------------------------------------------------------------------------- @@ -481,21 +481,11 @@ { __GSLOGSTRING("CSIPSettingsPlugin::HandleListBoxEventL " ) __GSLOGSTRING1("CSIPSettingsPlugin::HandleListBoxEventL aEventType: %d", aEventType) - - if( EEventPenDownOnItem == aEventType ) - { - iContainer->LongTapDetector()->PointerEventL( iContainer->PointerEvent() ); - return; - } if( EEventItemSingleClicked == aEventType || EEventEnterKeyPressed == aEventType ) { - if ( !iContainer->LongPressStatus() ) - { EditProfileL(); - } } - iContainer ->SetLongPress( EFalse ); } // ----------------------------------------------------------------------------- @@ -718,18 +708,11 @@ { __GSLOGSTRING("CSIPSettingsPlugin::DynInitMenuPaneL" ) // Delete Help item if feature is not supported - if( aResourceId == R_GS_SIP_PROFILE_LIST_VIEW_MENU ) + if( aResourceId == R_GS_SIP_PROFILE_LIST_VIEW_MENU && + !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) { - if ( iContainer->IfPointerEvent() ) - { - aMenuPane->SetItemDimmed( EGSCmdAppEdit, ETrue ); - aMenuPane->SetItemDimmed( EGSCmdAppDelete, ETrue ); - aMenuPane->SetItemDimmed( EGSCmdAppDefault, ETrue ); - } - if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) - { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); - } } if ( aResourceId == R_GS_SIP_PROFILE_LIST_VIEW_MENU && diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -80,8 +80,6 @@ iItemList->ListBox()->SetCurrentItemIndex( Uiindex ); DrawNow(); - - iTimer = CGSSIPTimer::NewL( *this, *(iItemList->ListBox()->View()->ItemDrawer()) ); } // ----------------------------------------------------------------------------- @@ -113,8 +111,6 @@ { __GSLOGSTRING("CSIPSettListSIPProfSetContainer::~CSIPSettListSIPProfSetContainer" ) delete iItemList; - delete iTimer; - iTimer = NULL; } // ----------------------------------------------------------------------------- @@ -205,15 +201,7 @@ TEventCode aType ) { __GSLOGSTRING("CSIPSettListSIPProfSetContainer::OfferKeyEventL" ) - // Pass the key event to list box - if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow ) - { - iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight ); - - iTimer->StartTimer(); - - } - + return iItemList->OfferKeyEventL( aKeyEvent, aType ); } @@ -230,8 +218,6 @@ { iItemList->SetFocus( IsFocused(), aDrawNow ); } - iTimer->StopTimer(); - } // --------------------------------------------------------------------------- @@ -273,20 +259,6 @@ void CSIPSettListSIPProfSetContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent ) { __GSLOGSTRING("CSIPSettListSIPProfSetContainer::HandlePointerEventL" ) - iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight ); - DrawNow(); CCoeControl::HandlePointerEventL( aPointerEvent ); } - -// ----------------------------------------------------------------------------- -// CSIPSettListSIPProfSetContainer::IfPointerEvent() -// Check if it is Pointer Event. -// ----------------------------------------------------------------------------- -// -TBool CSIPSettListSIPProfSetContainer::IfPointerEvent() - { - return !( iTimer->IsStarted() ); - } - -//Second // End of File diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include "sipsettlistsipprofsetview.h" #include "sipsettlistsipprofsetcontainer.h" #include "sipsettlistsipprofsetmodel.h" @@ -292,7 +292,7 @@ if( aResourceId == R_GS_SIP_PROFILE_SETTING_VIEW_MENU ) { // iView might be NULL - if( iView && iView->IfPointerEvent() ) + if( iView ) { aMenuPane->SetItemDimmed( EGSCmdAppChange, ETrue ); } diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -75,7 +75,6 @@ // Set limits to the view & activate it SetRect( aRect ); ActivateL(); - iTimer = CGSSIPTimer::NewL( *this, *(iItemList->ListBox()->View()->ItemDrawer()) ); __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::ConstructL End" ) } @@ -108,8 +107,6 @@ { __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::~CSIPSettListSIPSrvSetContainer" ) delete iItemList; - delete iTimer; - iTimer = NULL; } // ----------------------------------------------------------------------------- @@ -192,13 +189,7 @@ { __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::OfferKeyEventL" ) // Pass the key event to list box - if ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow ) - { - iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight ); - DrawNow(); - iTimer->StartTimer(); - } return iItemList->OfferKeyEventL( aKeyEvent, aType ); } @@ -215,7 +206,6 @@ iItemList->SetFocus( IsFocused(), aDrawNow ); } - iTimer->StopTimer(); CCoeControl::FocusChanged( aDrawNow ); @@ -267,8 +257,6 @@ void CSIPSettListSIPSrvSetContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent ) { __GSLOGSTRING("CSIPSettListSIPSrvSetContainer::HandlePointerEventL" ) - iItemList->ListBox()->View()->ItemDrawer()->ClearFlags( CTextListItemDrawer::EDisableHighlight ); - DrawNow(); CCoeControl::HandlePointerEventL( aPointerEvent ); } @@ -277,10 +265,7 @@ // Check if it is Pointer Event. // ----------------------------------------------------------------------------- // -TBool CSIPSettListSIPSrvSetContainer::IfPointerEvent() - { - return !( iTimer->IsStarted() ); - } + //Third // End of File diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp --- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -20,7 +20,7 @@ // INCLUDE FILES #include #include -#include +#include #include #include #include //GUI Resource @@ -217,7 +217,7 @@ if( aResourceId == R_GS_SIP_SERVER_SETTING_VIEW_MENU ) { // iView might be NULL - if( iView && iView->IfPointerEvent() ) + if( iView ) { aMenuPane->SetItemDimmed( EGSCmdAppChange, ETrue ); } diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp Sun Mar 14 13:11:16 2010 +0000 @@ -30,7 +30,6 @@ SOURCEPATH ../src SOURCE ut_sipsettingsplugindllmain.cpp SOURCE ut_gssipprofileutil.cpp -SOURCE ut_gssiptimer.cpp SOURCE ut_sipsettlistsipsrvsetview.cpp SOURCE ut_sipsettListsipprofsetview.cpp SOURCE ut_sipsettingscontainer.cpp @@ -51,7 +50,6 @@ // Tested classes SOURCEPATH ../../../src SOURCE gssipprofileutil.cpp -SOURCE gssiptimer.cpp SOURCE sipsettlistsipsrvsetview.cpp SOURCE sipsettlistsipregsetview.cpp SOURCE gssipmodel.cpp diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_gssiptimer.h --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_gssiptimer.h Mon Mar 08 21:43:52 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ - -/* -* Copyright (c) 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: -* -*/ - - -#ifndef __UT_GSSIPTIMER_H__ -#define __UT_GSSIPTIMER_H__ - - -// EXTERNAL INCLUDES -#include -#include - -#include "gssiptimer.h" - -// FORWARD DECLARATIONS -class CGSSIPTimer; - - -// CLASS DEFINITION -/** - * Tester class for UT_GSSIPTimer. - * - */ -class UT_GSSIPTimer : public CEUnitTestSuiteClass - { - public: // Constructors and destructors - - /** - * Two phase construction - */ - static UT_GSSIPTimer* NewL(); - static UT_GSSIPTimer* NewLC(); - - /** - * Destructor - */ - ~UT_GSSIPTimer(); - - private: // Constructors and destructors - - UT_GSSIPTimer(); - void ConstructL(); - - private: // Test case setup and teardown - - void SetupL(); - - void Teardown(); - - private: // Test methods - void UT_GSSIPTimer_Beat(); - void UT_GSSIPTimer_Synchronize(); - void UT_GSSIPTimer_StartTimer(); - void UT_GSSIPTimer_StopTimer(); - void UT_GSSIPTimer_IsStarted(); - - private: // Data - EUNIT_DECLARE_TEST_TABLE; - CGSSIPTimer* iTimer; - CCoeControl* iCoeControl; - CTextListItemDrawer* iItemDraw; - - }; - -#endif // __UT_GSSIPTIMER_H__ - -// End of file diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h Sun Mar 14 13:11:16 2010 +0000 @@ -64,16 +64,9 @@ private: // Test methods void UT_CSIPSettingsContainer_OfferKeyEventLL(); void UT_CSIPSettingsContainer_FocusChangedL(); - void UT_CSIPSettingsContainer_HandleLongTapEventLL(); void UT_CSIPSettingsContainer_ProcessCommandLL(); - void UT_CSIPSettingsContainer_HandlePointerEventLL(); - void UT_CSIPSettingsContainer_IfPointerEventL(); void UT_CSIPSettingsContainer_SetEmphasisL(); - void UT_CSIPSettingsContainer_LongPressStatusL(); - void UT_CSIPSettingsContainer_SetLongPressL(); - void UT_CSIPSettingsContainer_StylusPopupMenuL(); - void UT_CSIPSettingsContainer_SetStylusPopupMenuL(); - void UT_CSIPSettingsContainer_PenEventLocationL(); + private: // Data diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h Sun Mar 14 13:11:16 2010 +0000 @@ -74,8 +74,6 @@ void TestOfferKeyEventL(); void TestHandleResourceChange(); void TestGetHelpContext(); - void TestHandlePointerEventL(); - void TestIfPointerEvent(); void TestFocusChanged(); private: // Data diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -117,8 +117,7 @@ // ----------------------------------------------------------------------------- // CSIPManagedProfile::CSIPManagedProfile(CSIPManagedProfileRegistry* aRegistry) - : CSIPProfile( aRegistry ), - iProfileReg( aRegistry ) + : CSIPProfile( aRegistry ) { } @@ -306,8 +305,6 @@ //const CSIPManagedProfile* temp = this; //return new (ELeave) CSIPManagedProfile(*this); //return this; - CSIPManagedProfile* rValue = - CSIPManagedProfile::NewLC( iProfileReg ); + return NULL; - return rValue; } diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -150,7 +150,6 @@ settingsData.iSNAPIndex = KDefaultSNAP; settingsData.iAPIndex = KAccessPointIdValue; settingsData.iCompression = KSigCompValue; - settingsData.iRegistrationMode = EGSAlwaysOnHome; settingsData.iSecurity = KSecurityNegotiationValue; settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue; settingsData.iServiceProfile.iSIPProfileClass = @@ -182,7 +181,6 @@ settingsData.iSNAPIndex = KSnapIdValue; settingsData.iAPIndex = KAccessPointIdValue + 1; settingsData.iCompression = KSigCompValue; - settingsData.iRegistrationMode = EGSAlwaysOnHome; settingsData.iSecurity = KSecurityNegotiationValue; settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue; settingsData.iServiceProfile.iSIPProfileClass = @@ -212,7 +210,6 @@ settingsData.iSNAPIndex = KDefaultSNAP; settingsData.iAPIndex = KAccessPointIdValue + 1; settingsData.iCompression = KSigCompValue; - settingsData.iRegistrationMode = EGSAlwaysOnHome; settingsData.iSecurity = KSecurityNegotiationValue; settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue; settingsData.iServiceProfile.iSIPProfileClass = TSIPProfileTypeInfo::EInternet; @@ -241,7 +238,6 @@ settingsData.iSNAPIndex = KSnapIdValue + 1; settingsData.iAPIndex = KAccessPointIdValue + 1; settingsData.iCompression = KSigCompValue; - settingsData.iRegistrationMode = EGSAlwaysOnHome; settingsData.iSecurity = KSecurityNegotiationValue; settingsData.iServiceProfile.iSIPProfileName = KProviderNameValue; settingsData.iServiceProfile.iSIPProfileClass = TSIPProfileTypeInfo::EInternet; diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssiptimer.cpp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssiptimer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,249 +0,0 @@ -/* -* Copyright (c) 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: -* -*/ - - -// INTERNAL INCLUDES - -#include "ut_gssiptimer.h" - -// SYSTEM INCLUDES -#include - - - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -UT_GSSIPTimer* UT_GSSIPTimer::NewL() - { - UT_GSSIPTimer* self = UT_GSSIPTimer::NewLC(); - CleanupStack::Pop( self ); - return self; - } - - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -UT_GSSIPTimer* UT_GSSIPTimer::NewLC() - { - UT_GSSIPTimer* self = new( ELeave ) UT_GSSIPTimer(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -UT_GSSIPTimer::~UT_GSSIPTimer() - { - // NOP - } - - -// ----------------------------------------------------------------------------- -// Default constructor -// ----------------------------------------------------------------------------- -// -UT_GSSIPTimer::UT_GSSIPTimer() - { - // NOP - } - - -// ----------------------------------------------------------------------------- -// Second phase construct -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::ConstructL() - { - // The ConstructL from the base class CEUnitTestSuiteClass must be called. - // It generates the test case table. - CEUnitTestSuiteClass::ConstructL(); - } - - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::SetupL() - { - CCoeControl* coeControl = new ( ELeave ) CCoeControl; - CTextListItemDrawer* itemDraw = new ( ELeave ) CTextListItemDrawer; - iTimer = CGSSIPTimer::NewL( *coeControl, *itemDraw ); - } - - -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::Teardown() - { - delete iItemDraw; - iItemDraw = NULL; - - delete iCoeControl; - iCoeControl = NULL; - - delete iTimer; - iTimer = NULL; - } - - - -// TEST CASES - -// ----------------------------------------------------------------------------- -// UT_GSSIPTimer_Beat() -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::UT_GSSIPTimer_Beat() - { - const TInt KTimerPeriod = 6; - - iTimer->iIfStart = EFalse; - iTimer->iTotal = KTimerPeriod - 1; - iTimer->Beat(); - EUNIT_ASSERT_EQUALS( iTimer->iTotal, KTimerPeriod ); - EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse ); - - iTimer->iIfStart = ETrue; - iTimer->iTotal = KTimerPeriod - 1; - iTimer->Beat(); - EUNIT_ASSERT_EQUALS( iTimer->iTotal, 0 ); - EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse ); - - iTimer->Beat(); - EUNIT_ASSERT_EQUALS( iTimer->iTotal, 1 ); - } - - -// ----------------------------------------------------------------------------- -// UT_GSSIPTimer_Synchronize() -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::UT_GSSIPTimer_Synchronize() - { - iTimer->Synchronize(); - EUNIT_ASSERT( ETrue ); - } - - -// ----------------------------------------------------------------------------- -// UT_GSSIPTimer_StartTimer() -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::UT_GSSIPTimer_StartTimer() - { - iTimer->iTotal = 2; - iTimer->iIfStart = EFalse; - iTimer->StartTimer(); - EUNIT_ASSERT_EQUALS( iTimer->iIfStart, ETrue ); - EUNIT_ASSERT_EQUALS( iTimer->iTotal, 0 ) - - iTimer->iTotal = 2; - iTimer->iIfStart = ETrue; - iTimer->StartTimer(); - EUNIT_ASSERT_EQUALS( iTimer->iIfStart, ETrue ); - EUNIT_ASSERT_EQUALS( iTimer->iTotal, 0 ) - } - - -// ----------------------------------------------------------------------------- -// UT_GSSIPTimer_StopTimer() -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::UT_GSSIPTimer_StopTimer() - { - iTimer->iIfStart = EFalse; - iTimer->StopTimer(); - EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse ); - - iTimer->iIfStart = ETrue; - iTimer->StopTimer(); - EUNIT_ASSERT_EQUALS( iTimer->iIfStart, EFalse ); - } - - -// ----------------------------------------------------------------------------- -// UT_GSSIPTimer_IsStarted() -// ----------------------------------------------------------------------------- -// -void UT_GSSIPTimer::UT_GSSIPTimer_IsStarted() - { - iTimer->iIfStart = EFalse; - EUNIT_ASSERT_EQUALS( iTimer->IsStarted(), EFalse ); - - iTimer->iIfStart = ETrue; - EUNIT_ASSERT_EQUALS( iTimer->IsStarted(), ETrue ); - } - - -// TEST TABLE - -EUNIT_BEGIN_TEST_TABLE( - UT_GSSIPTimer, - "UT_GSSIPTimer", - "UNIT" ) - -EUNIT_TEST( - "Beat - test ", - "UT_GSSIPTimer", - "Beat", - "FUNCTIONALITY", - SetupL, UT_GSSIPTimer_Beat, Teardown) - -EUNIT_TEST( - "Synchronize - test ", - "UT_GSSIPTimer", - "Synchronize", - "FUNCTIONALITY", - SetupL, UT_GSSIPTimer_Synchronize, Teardown) - -EUNIT_TEST( - "StartTimer - test ", - "UT_GSSIPTimer", - "StartTimer", - "FUNCTIONALITY", - SetupL, UT_GSSIPTimer_StartTimer, Teardown) - -EUNIT_TEST( - "StopTimer - test ", - "UT_GSSIPTimer", - "StopTimer", - "FUNCTIONALITY", - SetupL, UT_GSSIPTimer_StopTimer, Teardown) - -EUNIT_TEST( - "IsStarted - test ", - "UT_GSSIPTimer", - "IsStarted", - "FUNCTIONALITY", - SetupL, UT_GSSIPTimer_IsStarted, Teardown) - -EUNIT_END_TEST_TABLE - -// END OF FILE - - diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -157,15 +157,6 @@ } // ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_HandleLongTapEventLL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_HandleLongTapEventLL() - { - //Yes - } - -// ----------------------------------------------------------------------------- // UT_CSIPSettingsContainer_ProcessCommandLL() // ----------------------------------------------------------------------------- // @@ -190,24 +181,6 @@ } // ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_HandlePointerEventLL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_HandlePointerEventLL() - { - //Yes - } - -// ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_IfPointerEventL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_IfPointerEventL() - { - //Yes - } - -// ----------------------------------------------------------------------------- // UT_CSIPSettingsContainer_SetEmphasisL() // ----------------------------------------------------------------------------- // @@ -216,86 +189,6 @@ iSipSettingsContainer->SetEmphasis(NULL,NULL); } -// ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_LongPressStatusL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_LongPressStatusL() - { - TBool result = EFalse; - - iSipSettingsContainer->iLongPress = ETrue; - result = iSipSettingsContainer->LongPressStatus(); - EUNIT_ASSERT_EQUALS( result, ETrue ); - - iSipSettingsContainer->iLongPress = EFalse; - result = iSipSettingsContainer->LongPressStatus(); - EUNIT_ASSERT_EQUALS( result, EFalse ); - } - -// ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_SetLongPress() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_SetLongPressL() - { - iSipSettingsContainer->SetLongPress(ETrue); - EUNIT_ASSERT_EQUALS( iSipSettingsContainer->iLongPress, ETrue ); - - iSipSettingsContainer->SetLongPress(EFalse); - EUNIT_ASSERT_EQUALS( iSipSettingsContainer->iLongPress, EFalse ); - } - -// ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_StylusPopupMenuL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_StylusPopupMenuL() - { - CAknStylusPopUpMenu *result = NULL; - result = iSipSettingsContainer->StylusPopupMenu(); - } - -// ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_SetStylusPopupMenuL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_SetStylusPopupMenuL() - { - CAknStylusPopUpMenu *styluspopupmenu = NULL; - styluspopupmenu = iSipSettingsContainer->iStylusPopupMenu; - - iSipSettingsContainer->SetStylusPopupMenu(NULL); - EUNIT_ASSERT(iSipSettingsContainer->iStylusPopupMenu == NULL); - - iSipSettingsContainer->iStylusPopupMenu = styluspopupmenu; - - } - -// ----------------------------------------------------------------------------- -// UT_CSIPSettingsContainer_PenEventLocationL() -// ----------------------------------------------------------------------------- -// -void UT_CSIPSettingsContainer::UT_CSIPSettingsContainer_PenEventLocationL() - { - TPoint oldpoint; - - TPoint point; - point.iX = 10; - point.iY = 10; - - TPoint pointresult; - - oldpoint = iSipSettingsContainer->iPoint; - iSipSettingsContainer->iPoint = point; - pointresult = iSipSettingsContainer->PenEventLocation(); - EUNIT_ASSERT_EQUALS( pointresult.iX, 10 ); - EUNIT_ASSERT_EQUALS( pointresult.iY, 10 ); - - iSipSettingsContainer->iPoint = oldpoint; - } - - // TEST TABLE EUNIT_BEGIN_TEST_TABLE( @@ -318,13 +211,6 @@ SetupL, UT_CSIPSettingsContainer_FocusChangedL, Teardown) EUNIT_TEST( - "HandleLongTapEventL - test ", - "CSIPSettingsContainer", - "HandleLongTapEventL", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_HandleLongTapEventLL, Teardown) - -EUNIT_TEST( "ProcessCommandL - test ", "CSIPSettingsContainer", "ProcessCommandL", @@ -332,61 +218,12 @@ SetupL, UT_CSIPSettingsContainer_ProcessCommandLL, Teardown) EUNIT_TEST( - "HandlePointerEventL - test ", - "CSIPSettingsContainer", - "HandlePointerEventL", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_HandlePointerEventLL, Teardown) - -EUNIT_TEST( - "IfPointerEvent - test ", - "CSIPSettingsContainer", - "IfPointerEvent", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_IfPointerEventL, Teardown) - -EUNIT_TEST( "SetEmphasis - test ", "CSIPSettingsContainer", "SetEmphasis", "FUNCTIONALITY", SetupL, UT_CSIPSettingsContainer_SetEmphasisL, Teardown) -EUNIT_TEST( - "LongPressStatus - test ", - "CSIPSettingsContainer", - "LongPressStatus", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_LongPressStatusL, Teardown) - -EUNIT_TEST( - "SetLongPressL - test ", - "CSIPSettingsContainer", - "SetLongPressL", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_SetLongPressL, Teardown) -//yes -EUNIT_TEST( - "StylusPopupMenuL - test ", - "CSIPSettingsContainer", - "StylusPopupMenuL", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_StylusPopupMenuL, Teardown) - -EUNIT_TEST( - "SetStylusPopupMenuL - test ", - "CSIPSettingsContainer", - "SetStylusPopupMenuL", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_SetStylusPopupMenuL, Teardown) - -EUNIT_TEST( - "PenEventLocationL - test ", - "CSIPSettingsContainer", - "PenEventLocationL", - "FUNCTIONALITY", - SetupL, UT_CSIPSettingsContainer_PenEventLocationL, Teardown) - EUNIT_END_TEST_TABLE // END OF FILE diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -19,7 +19,6 @@ // USER INCLUDES #include "ut_gssipprofileutil.h" #include "ut_sipsettingscontainer.h" -#include "ut_gssiptimer.h" #include "ut_sipsettlistsipprofsetcontainer.h" #include "ut_sipsettlistsipsrvsetview.h" #include "ut_sipSettlistsipprofsetview.h" @@ -45,9 +44,6 @@ rootSuite->AddL( UT_SIPSettListSIPProfSetContainer::NewLC() ); CleanupStack::Pop(); - rootSuite->AddL( UT_GSSIPTimer::NewLC() ); - CleanupStack::Pop(); - rootSuite->AddL( UT_SIPSettListSIPRegSetView::NewLC() ); CleanupStack::Pop(); diff -r f5380f579f8b -r 27d173b4aadf sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp --- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -31,7 +31,6 @@ #include "SIPSettListSIPProfSetModel.h" #include "SIPSettListSIPProfSetView.h" #include "gssipmodel.h" -#include "gssiptimer.h" // ----------------------------------------------------------------------------- // @@ -231,30 +230,6 @@ } -// ----------------------------------------------------------------------------- -// TestHandlePointerEventL() -// ----------------------------------------------------------------------------- -// -void UT_SIPSettListSIPProfSetContainer::TestHandlePointerEventL() - { -// TPointerEvent event; -// event.iType = TPointerEvent::EButton1Down; -// iSipProfContainer->HandlePointerEventL( event ); - } - -// ----------------------------------------------------------------------------- -// TestIfPointerEvent() -// ----------------------------------------------------------------------------- -// -void UT_SIPSettListSIPProfSetContainer::TestIfPointerEvent() - { -// iSipProfContainer->iTimer->iIfStart = ETrue; -// EUNIT_ASSERT_EQUALS( iSipProfContainer->IfPointerEvent(), EFalse ); -// -// iSipProfContainer->iTimer->iIfStart = EFalse; -// EUNIT_ASSERT_EQUALS( iSipProfContainer->IfPointerEvent(), ETrue ); - } - // TEST TABLE @@ -327,20 +302,6 @@ SetupL, TestGetHelpContext, Teardown) EUNIT_TEST( - "HandlePointerEventL - test ", - "SIPSettListSIPProfSetContainer", - "HandlePointerEventL", - "FUNCTIONALITY", - SetupL, TestHandlePointerEventL, Teardown) - -EUNIT_TEST( - "IfPointerEvent - test ", - "SIPSettListSIPProfSetContainer", - "IfPointerEvent", - "FUNCTIONALITY", - SetupL, TestIfPointerEvent, Teardown) - -EUNIT_TEST( "FocusChanged - test ", "SIPSettListSIPProfSetContainer", "FocusChanged", diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/group/bld.inf --- a/sipproviderplugins/sipprovider/group/bld.inf Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/group/bld.inf Sun Mar 14 13:11:16 2010 +0000 @@ -20,10 +20,4 @@ PRJ_MMPFILES #include "../sipconnectionplugins/group/bld.inf" #include "../sipdummyprt/group/bld.inf" -#include "../sipstatemachine/group/bld.inf" - - -PRJ_TESTMMPFILES -#include "../Test/ResolverPlugin/Group/bld.inf" -#include "../Test/tsip/bld.inf" -#include "../Test/profilegenerator/bld.inf" +#include "../sipstatemachine/group/bld.inf" \ No newline at end of file diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h --- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h Sun Mar 14 13:11:16 2010 +0000 @@ -29,7 +29,7 @@ #include #include "TransitionEngineMgr.h" -class TSipMcprProvisionInfo : public CBase, public Meta::SMetaData +class TSipMcprProvisionInfo : public Meta::SMetaData /** @internalTechnology */ @@ -56,7 +56,7 @@ }; -class TSipCprProvisionInfo : public CBase, public Meta::SMetaData +class TSipCprProvisionInfo : public Meta::SMetaData /** @internalTechnology */ diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp --- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -152,11 +152,11 @@ CSipConnectionProvider::~CSipConnectionProvider() { __CFLOG_VAR((KSipCprTag, KSipCprSubTag, _L8("CSipConnectionProvider:\t ~CSipConnectionProvider()"))); - LOG_NODE_DESTROY(KSipCprTag, CSipConnectionProvider); - if(iTransitionEngine) - iTransitionEngineMgr->Detach(iTransitionEngine); - //delete iProvisionInfo; - iProvisionInfo = NULL; + LOG_NODE_DESTROY(KSipCprTag, CSipConnectionProvider); + if(iTransitionEngine != NULL && iTransitionEngineMgr != NULL) + iTransitionEngineMgr->Detach(iTransitionEngine); + //delete iProvisionInfo; + iProvisionInfo = NULL; } CSipConnectionProvider::CSipConnectionProvider(ESock::CConnectionProviderFactoryBase& aFactory) diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp --- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -148,19 +148,19 @@ void CSipMetaConnectionProvider::SetConfigL() { - TSipMcprProvisionInfo* iProvisionInfo = new (ELeave) TSipMcprProvisionInfo(); - iProvisionInfo->iAppUid = iAppUid; - iProvisionInfo->iProfileId = iProfileId; - iProvisionInfo->iTransitionEngineMgr = iTransitionEngineMgr; + TSipMcprProvisionInfo* ProvisionInfo = new (ELeave) TSipMcprProvisionInfo(); + ProvisionInfo->iAppUid = iAppUid; + ProvisionInfo->iProfileId = iProfileId; + ProvisionInfo->iTransitionEngineMgr = iTransitionEngineMgr; // Append the above three to the accesspointconfig and send to CPR in ProvisionConfig message - + RMetaExtensionContainer mec; mec.Open(AccessPointConfig()); CleanupClosePushL(mec); - CleanupStack::PushL(iProvisionInfo); - mec.AppendExtensionL(iProvisionInfo); - CleanupStack::Pop(iProvisionInfo); + CleanupStack::PushL(ProvisionInfo); + mec.AppendExtensionL(ProvisionInfo); + CleanupStack::Pop(ProvisionInfo); AccessPointConfig().Close(); AccessPointConfig().Open(mec); CleanupStack::PopAndDestroy(&mec); diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp --- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -127,6 +127,7 @@ CSipSubConnectionProvider::~CSipSubConnectionProvider() { LOG_NODE_DESTROY(KSipSCprTag, CSipSubConnectionProvider); + if(iSipSm != NULL) iSipSm->DeleteWhenReady(); } @@ -348,8 +349,13 @@ return; } sipevent->SetResponse(aSipCode); - NotifyClientsL(*sipevent); - } + TRAP(error, NotifyClientsL(*sipevent)); + if (error != KErrNone) + { + __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("NotifyClientsL left with the error: [%d]"), error)); + return; + } + } } /** @@ -417,7 +423,12 @@ __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("CSubConSIPAuthenticationRequiredEvent::SetRealmL() left with error [%d]"), error)); return; } - NotifyClientsL(*event); + TRAP(error, NotifyClientsL(*event)); + if (error != KErrNone) + { + __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("NotifyClientsL left with the error: [%d]"), error)); + return; + } #endif } @@ -430,11 +441,21 @@ __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("CSipSubConnectionProvider::ReceiveNotification"))); CSubConSIPNotificationEvent* event = CSubConSIPNotificationEvent::NewL(); - event->SetNotificationL(aNotification); + TRAPD(error, event->SetNotificationL(aNotification)); + if (error != KErrNone) + { + __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("event->SetNotificationL left with the error: [%d]"), error)); + return; + } TInt32 gId = event->GroupId(); - NotifyClientsL(*event); + TRAP(error, NotifyClientsL(*event)); + if (error != KErrNone) + { + __CFLOG_VAR((KSipSCprTag, KSipSCprSubTag, _L8("NotifyClientsL left with the error: [%d]"), error)); + return; + } } /** diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h --- a/sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h Sun Mar 14 13:11:16 2010 +0000 @@ -511,6 +511,8 @@ @param aRealm - Realm of the issuer of the challenge */ TBool FindAndSetCredentials(const TDesC8& aRealm); + + void IncomingRequestHandlerL(CSIPServerTransaction* aTransaction); private: // For Logging diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp --- a/sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -45,51 +45,44 @@ /** This Function will startup the state machine with a default state -*/ - { - // Tell the TE there's another StateMachine wishing to speak to it. - // Remek: Where do you remove it??? Cos i couldn't find !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - iTe->AddStateMachineL(this); - - // Initialize booleans - iClientStimulus = EFalse; - iServerStimulus = EFalse; - iServerErrorStimulus = EFalse; - iCallTerminateCallback = ETrue; - iDeleteMeNow = EFalse; - isInviteSM = EFalse; - isSubscribeSM = EFalse; - - iCallTerminateCode.iErrorCode = KErrNone; - iCallTerminateCode.iSipCode = KErrNone; - - // Construct States - iStateIdle = CStateIdle::NewL(this); - CleanupStack::PushL (iStateIdle); + */ + { + // Tell the TE there's another StateMachine wishing to speak to it. + // Remek: Where do you remove it??? Cos i couldn't find !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + iTe->AddStateMachineL(this); + + // Initialize booleans + iClientStimulus = EFalse; + iServerStimulus = EFalse; + iServerErrorStimulus = EFalse; + iCallTerminateCallback = ETrue; + iDeleteMeNow = EFalse; + isInviteSM = EFalse; + isSubscribeSM = EFalse; + + iCallTerminateCode.iErrorCode = KErrNone; + iCallTerminateCode.iSipCode = KErrNone; + + // Construct States + iStateIdle = CStateIdle::NewL(this); + + iCommandCntx.iCommandState = iStateIdle; + iCommandCntx.iClientTx = NULL; + iCommandCntx.iCancelClientTx = NULL; + iCommandCntx.iServerTx = NULL; + iCommandCntx.iRegBinding = NULL; + iCommandCntx.iDialogAssoc = NULL; + + iStateSessionInit = CStateSessionInitiation::NewL(this); + iStateSessionEstablished = CStateSessionEstablished::NewL(this); + iStateSessionTerminate = CStateSessionTerminate::NewL(this); + + iActiveState = iStateIdle; - iCommandCntx.iCommandState = iStateIdle; - iCommandCntx.iClientTx = NULL; - iCommandCntx.iCancelClientTx = NULL; - iCommandCntx.iServerTx = NULL; - iCommandCntx.iRegBinding = NULL; - iCommandCntx.iDialogAssoc = NULL; - - - iStateSessionInit = CStateSessionInitiation::NewL(this); - CleanupStack::PushL(iStateSessionInit); - iStateSessionEstablished = CStateSessionEstablished::NewL(this); - CleanupStack::PushL(iStateSessionEstablished); - iStateSessionTerminate = CStateSessionTerminate::NewL(this); - CleanupStack::PushL(iStateSessionTerminate); - - iActiveState = iStateIdle; - - this->Start(&iStatus, NULL) ; - // Maithra's fix : For stray signal - MakeActive(); - // Pop From Cleanup Stack - CleanupStack::Pop(4, iStateIdle); - } + this->Start(&iStatus, NULL); + // Maithra's fix : For stray signal + MakeActive(); + } CSipStateMachine::CSipStateMachine(CSIPTransitionEngine * aTe, MSIPStateMachineClient* aClient,TBool aSMDirection) :CActive(EPriorityStandard), @@ -801,9 +794,8 @@ iCommandCntx.iRegBinding = CSIPRegistrationBinding::NewL( *sipConn, to, contact, refresh,0, remoteUri, from); - CleanupStack::PushL(iCommandCntx.iRegBinding); iCommandCntx.iClientTx = iCommandCntx.iRegBinding->RegisterL(); - CleanupStack::Pop(6, refresh); + CleanupStack::Pop(5, refresh); } void CSipStateMachine::SendUnRegisterMessageL() diff -r f5380f579f8b -r 27d173b4aadf sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp --- a/sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp Mon Mar 08 21:43:52 2010 +0000 +++ b/sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp Sun Mar 14 13:11:16 2010 +0000 @@ -52,10 +52,8 @@ __FLOG_1(_L("CSIPTransitionEngine %08x:\tInstantiating CSIPProfileRegistry - may leave"), this); iProfileRegistry = CSIPProfileRegistry::NewL(iSIP, *this); - CleanupStack::PushL(iProfileRegistry); __FLOG_1(_L("CSIPTransitionEngine %08x:\tInstantiating CSIPHttpDigest - may leave"), this); iDigest = CSIPHttpDigest::NewL(iSIP, *this ); - CleanupStack::PushL(iDigest); __FLOG_1(_L("CSIPTransitionEngine %08x:\tInstantiating CSIPConnection - may leave"), this); iConnection = CSIPConnection::NewL(iSIP, iIapId, *this ); @@ -66,7 +64,6 @@ } __FLOG_1(_L("CSIPTransitionEngine %08x:\tConstructL successful"), this); - CleanupStack::Pop(2); } CSIPTransitionEngine::CSIPTransitionEngine(CSIP& aSip, TInt aIapId) @@ -148,51 +145,11 @@ */ { __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>"),this); - CleanupStack::PushL(aTransaction); //we're take over the ownership. - - RStringF method = aTransaction->RequestElements()->Method(); - if(method == SIPStrings::StringF(SipStrConsts::EInvite)) + TRAPD(err,IncomingRequestHandlerL(aTransaction)); + if(err != KErrNone) { - __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>"),this); - TSipMsgBundle msgBundle; - // Create a dialog Association and set server transaction - CSIPInviteDialogAssoc* dialogassoc = CSIPInviteDialogAssoc::NewL(*aTransaction); - CleanupStack::PushL(dialogassoc); - msgBundle.iRequest = TSipHLConsts::ERequestInvite; - msgBundle.iDialog = dialogassoc; - msgBundle.iServTransaction = aTransaction; - // Look For the state machine which is responsible for handling - // this particular request - CSipStateMachine* smPtr = FindSMForIncomingCall(); - if(smPtr) - { - __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>"),this); - smPtr->IncomingRequestOutsideDialog(msgBundle); - CleanupStack::Pop(dialogassoc); - CleanupStack::Pop(aTransaction); - } - else - {// return NotFound - __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>"),this); - __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>")); - CSIPResponseElements *ResElem = CSIPResponseElements::NewLC( - 404, SIPStrings::StringF(SipStrConsts::EPhraseNotFound)); - aTransaction->SendResponseL(ResElem); - CleanupStack::Pop(ResElem); - CleanupStack::PopAndDestroy(aTransaction); - CleanupStack::PopAndDestroy(dialogassoc); - } + return; } - else - { // bad request , not supported here - __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>"),this); - __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <>")); - CSIPResponseElements *ResElem = CSIPResponseElements::NewLC( - 400, SIPStrings::StringF(SipStrConsts::EPhraseBadRequest)); - aTransaction->SendResponseL(ResElem); - CleanupStack::Pop(ResElem); - CleanupStack::PopAndDestroy(aTransaction); - } } void CSIPTransitionEngine::IncomingRequest( CSIPServerTransaction* aTransaction, CSIPDialog& aDialog ) @@ -1090,3 +1047,53 @@ } return EFalse; } + +void CSIPTransitionEngine::IncomingRequestHandlerL(CSIPServerTransaction* aTransaction) +{ + __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>"),this); + CleanupStack::PushL(aTransaction); //we're take over the ownership. + + RStringF method = aTransaction->RequestElements()->Method(); + if(method == SIPStrings::StringF(SipStrConsts::EInvite)) + { + __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>"),this); + TSipMsgBundle msgBundle; + // Create a dialog Association and set server transaction + CSIPInviteDialogAssoc* dialogassoc = CSIPInviteDialogAssoc::NewL(*aTransaction); + CleanupStack::PushL(dialogassoc); + msgBundle.iRequest = TSipHLConsts::ERequestInvite; + msgBundle.iDialog = dialogassoc; + msgBundle.iServTransaction = aTransaction; + // Look For the state machine which is responsible for handling + // this particular request + CSipStateMachine* smPtr = FindSMForIncomingCall(); + if(smPtr) + { + __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>"),this); + smPtr->IncomingRequestOutsideDialog(msgBundle); + CleanupStack::Pop(dialogassoc); + CleanupStack::Pop(aTransaction); + } + else + {// return NotFound + __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>"),this); + __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>")); + CSIPResponseElements *ResElem = CSIPResponseElements::NewLC( + 404, SIPStrings::StringF(SipStrConsts::EPhraseNotFound)); + aTransaction->SendResponseL(ResElem); + CleanupStack::Pop(ResElem); + CleanupStack::PopAndDestroy(aTransaction); + CleanupStack::PopAndDestroy(dialogassoc); + } + } + else + { // bad request , not supported here + __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>"),this); + __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <>")); + CSIPResponseElements *ResElem = CSIPResponseElements::NewLC( + 400, SIPStrings::StringF(SipStrConsts::EPhraseBadRequest)); + aTransaction->SendResponseL(ResElem); + CleanupStack::Pop(ResElem); + CleanupStack::PopAndDestroy(aTransaction); + } +}