164 |
167 |
165 iSuplStorageSettings = CSuplSettingsInternal::NewL(); |
168 iSuplStorageSettings = CSuplSettingsInternal::NewL(); |
166 iSuplStorageSettings->SetObserverL(*this); |
169 iSuplStorageSettings->SetObserverL(*this); |
167 iSuplStorageSettings->SetSessionObserverL(*this); |
170 iSuplStorageSettings->SetSessionObserverL(*this); |
168 |
171 |
169 |
172 iSettingsLauncher = COMASuplSettingsLauncher::NewL( *this ); |
170 |
173 |
171 TRAPD(err,iOMASuplAsnHandlerBaseImpl = COMASuplAsnHandlerBase::NewL(2);) |
174 TRAPD(err,iOMASuplAsnHandlerBaseImpl = COMASuplAsnHandlerBase::NewL(2);) |
172 TBuf<64> buf(_L("ASN Plugin 2.0 loaded with error : ")); |
175 TBuf<64> buf(_L("ASN Plugin 2.0 loaded with error : ")); |
173 buf.AppendNum(err); |
176 buf.AppendNum(err); |
174 iTrace->Trace(buf,KTraceFileName, __LINE__); |
177 iTrace->Trace(buf,KTraceFileName, __LINE__); |
252 iCommManager = aCommManager; |
255 iCommManager = aCommManager; |
253 |
256 |
254 //Connect to ETel |
257 //Connect to ETel |
255 User::LeaveIfError(ConnectToETelL()); |
258 User::LeaveIfError(ConnectToETelL()); |
256 |
259 |
257 |
260 ReadSuplUsage(); |
258 |
261 |
259 if(iSuplEcomEventWatcher) |
262 if(iSuplEcomEventWatcher) |
260 { |
263 { |
261 iTrace->Trace(_L("NotifyOnPlugInUnInstallation starting"), KTraceFileName, __LINE__); |
264 iTrace->Trace(_L("NotifyOnPlugInUnInstallation starting"), KTraceFileName, __LINE__); |
262 iSuplEcomEventWatcher->NotifyOnPlugInUnInstallation(); |
265 iSuplEcomEventWatcher->NotifyOnPlugInUnInstallation(); |
1246 void COMASUPLProtocolManager2::HandleSuplSettingsChangeL(TSuplSettingsEventType aEvent,TInt /*aSlpId*/) |
1249 void COMASUPLProtocolManager2::HandleSuplSettingsChangeL(TSuplSettingsEventType aEvent,TInt /*aSlpId*/) |
1247 { |
1250 { |
1248 if( aEvent == MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange) |
1251 if( aEvent == MSuplSettingsObserver::ESuplSettingsEventSuplUsageChange) |
1249 { |
1252 { |
1250 iTrace->Trace(_L("Setting Changed.SUPL Usage changed.. Reeading once again..."), KTraceFileName, __LINE__); |
1253 iTrace->Trace(_L("Setting Changed.SUPL Usage changed.. Reeading once again..."), KTraceFileName, __LINE__); |
1251 |
1254 ReadSuplUsage(); |
1252 } |
1255 } |
1253 else if( aEvent == MSuplSettingsObserver::ESuplSettingsEventCommParameterChange) |
1256 else if( aEvent == MSuplSettingsObserver::ESuplSettingsEventCommParameterChange) |
1254 { |
1257 { |
1255 iTrace->Trace(_L("Setting Changed.Communication Parameters changed.. Reeading once again..."), KTraceFileName, __LINE__); |
1258 iTrace->Trace(_L("Setting Changed.Communication Parameters changed.. Reeading once again..."), KTraceFileName, __LINE__); |
1256 |
1259 |
1257 } |
1260 } |
1258 } |
1261 } |
1259 |
|
1260 |
|
1261 |
|
1262 |
1262 |
1263 // ----------------------------------------------------------------------------- |
1263 // ----------------------------------------------------------------------------- |
1264 // COMASUPLProtocolManager2::LogPacket |
1264 // COMASUPLProtocolManager2::LogPacket |
1265 // Logs |
1265 // Logs |
1266 // ----------------------------------------------------------------------------- |
1266 // ----------------------------------------------------------------------------- |
1740 iPreviousMessageLength = 0 ; |
1740 iPreviousMessageLength = 0 ; |
1741 iIsPreviouslyDecodingFailed = EFalse; |
1741 iIsPreviouslyDecodingFailed = EFalse; |
1742 } |
1742 } |
1743 |
1743 |
1744 |
1744 |
|
1745 // ----------------------------------------------------------------------------- |
|
1746 // COMASUPLProtocolManager2::LaunchSettingsUI |
|
1747 // |
|
1748 // |
|
1749 // ----------------------------------------------------------------------------- |
|
1750 // |
|
1751 TInt COMASUPLProtocolManager2::LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp) |
|
1752 { |
|
1753 iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSettingsUI"), KTraceFileName, __LINE__); |
|
1754 |
|
1755 if (iSuplSettings->IsUIActive()) |
|
1756 return KErrInUse; |
|
1757 iSessnUIObserver = aObserver; |
|
1758 iSuplSettings->SetUIActive(ETrue); |
|
1759 |
|
1760 if(iUIRequestArray.Count() <= 0 ) |
|
1761 { |
|
1762 iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSettingsUI"), KTraceFileName, __LINE__); |
|
1763 iUIRequestArray.Append(aObserver); |
|
1764 iSuplSettings->SetUIActive(ETrue); |
|
1765 iCurrentlyUsedHslp.Copy(aForHslp); |
|
1766 return iSettingsLauncher->LaunchSettings(); |
|
1767 } |
|
1768 else if(iCurrentlyUsedHslp.Compare(aForHslp) == KErrNone) |
|
1769 { |
|
1770 iUIRequestArray.Append(aObserver); |
|
1771 } |
|
1772 else |
|
1773 { |
|
1774 return KErrInUse; |
|
1775 } |
|
1776 |
|
1777 return KErrNone; |
|
1778 } |
|
1779 |
|
1780 // ----------------------------------------------------------------------------- |
|
1781 // COMASUPLProtocolManager2::SettingsUICompletedL |
|
1782 // |
|
1783 // |
|
1784 // ----------------------------------------------------------------------------- |
|
1785 // |
|
1786 void COMASUPLProtocolManager2::SettingsUICompletedL(TInt aError) |
|
1787 { |
|
1788 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL"), KTraceFileName, __LINE__); |
|
1789 iSuplSettings->SetUIActive(EFalse); |
|
1790 |
|
1791 if (iDeInitDone) |
|
1792 { |
|
1793 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL, de-init done. Completing request"), KTraceFileName, __LINE__); |
|
1794 iDeInitDone = EFalse; |
|
1795 User::RequestComplete(iDeInitRequestStatus,KErrNone); |
|
1796 } |
|
1797 else |
|
1798 { |
|
1799 for(TInt i = 0; i < iUIRequestArray.Count(); i++) |
|
1800 { |
|
1801 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUICompletedL,Forwarding ConnRerquestor "), KTraceFileName, __LINE__); |
|
1802 MOMASuplUICompletionObserver* observer = iUIRequestArray[i]; |
|
1803 observer->SettingsUICompletedL(aError); |
|
1804 } |
|
1805 } |
|
1806 |
|
1807 iCurrentlyUsedHslp.Copy(_L("")); |
|
1808 iUIRequestArray.Reset(); |
|
1809 } |
|
1810 |
1745 |
1811 |
1746 // ----------------------------------------------------------------------------- |
1812 // ----------------------------------------------------------------------------- |
1747 // COMASUPLProtocolManager2::DeInitialize |
1813 // COMASUPLProtocolManager2::DeInitialize |
1748 // |
1814 // |
1749 // |
1815 // |
1796 User::LeaveIfError(centralRepository->Get(KCoreAppUIsNetworkConnectionAllowed, networkMode)); |
1862 User::LeaveIfError(centralRepository->Get(KCoreAppUIsNetworkConnectionAllowed, networkMode)); |
1797 CleanupStack::PopAndDestroy(centralRepository); |
1863 CleanupStack::PopAndDestroy(centralRepository); |
1798 return networkMode; |
1864 return networkMode; |
1799 } |
1865 } |
1800 |
1866 |
1801 |
1867 // ----------------------------------------------------------------------------- |
1802 |
1868 // COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI |
1803 |
1869 // |
1804 |
1870 // |
|
1871 // ----------------------------------------------------------------------------- |
|
1872 // |
|
1873 |
|
1874 TInt COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming) |
|
1875 { |
|
1876 iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchSuplUsageSettingsUI"), KTraceFileName, __LINE__); |
|
1877 if (iSuplSettings->IsUIActive() && !iTimeOutDialogPresent) |
|
1878 return KErrInUse; |
|
1879 // If timeout dialog is present, close it |
|
1880 if (iTimeOutDialogPresent) |
|
1881 { |
|
1882 iTimeOutDialogPresent = EFalse; |
|
1883 iSuplSettings->SetUIActive(EFalse); |
|
1884 iSettingsLauncher->Cancel(); |
|
1885 } |
|
1886 iSessnUIObserver = aObserver; |
|
1887 iSuplSettings->SetUIActive(ETrue); |
|
1888 return iSettingsLauncher->LaunchSuplUsageSettingsUI(aRoaming); |
|
1889 } |
|
1890 |
|
1891 // ----------------------------------------------------------------------------- |
|
1892 // COMASUPLProtocolManager2::SettingsUsageUICompletedL |
|
1893 // |
|
1894 // |
|
1895 // ----------------------------------------------------------------------------- |
|
1896 // |
|
1897 void COMASUPLProtocolManager2::SettingsUsageUICompletedL(TInt aError) |
|
1898 { |
|
1899 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUsageUICompletedL"), KTraceFileName, __LINE__); |
|
1900 iSuplSettings->SetUIActive(EFalse); |
|
1901 |
|
1902 if (iDeInitDone) |
|
1903 { |
|
1904 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsUsageUICompletedL, de-init done. Completing request"), KTraceFileName, __LINE__); |
|
1905 iDeInitDone = EFalse; |
|
1906 User::RequestComplete(iDeInitRequestStatus,KErrNone); |
|
1907 } |
|
1908 else |
|
1909 { |
|
1910 if (iSessnUIObserver) |
|
1911 iSessnUIObserver->SettingsUsageUICompletedL(aError); |
|
1912 } |
|
1913 |
|
1914 CheckOutstandingUsageUIRequestsL(); |
|
1915 } |
|
1916 |
|
1917 // ----------------------------------------------------------------------------- |
|
1918 // COMASUPLProtocolManager2::ReadSuplUsage |
|
1919 // Reads Supl Usage from Central Repository |
|
1920 // |
|
1921 // ----------------------------------------------------------------------------- |
|
1922 // |
|
1923 void COMASUPLProtocolManager2::ReadSuplUsage() |
|
1924 { |
|
1925 iTrace->Trace(_L("COMASUPLProtocolManager2::ReadSuplUsage start"), KTraceFileName, __LINE__); |
|
1926 CSuplSettings::TSuplSettingsUsage suplUsage; |
|
1927 TInt err = iSuplStorageSettings->GetSuplUsage(suplUsage); |
|
1928 if(err == KErrNone ) |
|
1929 { |
|
1930 iSuplSettings->SetSUPLUsage(suplUsage); |
|
1931 } |
|
1932 iTrace->Trace(_L("COMASUPLProtocolManager2::ReadSuplUsage end"), KTraceFileName, __LINE__); |
|
1933 } |
1805 |
1934 |
1806 void COMASUPLProtocolManager2::UpdateAllSubSessnsInSameSession(TInt aIpcSessionId) |
1935 void COMASUPLProtocolManager2::UpdateAllSubSessnsInSameSession(TInt aIpcSessionId) |
1807 { |
1936 { |
1808 TInt TotalSession = iSuplSessions.Count(); |
1937 TInt TotalSession = iSuplSessions.Count(); |
1809 COMASuplSession* OMAsuplSession = NULL; |
1938 COMASuplSession* OMAsuplSession = NULL; |
1826 { |
1957 { |
1827 OMAsuplSession = static_cast<COMASuplSession*>(iSuplSessions[cnt]); |
1958 OMAsuplSession = static_cast<COMASuplSession*>(iSuplSessions[cnt]); |
1828 OMAsuplSession->SettingsChanged(); |
1959 OMAsuplSession->SettingsChanged(); |
1829 } |
1960 } |
1830 } |
1961 } |
1831 |
1962 |
|
1963 void COMASUPLProtocolManager2::CheckOutstandingUsageUIRequestsL() |
|
1964 { |
|
1965 TInt TotalSession = iSuplSessions.Count(); |
|
1966 COMASuplSession* OMAsuplSession = NULL; |
|
1967 |
|
1968 for(TInt cnt = 0; cnt < TotalSession; ++cnt) |
|
1969 { |
|
1970 OMAsuplSession = static_cast<COMASuplSession*>(iSuplSessions[cnt]); |
|
1971 |
|
1972 if (OMAsuplSession->GetSuplUsageFlag()) |
|
1973 { |
|
1974 OMAsuplSession->StartUsageDialogLaunchL(); |
|
1975 break; |
|
1976 } |
|
1977 } |
|
1978 } |
1832 |
1979 |
1833 void COMASUPLProtocolManager2::CheckForRoaming() |
1980 void COMASUPLProtocolManager2::CheckForRoaming() |
1834 { |
1981 { |
1835 iTrace->Trace(_L("COMASUPLProtocolManager2::CheckForRoaming"), KTraceFileName, __LINE__); |
1982 iTrace->Trace(_L("COMASUPLProtocolManager2::CheckForRoaming"), KTraceFileName, __LINE__); |
1836 if (iRoamingCheckStarted) |
1983 if (iRoamingCheckStarted) |
1906 break; |
2053 break; |
1907 } |
2054 } |
1908 } |
2055 } |
1909 } |
2056 } |
1910 |
2057 |
1911 |
2058 // ----------------------------------------------------------------------------- |
|
2059 // COMASUPLProtocolManager2::LaunchSuplDialogTimeoutUI |
|
2060 // |
|
2061 // |
|
2062 // ----------------------------------------------------------------------------- |
|
2063 // |
|
2064 TInt COMASUPLProtocolManager2::LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver ) |
|
2065 { |
|
2066 iTrace->Trace(_L("COMASUPLProtocolManager2::LaunchTimeOutUI"), KTraceFileName, __LINE__); |
|
2067 |
|
2068 iSessnUIObserver = aObserver; |
|
2069 if (iSuplSettings->IsUIActive()) |
|
2070 { |
|
2071 iSuplSettings->SetUIActive(EFalse); |
|
2072 iSettingsLauncher->Cancel(); |
|
2073 } |
|
2074 |
|
2075 iSuplSettings->SetUIActive(ETrue); |
|
2076 iTimeOutDialogPresent = ETrue; |
|
2077 return iSettingsLauncher->LaunchSessionTimeOutDialog(); |
|
2078 } |
|
2079 |
|
2080 // ----------------------------------------------------------------------------- |
|
2081 // COMASUPLProtocolManager2::SettingsTimeOutUICompletedL |
|
2082 // |
|
2083 // |
|
2084 // ----------------------------------------------------------------------------- |
|
2085 // |
|
2086 void COMASUPLProtocolManager2::SettingsTimeOutUICompletedL(TInt aError) |
|
2087 { |
|
2088 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsTimeOutUICompletedL"), KTraceFileName, __LINE__); |
|
2089 iSuplSettings->SetUIActive(EFalse); |
|
2090 iTimeOutDialogPresent = EFalse; |
|
2091 |
|
2092 if (iDeInitDone) |
|
2093 { |
|
2094 iTrace->Trace(_L("COMASUPLProtocolManager2::SettingsTimeOutUICompletedL, Completing request"), KTraceFileName, __LINE__); |
|
2095 iDeInitDone = EFalse; |
|
2096 User::RequestComplete(iDeInitRequestStatus,KErrNone); |
|
2097 } |
|
2098 else |
|
2099 { |
|
2100 if (iSessnUIObserver) |
|
2101 iSessnUIObserver->SettingsTimeOutUICompletedL(aError); |
|
2102 } |
|
2103 } |
|
2104 |
|
2105 // ----------------------------------------------------------------------------- |
|
2106 // COMASUPLProtocolManager2::GetLastUsedAccessPoint |
|
2107 // |
|
2108 // |
|
2109 // ----------------------------------------------------------------------------- |
|
2110 // |
|
2111 TInt COMASUPLProtocolManager2::GetLastUsedAccessPoint(TDes& aLastlyUsedAccessPoint,TUint32& iIAPId) |
|
2112 { |
|
2113 return iSettingsLauncher->GetIAPName(aLastlyUsedAccessPoint,iIAPId); |
|
2114 } |
1912 |
2115 |
1913 // ----------------------------------------------------------------------------- |
2116 // ----------------------------------------------------------------------------- |
1914 // COMASUPLProtocolManager2::PrintHex |
2117 // COMASUPLProtocolManager2::PrintHex |
1915 // |
2118 // |
1916 // ----------------------------------------------------------------------------- |
2119 // ----------------------------------------------------------------------------- |