--- a/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp Fri Feb 19 23:10:33 2010 +0200
@@ -86,6 +86,7 @@
LIBRARY netmeta.lib
LIBRARY centralrepository.lib
LIBRARY cmmanager.lib
+LIBRARY commsdat.lib
VENDORID 0x70000001
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationmonitor.h Fri Feb 19 23:10:33 2010 +0200
@@ -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 <etelmm.h>
+
+// 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Inc/sipphoneregistrationobserver.h Fri Feb 19 23:10:33 2010 +0200
@@ -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 <e32def.h>
+
+// 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/sipphoneregistrationmonitor.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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
+ }
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileServerCore.h Fri Feb 19 23:10:33 2010 +0200
@@ -676,6 +676,12 @@
*/
void AddProfilesInCacheL(RPointerArray<CSIPConcreteProfile>& 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;
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -49,6 +49,10 @@
#include <sipsystemstatemonitor.h>
#include <random.h>
+#include <CommsDatTypesV1_1.h>
+#include <MetaDatabase.h>
+#include <commsdattypeinfov1_1_internal.h>
+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;
+ }
+
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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();
}
}
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/sipprofilestatewaitforpermission.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -255,7 +255,6 @@
{
aItem.HandleProfileError(err, aItem.Profile());
}
- User::Leave(err);
}
}
--- a/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver.h Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h Tue Feb 02 01:03:15 2010 +0200
+++ b/realtimenetprots/sipfw/SIP/sipapi/api/siphttpdigestchallengeobserver2.h Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipadapter/inc/CWPSIPAdapter.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipadapter/inc/CWPSIPAdapter.h Fri Feb 19 23:10:33 2010 +0200
@@ -21,7 +21,7 @@
// INCLUDES
#include <CWPAdapter.h>
-#include <mwpcontextextension.h>
+#include <MWPContextExtension.h>
// FORWARD DECLARATIONS
class CWPCharacteristic;
--- a/sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipadapter/src/CWPSIPAdapter.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -19,11 +19,11 @@
// INCLUDE FILES
#include <e32base.h>
#include <CWPAdapter.h>
-#include <cwpcharacteristic.h>
-#include <cwpparameter.h>
+#include <CWPCharacteristic.h>
+#include <CWPParameter.h>
#include <wpsipadapter.rsg>
#include <utf.h> // Unicode conversion
-#include <wpadapterutil.h>
+#include <WPAdapterUtil.h>
#include <sipmanagedprofileregistry.h>
#include <sipmanagedprofile.h>
#include <mmf/common/mmfcontrollerpluginresolver.h>
--- a/sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/data/gssipsettingspluginrsc.rss Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/group/gssipsettingsplugin.mmp Fri Feb 19 23:10:33 2010 +0200
@@ -55,7 +55,6 @@
SOURCE SIPSettListSIPSrvTakeOverCBAKeyPress.cpp
SOURCE SIPSettIntegerSetPage.cpp
SOURCE SipSettIntegerEditItem.cpp
-SOURCE gssiptimer.cpp
USERINCLUDE ../inc
USERINCLUDE ../data
--- a/sipplugins/sippsipsettingsui/inc/gssiptimer.h Tue Feb 02 01:03:15 2010 +0200
+++ /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 <coecntrl.h>
-#include <eiklbi.h>
-#include <aknlists.h>
-
-/**
-* 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
--- a/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/inc/sipsettingscontainer.h Fri Feb 19 23:10:33 2010 +0200
@@ -28,7 +28,6 @@
#include <aknlongtapdetector.h>
#include <aknstyluspopupmenu.h>
#include <eikmobs.h>
-#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
--- a/sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/inc/sipsettingsmodel.h Fri Feb 19 23:10:33 2010 +0200
@@ -23,7 +23,7 @@
#include <e32base.h>
#include <bamdesca.h> // MDesCArray
-#include <aknutils.h> // KMaxColumnDataLength
+#include <AknUtils.h> // KMaxColumnDataLength
#include "tsipsettingsdata.h"
// FORWARD DECLARATIONS
--- a/sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/inc/sipsettlistsipprofsetcontainer.h Fri Feb 19 23:10:33 2010 +0200
@@ -26,7 +26,6 @@
#include <aknlongtapdetector.h>
#include <aknstyluspopupmenu.h>
#include <eikmobs.h>
-#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
*/
--- a/sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/inc/sipsettlistsipsrvsetcontainer.h Fri Feb 19 23:10:33 2010 +0200
@@ -25,7 +25,6 @@
#include <aknlongtapdetector.h>
#include <aknstyluspopupmenu.h>
#include <eikmobs.h>
-#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
--- a/sipplugins/sippsipsettingsui/src/gssipmodel.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/gssipmodel.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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" )
}
--- a/sipplugins/sippsipsettingsui/src/gssiptimer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ /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
--- a/sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipserversettingvalidator.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include <StringLoader.h>
#include <escapeutils.h>
-#include <aknutils.h>
+#include <AknUtils.h>
#include <sipstrings.h>
#include <sipaddress.h>
#include <gssipsettingspluginrsc.rsg> //GUI Resource
--- a/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipsettingscontainer.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -23,11 +23,11 @@
#include <gssipsettingspluginrsc.rsg>
#include <gssipsettingsplugin.mbg>
#include <AknIconArray.h>
-#include <aknsutils.h> //for loading icons
+#include <AknsUtils.h> //for loading icons
#include <akntitle.h>
#include <eikspane.h>
#include <aknnavi.h>
-#include <stringloader.h>
+#include <StringLoader.h>
#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
--- a/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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 &&
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetcontainer.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipprofsetview.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -24,7 +24,7 @@
#include <akntitle.h>
#include <hlplch.h>
#include <featmgr.h>
-#include <stringloader.h>
+#include <StringLoader.h>
#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 );
}
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetcontainer.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/src/sipsettlistsipsrvsetview.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <aknViewAppUi.h>
#include <akntitle.h>
-#include <stringloader.h>
+#include <StringLoader.h>
#include <hlplch.h>
#include <featmgr.h>
#include <gssipsettingspluginrsc.rsg> //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 );
}
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/group/ut_sipsettingsplugin.mmp Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_gssiptimer.h Tue Feb 02 01:03:15 2010 +0200
+++ /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 <ceunittestsuiteclass.h>
-#include <eunitmacros.h>
-
-#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
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettingscontainer.h Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/inc/ut_sipsettlistsipprofsetcontainer.h Fri Feb 19 23:10:33 2010 +0200
@@ -74,8 +74,6 @@
void TestOfferKeyEventL();
void TestHandleResourceChange();
void TestGetHelpContext();
- void TestHandlePointerEventL();
- void TestIfPointerEvent();
void TestFocusChanged();
private: // Data
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/sipmanagedprofilestub.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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;
}
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssipprofileutil.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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;
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_gssiptimer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ /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 <eunitmacros.h>
-
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-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
-
-
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingscontainer.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettingsplugindllmain.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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();
--- a/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipplugins/sippsipsettingsui/tsrc/UT_sipsettingsui/src/ut_sipsettlistsipprofsetcontainer.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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",
--- a/sipproviderplugins/sipprovider/group/bld.inf Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/group/bld.inf Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/inc/sipprovisioninfo.h Fri Feb 19 23:10:33 2010 +0200
@@ -29,7 +29,7 @@
#include <es_enum.h>
#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
*/
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipcpr.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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)
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipmcpr.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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);
--- a/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipconnectionplugins/src/sipscpr.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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;
+ }
}
/**
--- a/sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipstatemachine/inc/transitionengine.h Fri Feb 19 23:10:33 2010 +0200
@@ -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
--- a/sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipstatemachine/src/SipStateMachine.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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()
--- a/sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp Tue Feb 02 01:03:15 2010 +0200
+++ b/sipproviderplugins/sipprovider/sipstatemachine/src/transitionengine.cpp Fri Feb 19 23:10:33 2010 +0200
@@ -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() <<Recieved Outside of a Dialog>>"),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() <<Received Request Invite>>"),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() <<Found State Machine to Handle the Request>>"),this);
- smPtr->IncomingRequestOutsideDialog(msgBundle);
- CleanupStack::Pop(dialogassoc);
- CleanupStack::Pop(aTransaction);
- }
- else
- {// return NotFound
- __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<No State Machine found to Handle the Request>>"),this);
- __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<sending 404>>"));
- 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() <<Received Request other than Invite>>"),this);
- __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequest() <<sending 404>>"));
- 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() <<Recieved Outside of a Dialog>>"),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() <<Received Request Invite>>"),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() <<Found State Machine to Handle the Request>>"),this);
+ smPtr->IncomingRequestOutsideDialog(msgBundle);
+ CleanupStack::Pop(dialogassoc);
+ CleanupStack::Pop(aTransaction);
+ }
+ else
+ {// return NotFound
+ __FLOG_1(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<No State Machine found to Handle the Request>>"),this);
+ __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<sending 404>>"));
+ 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() <<Received Request other than Invite>>"),this);
+ __FLOG_0(_L("[TransitionEngine]: CSIPTransitionEngine[%x]::IncomingRequestL() <<sending 404>>"));
+ CSIPResponseElements *ResElem = CSIPResponseElements::NewLC(
+ 400, SIPStrings::StringF(SipStrConsts::EPhraseBadRequest));
+ aTransaction->SendResponseL(ResElem);
+ CleanupStack::Pop(ResElem);
+ CleanupStack::PopAndDestroy(aTransaction);
+ }
+}