1 /* |
1 /* |
2 * Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
27 #include <e32base.h> |
27 #include <e32base.h> |
28 #include <rconnmon.h> |
28 #include <rconnmon.h> |
29 #include <etel.h> // RTelServer |
29 #include <etel.h> // RTelServer |
30 #include <etelmm.h> // RMobilePhone |
30 #include <etelmm.h> // RMobilePhone |
31 #include <etelpckt.h> // RPacketService |
31 #include <etelpckt.h> // RPacketService |
32 #include <ConnectionUiUtilities.h> |
|
33 |
32 |
34 #include "mpmcommon.h" |
33 #include "mpmcommon.h" |
35 #include "rmpm.h" |
34 #include "rmpm.h" |
36 #include "mpmroamingwatcher.h" |
35 #include "mpmroamingwatcher.h" |
37 #include "mpmdatausagewatcher.h" |
36 #include "mpmdatausagewatcher.h" |
38 #include "mpmvpntogglewatcher.h" |
|
39 |
37 |
40 |
38 |
41 class CMPMCommsDatAccess; |
39 class CMPMCommsDatAccess; |
42 class CMpmCsIdWatcher; |
40 class CMpmCsIdWatcher; |
43 class CMpmDataUsageWatcher; |
41 class CMpmDataUsageWatcher; |
44 class CMpmVpnToggleWatcher; |
42 class CMpmOfflineWatcher; |
45 |
43 |
46 // CONSTANTS |
44 // CONSTANTS |
47 _LIT( KMPMPanicCategory, "Mobility Policy Manager Server" ); |
45 _LIT( KMPMPanicCategory, "Mobility Policy Manager Server" ); |
48 |
46 |
49 const TInt KPhoneRetryCount = 7; |
47 const TInt KPhoneRetryCount = 7; |
50 // 0.1 seconds |
48 // 0.1 seconds |
51 // |
49 // |
52 const TInt KPhoneRetryTimeout = 100000; |
50 const TInt KPhoneRetryTimeout = 100000; |
53 |
51 |
54 // The granularity with which roaming and starting dialogs will allocate memory chunks. |
52 const TUint32 KMaxOpenTransAttempts = 5; |
55 // If set to two there will be space for two instances before new memory will be allocated. |
53 const TUint32 KRetryAfter = 200000; |
|
54 |
|
55 // The granularity with which iDisconnectQueue will allocate memory chunks. |
|
56 // If set to two there will be space for two instances of CMPMDisconnectDlg |
|
57 // before new memory will be allocated. |
56 const TInt KGranularity = 2; |
58 const TInt KGranularity = 2; |
57 |
59 |
58 // Security policy definitions |
60 // Security policy definitions |
59 |
61 |
60 //Total number of ranges |
62 //Total number of ranges |
61 const TUint KMPMPolicyRangeCount = 2; |
63 const TUint KMPMPolicyRangeCount = 2; |
62 |
64 |
63 // roaming to connected wlan wait interval |
65 // roaming to connected wlan wait interval |
64 // in micro seconds (10 sec) |
66 // in micro seconds (10 sec) |
65 const TInt KRoamingToWlanUpdateInterval = 10000000; |
67 const TInt KRoamingToWlanUpdateInterval = 10000000; |
|
68 |
|
69 // roaming to connected hotspot wlan wait interval |
|
70 // in micro seconds (120 sec) |
|
71 const TInt KRoamingToHotspotWlanUpdateInterval = 120000000; |
66 |
72 |
67 //Definition of the ranges of IPC numbers |
73 //Definition of the ranges of IPC numbers |
68 const TInt KMPMPolicyRanges[KMPMPolicyRangeCount] = |
74 const TInt KMPMPolicyRanges[KMPMPolicyRangeCount] = |
69 { |
75 { |
70 0, // 0 -> 19 ; EMPMServerChooseIap, |
76 0, // 0 -> 19 ; EMPMServerChooseIap, |
186 |
192 |
187 // FORWARD DECLARATIONS |
193 // FORWARD DECLARATIONS |
188 class CMPMConnMonEvents; |
194 class CMPMConnMonEvents; |
189 class CMPMServerSession; |
195 class CMPMServerSession; |
190 class CMPMDtmWatcher; |
196 class CMPMDtmWatcher; |
|
197 class CMPMDisconnectDlg; |
191 class CMPMConfirmDlgRoaming; |
198 class CMPMConfirmDlgRoaming; |
192 class CMPMConfirmDlgStarting; |
199 class CMPMConfirmDlgStarting; |
193 class CMPMDefaultConnection; |
200 class CMPMDefaultConnection; |
|
201 class CMPMWlanQueryDialog; |
|
202 class CMPMDialog; |
194 class CMPMConnPermQueryTimer; |
203 class CMPMConnPermQueryTimer; |
195 |
204 |
196 // CLASS DECLARATION |
205 // CLASS DECLARATION |
197 /** |
206 /** |
198 * Class structure to associate Connection Id |
207 * Class structure to associate Connection Id |
351 */ |
359 */ |
352 void GetConnectionState( const TConnectionId aConnId, |
360 void GetConnectionState( const TConnectionId aConnId, |
353 TConnectionState& aState ); |
361 TConnectionState& aState ); |
354 |
362 |
355 /** |
363 /** |
356 * Checks if the connection is started for the Iap Id. |
364 * Checks if the connection is started for the Iap Id, |
|
365 * returning the state. |
357 * @since 3.2 |
366 * @since 3.2 |
358 * @param aIapId IAP Id of the connection |
367 * @param aIapId IAP Id of the connection |
359 * @param aConnId Connection Id |
368 * @param aConnId Connection Id |
360 */ |
369 * @return Connection State, EIdle if not found |
361 TBool CheckIfStarted( const TUint32 aIapId, |
370 */ |
|
371 TConnectionState CheckUsageOfIap( const TUint32 aIapId, |
362 const TConnectionId aConnId ); |
372 const TConnectionId aConnId ); |
363 |
373 |
364 /** |
374 /** |
365 * Checks if a connection is started with wlan iap. |
375 * Checks if any WLAN connection is started. |
366 * @since 3.2 |
376 * @since 3.2 |
367 * @param aCdbAccess |
377 * @param aCdbAccess |
|
378 * @return IAP ID of the started WLAN connection, zero if not found |
368 */ |
379 */ |
369 TUint32 IsWlanConnectionStartedL( const CMPMCommsDatAccess* aCdbAccess ); |
380 TUint32 IsWlanConnectionStartedL( const CMPMCommsDatAccess* aCdbAccess ); |
370 |
381 |
371 /** |
382 /** |
372 * Appending the whole IAP info about an active BM connection. |
383 * Appending the whole IAP info about an active BM connection. |
456 * @param aIapInfo Info about available IAPs |
468 * @param aIapInfo Info about available IAPs |
457 * @param aCaller Identifies the calling context |
469 * @param aCaller Identifies the calling context |
458 */ |
470 */ |
459 void NotifyBMPrefIapL( const TConnMonIapInfo& aIapInfo, |
471 void NotifyBMPrefIapL( const TConnMonIapInfo& aIapInfo, |
460 const TPrefIAPNotifCaller aCaller ); |
472 const TPrefIAPNotifCaller aCaller ); |
|
473 |
|
474 /** |
|
475 * Update Connection dialog of each session |
|
476 * @since 3.2 |
|
477 */ |
|
478 void UpdateSessionConnectionDlgL(); |
|
479 |
|
480 /** |
|
481 * Completes pending messages |
|
482 * @since 5.2 |
|
483 * @param aIapId IAP Id of the connection. |
|
484 * @param aError Message status |
|
485 * @param aErrorReturned Error value to be returned, NULL if no |
|
486 * value should be passed |
|
487 * @param aNeededAction Needed action to be returned, NULL if no |
|
488 * value should be passed |
|
489 */ |
|
490 void HandlePendingMsgs( TUint aIapId, |
|
491 TInt aError, |
|
492 TInt* aErrorReturned, |
|
493 TBMNeededAction* aNeededAction ); |
461 |
494 |
462 /** |
495 /** |
463 * Handling of blacklisting certain IAP and the presumed IAP for |
496 * Handling of blacklisting certain IAP and the presumed IAP for |
464 * the certain connection. |
497 * the certain connection. |
465 * @since 3.1 |
498 * @since 3.1 |
588 * @return ETrue if yes, otherwise EFalse. |
621 * @return ETrue if yes, otherwise EFalse. |
589 */ |
622 */ |
590 inline TBool IsWLANScanRequired() const; |
623 inline TBool IsWLANScanRequired() const; |
591 |
624 |
592 /** |
625 /** |
|
626 * Get the DisconnectQueue. |
|
627 * @since 3.2 |
|
628 * @return Pointer to the DisconnectQueue. |
|
629 */ |
|
630 inline CArrayPtrFlat<CMPMDisconnectDlg>* DisconnectQueue(); |
|
631 |
|
632 /** |
593 * Get the RoamingQueue. |
633 * Get the RoamingQueue. |
594 * @since 3.2 |
634 * @since 3.2 |
595 * @return Pointer to the RoamingQueue. |
635 * @return Pointer to the RoamingQueue. |
596 */ |
636 */ |
597 inline CArrayPtrFlat<CMPMConfirmDlgRoaming>* RoamingQueue(); |
637 inline CArrayPtrFlat<CMPMConfirmDlgRoaming>* RoamingQueue(); |
600 * Get the StartingQueue. |
640 * Get the StartingQueue. |
601 * @since 3.2 |
641 * @since 3.2 |
602 * @return Pointer to the StartingQueue. |
642 * @return Pointer to the StartingQueue. |
603 */ |
643 */ |
604 inline CArrayPtrFlat<CMPMConfirmDlgStarting>* StartingQueue(); |
644 inline CArrayPtrFlat<CMPMConfirmDlgStarting>* StartingQueue(); |
|
645 |
|
646 /** |
|
647 * Appends aDlg to the iWlanQueryQueue. |
|
648 * @since 3.2 |
|
649 * @param aDlg Pointer to the CMPMConfirmDlgWlanQuery object. |
|
650 */ |
|
651 void AppendWlanQueryQueueL( CMPMWlanQueryDialog* aDlg ); |
|
652 |
|
653 /** |
|
654 * Removes the dialog from the iWlanQueryQueue. |
|
655 * @since 3.2 |
|
656 * @param aDlg dialog to be removed. |
|
657 */ |
|
658 inline void RemoveFromWlanQueryQueue( CMPMWlanQueryDialog* aDlg ); |
|
659 |
|
660 /** |
|
661 * Get the WlanQueryQueue. |
|
662 * @since 3.2 |
|
663 * @return Pointer to the WlanQueryQueue. |
|
664 */ |
|
665 inline CArrayPtrFlat<CMPMWlanQueryDialog>* WlanQueryQueue(); |
|
666 |
|
667 /** |
|
668 * Get the first item in iWlanQueryQueue. |
|
669 * @since 3.2 |
|
670 * @return Pointer to the first item in iWlanQueryQueue. |
|
671 */ |
|
672 inline CMPMWlanQueryDialog* FirstInWlanQueryQueue(); |
|
673 |
|
674 /** |
|
675 * Get the ConnectDialogQueue. |
|
676 * @since 3.2 |
|
677 * @return Pointer to the CMPMDialogQueue. |
|
678 */ |
|
679 inline CArrayPtrFlat<CMPMDialog>* ConnectDialogQueue(); |
|
680 |
|
681 /** |
|
682 * Get the Default Connection object. |
|
683 * @since 3.2 |
|
684 * @return Pointer to the Default Connection object. |
|
685 */ |
|
686 CMPMDefaultConnection* DefaultConnection(); |
605 |
687 |
606 /** |
688 /** |
607 * Returns true if there is a started connection |
689 * Returns true if there is a started connection |
608 * |
690 * |
609 * @since 3.2 |
691 * @since 3.2 |
664 |
747 |
665 /** |
748 /** |
666 * Starts forced roaming sequence to connected wlan |
749 * Starts forced roaming sequence to connected wlan |
667 * |
750 * |
668 * @param aIapInfo Info about available IAPs |
751 * @param aIapInfo Info about available IAPs |
|
752 * @return Always zero... |
669 * @since 5.2 |
753 * @since 5.2 |
670 */ |
754 */ |
671 static TInt StartForcedRoamingToConnectedWlanL( TAny* aUpdater ); |
755 static TInt StartForcedRoamingToConnectedWlanL( TAny* aUpdater ); |
672 |
756 |
|
757 /** |
|
758 * Starts forced roaming sequence to connected hotspot wlan |
|
759 * |
|
760 * @param aIapInfo Info about available IAPs |
|
761 * @return Always zero... |
|
762 * @since 5.2 |
|
763 */ |
|
764 static TInt StartForcedRoamingToConnectedHotspotWlanL( TAny* aUpdater ); |
|
765 |
673 /** |
766 /** |
674 * Starts forced roaming sequence from WLAN if necessary |
767 * Starts forced roaming sequence from WLAN if necessary |
675 * |
768 * |
676 * @param aIapInfo Info about available IAPs |
769 * @param aIapInfo Info about available IAPs |
677 * @since 5.2 |
770 * @since 5.2 |
680 |
773 |
681 /** |
774 /** |
682 * Checks whether phone is in visitor network. |
775 * Checks whether phone is in visitor network. |
683 * |
776 * |
684 * @since 5.2 |
777 * @since 5.2 |
|
778 * @return ETrue if phone is in visitor network, EFalse otherwise |
685 */ |
779 */ |
686 TBool IsVisitorNetwork() const; |
780 TBool IsVisitorNetwork() const; |
687 |
781 |
688 /** |
782 /** |
689 * Returns the RoamingWatcher pointer |
783 * Returns the RoamingWatcher pointer |
690 * |
784 * |
691 * @since 5.2 |
785 * @since 5.2 |
|
786 * @return RoamingWatcher pointer |
692 */ |
787 */ |
693 inline CMPMRoamingWatcher* RoamingWatcher() const; |
788 inline CMPMRoamingWatcher* RoamingWatcher() const; |
694 |
789 |
695 /** |
790 /** |
696 * Returns the DataUsageWatcher pointer |
791 * Returns the DataUsageWatcher pointer |
697 * |
792 * |
698 * @since 5.2 |
793 * @since 5.2 |
699 * @return DataUsageWatcher pointer |
794 * @return DataUsageWatcher pointer |
700 */ |
795 */ |
701 inline CMpmDataUsageWatcher* DataUsageWatcher() const; |
796 inline CMpmDataUsageWatcher* DataUsageWatcher() const; |
702 |
797 |
703 |
798 |
704 public: // Functions from base classes |
799 public: // Functions from base classes |
705 |
|
706 /** |
|
707 * From MMpmVpnToggleWatcherNotify. Sets values for VPN toggle after |
|
708 * VPN toggle key changes in central repository. |
|
709 * @param aVpnPreferred Informs if VPN connection is preferred |
|
710 * connection |
|
711 * @param aVpnIapId VPN IAP Id, which is used for VPN connection, when |
|
712 * VPN connection is preferred |
|
713 * @param aSnapId SNAP Id SNAP Id, which is used for VPN connection, |
|
714 * when VPN connection is preferred |
|
715 */ |
|
716 void SetVpnToggleValuesL( const TBool aVpnPreferred, |
|
717 const TUint32 aVpnIapId, |
|
718 const TUint32 aSnapId ); |
|
719 |
800 |
720 /** |
801 /** |
721 * From CServer2. Creates a new session for a client. |
802 * From CServer2. Creates a new session for a client. |
722 * @since 3.0 |
803 * @since 3.0 |
723 * @param aVersion Version information |
804 * @param aVersion Version information |
725 * @return Pointer to the new client session |
806 * @return Pointer to the new client session |
726 */ |
807 */ |
727 CSession2* NewSessionL( const TVersion& aVersion, |
808 CSession2* NewSessionL( const TVersion& aVersion, |
728 const RMessage2& aMessage) const; |
809 const RMessage2& aMessage) const; |
729 |
810 |
730 // Stops connection of certain IAP, zero for all connections |
811 /** |
|
812 * Stops either all connections or a certain IAP |
|
813 * |
|
814 * @param IAP ID to be stopped, zero for all connections |
|
815 */ |
731 void StopConnections( TInt aIapId = 0 ); |
816 void StopConnections( TInt aIapId = 0 ); |
732 |
817 |
733 public: |
818 public: |
734 |
819 |
735 /** |
820 /** |
736 * Mark that there is an active user connection. |
821 * Mark that there is an active user connection. |
737 * @since 5.1 |
822 * @since 5.1 |
769 * Checks whether user connection is in internet snap. |
854 * Checks whether user connection is in internet snap. |
770 * @since 5.1 |
855 * @since 5.1 |
771 * @return ETrue if user connection is in internet snap |
856 * @return ETrue if user connection is in internet snap |
772 */ |
857 */ |
773 TBool UserConnectionInInternet() const; |
858 TBool UserConnectionInInternet() const; |
774 |
|
775 /** |
|
776 * Mark that there is an active VPN user connection. |
|
777 */ |
|
778 void AddVpnUserConnectionSession(); |
|
779 |
|
780 /** |
|
781 * Mark that VPN user connection is not active |
|
782 */ |
|
783 void RemoveVpnUserConnectionSession(); |
|
784 |
|
785 /** |
|
786 * Informs if VPN user connection is used with given MPM preferences |
|
787 * and application. |
|
788 * @param aMpmConnPref MPM connection preferences. |
|
789 * @param aAppUid Application UID |
|
790 * @return Informs if VPN connection is preferred |
|
791 */ |
|
792 TBool UseVpnUserConnection( const TMpmConnPref aMpmConnPref, |
|
793 const TUint32 aAppUid ) const; |
|
794 |
|
795 /** |
|
796 * Prepares VPN user connection. |
|
797 * @param aMpmConnPref Connection preferences, which are modified |
|
798 * for VPN user connection (returned) |
|
799 * @return Informs if preparation was successful. |
|
800 */ |
|
801 TBool PrepareVpnUserConnection( TMpmConnPref& aMpmConnPref ); |
|
802 |
859 |
803 /** |
860 /** |
804 * Handle to central repository watcher |
861 * Handle to central repository watcher |
805 * @since 5.1 |
862 * @since 5.1 |
806 * @return Pointer to watcher object. |
863 * @return Pointer to watcher object. |
807 */ |
864 */ |
808 inline CMpmCsIdWatcher* CsIdWatcher(); |
865 inline CMpmCsIdWatcher* CsIdWatcher(); |
809 |
866 |
810 /** |
867 /** |
811 * Handle to VPN toggle central repository watcher |
868 * Change state of the P&S keys according to active connection. |
812 * @return Pointer to watcher object. |
869 * Non-leaving version. Resets variables in case error happens. |
813 */ |
870 * @since 5.2 |
814 inline CMpmVpnToggleWatcher* VpnToggleWatcher(); |
871 * @param aSession Handle to session used by connection. |
|
872 */ |
|
873 void UpdateActiveConnection( CMPMServerSession& aSession ); |
|
874 |
|
875 /** |
|
876 * Change state of the P&S keys according to active connection. |
|
877 * @since 5.0 |
|
878 * @param aSession Handle to session used by connection. |
|
879 */ |
|
880 void UpdateActiveConnectionL( CMPMServerSession& aSession ); |
|
881 |
|
882 /** |
|
883 * Map bearer type between MPM and commsdat. |
|
884 * @since 5.0 |
|
885 * @param aBearerType Bearer type used by MPM for active connection selection. |
|
886 * @return Bearer type used by commsdat |
|
887 */ |
|
888 TUint32 MapBearerType( TMPMBearerType aBearerType ); |
|
889 |
|
890 /** |
|
891 * Writes new active connection to the P&S keys |
|
892 * @since 5.0 |
|
893 */ |
|
894 void PublishActiveConnection(); |
|
895 |
|
896 /** |
|
897 * Returns number of active iaps. |
|
898 * @since 5.0 |
|
899 * @param aKeysUpToDate Tells whether P&S keys are valid or not. |
|
900 * @return Number of active connections |
|
901 */ |
|
902 TInt NumberOfActiveConnections( TBool& aKeysUpToDate ); |
815 |
903 |
816 /** |
904 /** |
817 * Returns server session instance that corresponds to given |
905 * Returns server session instance that corresponds to given |
818 * connection id. |
906 * connection id. |
819 * @since 5.2 |
907 * @since 5.2 |
823 */ |
911 */ |
824 CMPMServerSession* GetServerSession( TConnectionId aConnId ) const; |
912 CMPMServerSession* GetServerSession( TConnectionId aConnId ) const; |
825 |
913 |
826 /** |
914 /** |
827 * Stops cellular connections, except MMS |
915 * Stops cellular connections, except MMS |
828 * @since 5.2 |
916 * @param aSilentOnly stop only silent cellular connections |
829 */ |
917 * @since 5.2 |
830 void StopCellularConns(); |
918 */ |
831 |
919 void StopCellularConns( TBool aSilentOnly = EFalse ); |
832 /** |
|
833 * Handle to connection ui utilities |
|
834 */ |
|
835 inline CConnectionUiUtilities* ConnUiUtils() const; |
|
836 |
920 |
837 /** |
921 /** |
838 * Offline mode watcher updates the mode variable stored by MPM server. |
922 * Offline mode watcher updates the mode variable stored by MPM server. |
839 * @since 5.2 |
923 * @since 5.2 |
840 * @param aNewModeValue New offline mode value to be updated. |
924 * @param aNewModeValue New offline mode value |
841 */ |
925 */ |
842 void UpdateOfflineMode( TInt aNewModeValue ); |
926 void UpdateOfflineMode( TInt aNewModeValue ); |
843 |
927 |
844 /** |
928 /** |
845 * Tells if the phone is in offline mode. |
929 * Returns true if the phone is in offline mode. |
846 * @since 5.2 |
930 * @since 5.2 |
847 * @return ETrue if phone is in offline mode. |
931 * @return ETrue if phone is in offline mode, EFalse otherwise. |
848 */ |
932 */ |
849 TBool IsPhoneOffline(); |
933 TBool IsPhoneOffline(); |
850 |
934 |
851 /** |
935 /** |
852 * Tells the "Use WLAN in offline mode" query response. |
936 * Tells the "Use WLAN in offline mode" query response. |
853 * @since 5.2 |
937 * @since 5.2 |
854 * @return TOfflineWlanQueryResponse (not_responded/yes/no). |
938 * @return Response of offline mode query (Undefined if not executed) |
855 */ |
939 */ |
856 TOfflineWlanQueryResponse OfflineWlanQueryResponse(); |
940 TOfflineWlanQueryResponse OfflineWlanQueryResponse(); |
857 |
941 |
858 /** |
942 /** |
859 * Called when the "Use WLAN in offline mode" query has been responded. |
943 * Called when the "Use WLAN in offline mode" query has been responded. |
860 * @since 5.2 |
944 * @since 5.2 |
861 * @param aResponse setting the query response value (not_responded/yes/no). |
945 * @param aResponse Sets the Offline mode query response value. |
862 */ |
946 */ |
863 void SetOfflineWlanQueryResponse( TOfflineWlanQueryResponse aResponse); |
947 void SetOfflineWlanQueryResponse( TOfflineWlanQueryResponse aResponse); |
864 |
948 |
865 /** |
949 /** |
866 * Starts the connection permission query timer. |
950 * Starts the connection permission query timer. |
909 RArray<TUint32>& aAvailWlanIapIds, |
993 RArray<TUint32>& aAvailWlanIapIds, |
910 RAvailableIAPList& aIapList, |
994 RAvailableIAPList& aIapList, |
911 TBool aCheckForBestIap, |
995 TBool aCheckForBestIap, |
912 TMPMBearerType aDestinationBearerType ); |
996 TMPMBearerType aDestinationBearerType ); |
913 |
997 |
|
998 /** |
|
999 * Check if iap can be disconnected, and disconnect it |
|
1000 * @since 5.2 |
|
1001 * @param aIapId Iap id for checking |
|
1002 */ |
|
1003 void CheckIapForDisconnect( TInt aIapId ); |
914 |
1004 |
915 private: // Data |
1005 private: // Data |
916 // Pointer to the ConnMonEvents object |
1006 // Pointer to the ConnMonEvents object |
917 CMPMConnMonEvents* iEvents; |
1007 CMPMConnMonEvents* iEvents; |
918 |
1008 |
949 CMPMRoamingWatcher* iRoamingWatcher; |
1039 CMPMRoamingWatcher* iRoamingWatcher; |
950 |
1040 |
951 // Is WLAN scan required or not before displaying Connection Dialog |
1041 // Is WLAN scan required or not before displaying Connection Dialog |
952 TBool iWLANScanRequired; |
1042 TBool iWLANScanRequired; |
953 |
1043 |
|
1044 // Solves problem with overlapping Disconnect Dialogs |
|
1045 CArrayPtrFlat<CMPMDisconnectDlg>* iDisconnectQueue; |
|
1046 |
954 // Solves problem with overlapping Roaming Dialogs |
1047 // Solves problem with overlapping Roaming Dialogs |
955 CArrayPtrFlat<CMPMConfirmDlgRoaming>* iRoamingQueue; |
1048 CArrayPtrFlat<CMPMConfirmDlgRoaming>* iRoamingQueue; |
956 |
1049 |
957 // Solves problem with overlapping Starting Dialogs |
1050 // Solves problem with overlapping Starting Dialogs |
958 CArrayPtrFlat<CMPMConfirmDlgStarting>* iStartingQueue; |
1051 CArrayPtrFlat<CMPMConfirmDlgStarting>* iStartingQueue; |
959 |
1052 |
|
1053 // Solves problem with overlapping Wlan Queries |
|
1054 CArrayPtrFlat<CMPMWlanQueryDialog>* iWlanQueryQueue; |
|
1055 |
|
1056 // Solves problem with overlapping Connection Dialogs |
|
1057 CArrayPtrFlat<CMPMDialog>* iConnectDialogQueue; |
|
1058 |
|
1059 // Handles Default Connection selection |
|
1060 CMPMDefaultConnection* iDefaultConnection; |
|
1061 |
960 // Keeps track of the number of connections |
1062 // Keeps track of the number of connections |
961 TUint iConnectionCounter; |
1063 TUint iConnectionCounter; |
962 |
1064 |
963 // Set when there is user connection exist |
1065 // Set when there is user connection exist |
964 TBool iUserConnection; |
1066 TBool iUserConnection; |
966 // Preferences selected for the user connection |
1068 // Preferences selected for the user connection |
967 TMpmConnPref iUserConnPref; |
1069 TMpmConnPref iUserConnPref; |
968 |
1070 |
969 // Set when user connection in internet snap |
1071 // Set when user connection in internet snap |
970 TBool iUserConnectionInInternet; |
1072 TBool iUserConnectionInInternet; |
971 |
|
972 // Count of sessions using VPN user connection |
|
973 // |
|
974 TInt iVpnUserConnectionSessionCount; |
|
975 |
1073 |
976 /** |
1074 /** |
977 * Handle to central repository watcher |
1075 * Handle to central repository watcher |
978 * Own. |
1076 * Own. |
979 */ |
1077 */ |
980 CMpmCsIdWatcher* iMpmCsIdWatcher; |
1078 CMpmCsIdWatcher* iMpmCsIdWatcher; |
981 |
1079 |
982 /** |
1080 /** |
983 * Handle to VPN toggle central repository watcher. |
|
984 * Own. |
|
985 */ |
|
986 CMpmVpnToggleWatcher* iMpmVpnToggleWatcher; |
|
987 |
|
988 /** |
|
989 * Handle to central repository watcher |
1081 * Handle to central repository watcher |
990 */ |
1082 */ |
991 CMpmDataUsageWatcher* iMpmDataUsageWatcher; |
1083 CMpmDataUsageWatcher* iMpmDataUsageWatcher; |
992 |
1084 |
|
1085 /** |
|
1086 * Handle to central repository watcher |
|
1087 */ |
|
1088 CMpmOfflineWatcher* iMpmOfflineWatcher; |
|
1089 |
|
1090 // Iap id of the active connection |
|
1091 TUint32 iActiveIapId; |
|
1092 |
|
1093 // Snap id of the active connection |
|
1094 TUint32 iActiveSnapId; |
|
1095 |
|
1096 // Bearer type of the active connection |
|
1097 TMPMBearerType iActiveBearerType; |
|
1098 |
993 // Dedicated clients |
1099 // Dedicated clients |
994 RArray<TUint32> iDedicatedClients; |
1100 RArray<TUint32> iDedicatedClients; |
995 |
1101 |
996 // Used for commsdat related functionalities |
1102 // Used for commsdat related functionalities |
997 CMPMCommsDatAccess* iCommsDatAccess; |
1103 CMPMCommsDatAccess* iCommsDatAccess; |
998 |
|
999 // Handle to connection UI utilities |
|
1000 // |
|
1001 CConnectionUiUtilities* iConnUiUtils; |
|
1002 |
1104 |
1003 // Offline mode. |
1105 // Offline mode. |
1004 TInt iOfflineMode; |
1106 TInt iOfflineMode; |
1005 |
1107 |
1006 // Is WLAN usage already accepted in this offline session. |
1108 // Is WLAN usage already accepted in this offline session. |
1007 TOfflineWlanQueryResponse iOfflineWlanQueryResponse; |
1109 TOfflineWlanQueryResponse iOfflineWlanQueryResponse; |
1008 |
1110 |
1009 // Timer to start roaming to connected WLAN network |
1111 // Timer to start roaming to connected WLAN network |
1010 CPeriodic* iRoamingToWlanPeriodic; |
1112 CPeriodic* iRoamingToWlanPeriodic; |
1011 |
1113 |
|
1114 // Timer to start roaming to connected WLAN network |
|
1115 CPeriodic* iRoamingToHotspotWlanPeriodic; |
|
1116 |
1012 // TConnMonIapInfo Info about available IAPs |
1117 // TConnMonIapInfo Info about available IAPs |
1013 TConnMonIapInfo iConnMonIapInfo; |
1118 TConnMonIapInfo iConnMonIapInfo; |
1014 |
1119 |
1015 // Connection permission query cancellation delay timer |
1120 // Connection permission query cancellation delay timer |
1016 CMPMConnPermQueryTimer* iConnPermQueryTimer; |
1121 CMPMConnPermQueryTimer* iConnPermQueryTimer; |