realtimenetprots/sipfw/ProfileAgent/Server/Src/sipalrmigrationcontroller.h
branchRCL_3
changeset 56 2c7192069824
parent 41 f54bfd820e04
equal deleted inserted replaced
49:0a1ad22c7bdc 56:2c7192069824
    56             EMostRecentIap = 0
    56             EMostRecentIap = 0
    57             };
    57             };
    58 
    58 
    59 	public:
    59 	public:
    60     	static CSipAlrMigrationController* NewLC(CSipAlrMonitor& aAlrMonitor,
    60     	static CSipAlrMigrationController* NewLC(CSipAlrMonitor& aAlrMonitor,
    61                              TSipSNAPConfigurationData aSnapData);
    61     											 TUint32 aSnapId);
    62 
    62 
    63     	~CSipAlrMigrationController();
    63     	~CSipAlrMigrationController();
    64 
    64 
    65 	public: // From MSipAlrObserver
    65 	public: // From MSipAlrObserver
    66 
    66 
    69 					  TUint32 aIapId);
    69 					  TUint32 aIapId);
    70 
    70 
    71     public: // New functions
    71     public: // New functions
    72 
    72 
    73 		TUint32 SnapId() const;
    73 		TUint32 SnapId() const;
    74 		
       
    75 		TUint32 BearerId() const;
       
    76 
    74 
    77 		/**
    75 		/**
    78         * Check if any profile is using this instance.
    76         * Check if any profile is using this instance.
    79         * @return ETrue At least one profile is using this migration controller
    77         * @return ETrue At least one profile is using this migration controller
    80         *		  EFalse otherwise
    78         *		  EFalse otherwise
   116 
   114 
   117 		TInt SetIapAcceptance(MSipAlrMigrationObserver& aObserver,
   115 		TInt SetIapAcceptance(MSipAlrMigrationObserver& aObserver,
   118 							  TBool aIapWorks);
   116 							  TBool aIapWorks);
   119 							  
   117 							  
   120 		void ResetFlags();
   118 		void ResetFlags();
   121 		
       
   122 		
       
   123 
   119 
   124 	private: // Constructors
   120 	private: // Constructors
   125 
   121 
   126 	    CSipAlrMigrationController(CSipAlrMonitor& aAlrMonitor,
   122 	    CSipAlrMigrationController(CSipAlrMonitor& aAlrMonitor,
   127                                     TSipSNAPConfigurationData aSnapData);
   123 	    						   TUint32 aSnapId);
   128 
   124 
   129     private: // New functions
   125     private: // New functions
   130 
   126 
   131 		void SendMigrationResult(TUint32 aIapId, TBool aAllowed);
   127 		void SendMigrationResult(TUint32 aIapId, TBool aAllowed);
   132 
   128 
   145 		// Not owned
   141 		// Not owned
   146     	CSipAlrMonitor& iAlrMonitor;
   142     	CSipAlrMonitor& iAlrMonitor;
   147 
   143 
   148 		RArray<TSipAlrMigrationObserverInfo> iObservers;
   144 		RArray<TSipAlrMigrationObserverInfo> iObservers;
   149 
   145 
       
   146 		// SNAP id that is monitored. Does not change.
       
   147 		const TUint32 iSnapId;
       
   148 
   150 		// The IAP id, that was most recently offered to observers with
   149 		// The IAP id, that was most recently offered to observers with
   151 		// MSipAlrMigrationObserver::IapAvailableL.
   150 		// MSipAlrMigrationObserver::IapAvailableL.
   152 		TUint32 iOfferedIapId;
   151 		TUint32 iOfferedIapId;
   153 
   152 
   154 		// Most recent IAP id, where the migration was allowed.
   153 		// Most recent IAP id, where the migration was allowed.
   162 		// ETrue if CSipAlrMonitor has been requested to refresh the IAP
   161 		// ETrue if CSipAlrMonitor has been requested to refresh the IAP
   163 		// availability.
   162 		// availability.
   164 		// Will be set to EFalse, when ALR monitor notifies about IAP, using
   163 		// Will be set to EFalse, when ALR monitor notifies about IAP, using
   165 		// MSipAlrObserver::IapAvailable.
   164 		// MSipAlrObserver::IapAvailable.
   166 		TBool iRefreshIssued;
   165 		TBool iRefreshIssued;
   167 		
       
   168 		// This contains the SNAP ID and the Bearer ID configured for the SNAP.
       
   169 		TSipSNAPConfigurationData iSnapData;
       
   170 
   166 
   171     private: // For testing purposes		
   167     private: // For testing purposes		
   172 #ifdef CPPUNIT_TEST
   168 #ifdef CPPUNIT_TEST
   173 		friend class CSipAlrMigrationControllerTest;    
   169 		friend class CSipAlrMigrationControllerTest;    
   174         friend class CSIPProfileAlrTest;
   170         friend class CSIPProfileAlrTest;