17 * |
17 * |
18 * |
18 * |
19 */ |
19 */ |
20 |
20 |
21 |
21 |
22 |
22 #include <browser_platform_variant.hrh> |
23 #include "ConnManActiveConnector.h" |
23 #include "ConnManActiveConnector.h" |
24 #include "ConnectionManagerLogger.h" |
24 #include "ConnectionManagerLogger.h" |
25 |
25 #include <mconnection.h> |
26 #include <nifvar.h> |
26 #include <nifvar.h> |
27 #include <commdbconnpref.h> |
27 #include <CommDbConnPref.h> |
|
28 |
|
29 #ifdef BRDO_OCC_ENABLED_FF |
|
30 #include <extendedconnpref.h> |
|
31 #endif |
28 |
32 |
29 //-------------------------------------------------------------------------- |
33 //-------------------------------------------------------------------------- |
30 //CConnManActiveConnector::CConnManActiveConnector() |
34 //CConnManActiveConnector::CConnManActiveConnector() |
31 //-------------------------------------------------------------------------- |
35 //-------------------------------------------------------------------------- |
32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, |
36 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, |
33 TInt aPriority ) |
37 TInt aPriority ) |
34 : CActive( aPriority ) |
38 : CActive( aPriority ) |
35 , iConnection( aConnection ) |
39 , iConnection( aConnection ) |
36 { |
40 { |
|
41 |
37 CLOG_CREATE; |
42 CLOG_CREATE; |
38 CActiveScheduler::Add( this );//inserting this into the queue |
43 CActiveScheduler::Add( this );//inserting this into the queue |
|
44 occPrefs = EDefault; |
39 } |
45 } |
40 |
46 |
41 //-------------------------------------------------------------------------- |
47 //-------------------------------------------------------------------------- |
42 //CConnManActiveConnector::~CConnManActiveConnector() |
48 //CConnManActiveConnector::~CConnManActiveConnector() |
43 //-------------------------------------------------------------------------- |
49 //-------------------------------------------------------------------------- |
44 CConnManActiveConnector::~CConnManActiveConnector() |
50 CConnManActiveConnector::~CConnManActiveConnector() |
45 { |
51 { |
|
52 |
46 Cancel();//The standard way of destroying an Active object |
53 Cancel();//The standard way of destroying an Active object |
47 CLOG_CLOSE; |
54 CLOG_CLOSE; |
48 } |
55 } |
49 |
56 |
50 //-------------------------------------------------------------------------- |
57 //-------------------------------------------------------------------------- |
51 //CConnManActiveConnector::StartConnection() |
58 //CConnManActiveConnector::StartConnection() |
52 //-------------------------------------------------------------------------- |
59 //-------------------------------------------------------------------------- |
53 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) |
60 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) |
54 { |
61 { |
55 CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); |
62 CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called"); |
56 iExternalRequestStatus = &aStatus; |
63 iExternalRequestStatus = &aStatus; |
|
64 |
|
65 #ifdef BRDO_OCC_ENABLED_FF |
|
66 |
|
67 TExtendedConnPref extPref; |
|
68 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); |
|
69 |
|
70 #ifdef __WINS__ //This is only for emulator testing purpose |
|
71 |
|
72 //For emulator |
|
73 CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " ); |
|
74 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
75 extPref.SetConnSelectionDialog(ETrue); |
|
76 extPref.SetForcedRoaming(EFalse); |
|
77 |
|
78 #else |
|
79 |
|
80 //For hardware |
|
81 TUint32 bookmarkIap = aSettings->IapId(); |
|
82 CLOG_WRITE_1( "CConnManActiveConnector:StartConnection Active Bookmark Iap: %d", bookmarkIap ); |
|
83 if (bookmarkIap) |
|
84 { |
|
85 CLOG_WRITE( "CConnManActiveConnector:StartConnection Iap is found for this bookmark"); |
|
86 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
87 extPref.SetIapId(bookmarkIap); |
|
88 } |
|
89 else |
|
90 { |
|
91 CLOG_WRITE( "CConnManActiveConnector:StartConnection Popup ap dialog"); |
|
92 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
93 extPref.SetConnSelectionDialog(ETrue); |
|
94 } |
|
95 |
|
96 #endif //__WINS__ |
|
97 |
|
98 extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); |
|
99 TConnPrefList prefList; |
|
100 TRAP_IGNORE(prefList.AppendL(&extPref)); |
|
101 #endif //BRDO_OCC_ENABLED_FF |
|
102 |
|
103 if( aSettings ) |
|
104 { |
|
105 #ifdef BRDO_OCC_ENABLED_FF |
|
106 iConnection.Start( prefList, iStatus ); |
|
107 #else |
|
108 iConnection.Start( *aSettings, iStatus ); |
|
109 #endif |
|
110 } |
|
111 else |
|
112 { |
|
113 iConnection.Start( iStatus ); |
|
114 } |
|
115 |
|
116 SetActive(); |
|
117 |
|
118 *iExternalRequestStatus = KRequestPending; |
|
119 } |
57 |
120 |
|
121 //-------------------------------------------------------------------------- |
|
122 //CConnManActiveConnector::StartConnection() |
|
123 //-------------------------------------------------------------------------- |
|
124 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) |
|
125 { |
|
126 CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called"); |
|
127 iExternalRequestStatus = &aStatus; |
|
128 |
|
129 #ifdef BRDO_OCC_ENABLED_FF |
|
130 |
|
131 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); |
|
132 TExtendedConnPref extPref; |
|
133 |
|
134 #ifdef __WINS__ |
|
135 |
|
136 //For emulator |
|
137 CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " ); |
|
138 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
139 extPref.SetConnSelectionDialog(ETrue); |
|
140 extPref.SetForcedRoaming(EFalse); |
|
141 |
|
142 #else |
|
143 |
|
144 //For hardware |
|
145 if( aSettings->Snap() == 0 ) |
|
146 { |
|
147 CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap"); |
|
148 extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet); |
|
149 } |
|
150 else |
|
151 { |
|
152 CLOG_WRITE( "CConnManActiveConnector:StartConnection Using given Snap"); |
|
153 extPref.SetSnapId(aSettings->Snap()); |
|
154 } |
|
155 |
|
156 #endif //__WINS__ |
|
157 |
|
158 extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); |
|
159 if ( occPrefs == ESilient ) |
|
160 { |
|
161 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC Silent behaviour"); |
|
162 extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent); |
|
163 } |
|
164 else |
|
165 { |
|
166 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC Default behaviour"); |
|
167 } |
|
168 TConnPrefList prefList; |
|
169 TRAP_IGNORE(prefList.AppendL(&extPref)); |
|
170 |
|
171 #endif |
|
172 |
58 if( aSettings ) |
173 if( aSettings ) |
59 { |
174 { |
60 #ifdef __WINS__ |
175 #ifdef BRDO_OCC_ENABLED_FF |
61 // aSettings->SetDialogPreference( ECommDbDialogPrefPrompt ); |
176 iConnection.Start( prefList, iStatus ); |
62 #endif |
177 #else |
63 |
178 iConnection.Start( *aSettings, iStatus ); |
64 iConnection.Start( *aSettings, iStatus ); |
179 #endif |
65 } |
180 } |
66 else |
|
67 { |
|
68 iConnection.Start( iStatus ); |
|
69 } |
|
70 |
|
71 SetActive(); |
|
72 |
|
73 *iExternalRequestStatus = KRequestPending; |
|
74 } |
|
75 |
|
76 //-------------------------------------------------------------------------- |
|
77 //CConnManActiveConnector::StartConnection() |
|
78 //-------------------------------------------------------------------------- |
|
79 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) |
|
80 { |
|
81 CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); |
|
82 iExternalRequestStatus = &aStatus; |
|
83 |
|
84 if( aSettings ) |
|
85 { |
|
86 iConnection.Start( *aSettings, iStatus ); |
|
87 } |
|
88 else |
181 else |
89 { |
182 { |
90 iConnection.Start( iStatus ); |
183 iConnection.Start( iStatus ); |
91 } |
184 } |
92 |
185 |
99 //CConnManActiveConnector::DoCancel() |
192 //CConnManActiveConnector::DoCancel() |
100 //-------------------------------------------------------------------------- |
193 //-------------------------------------------------------------------------- |
101 void CConnManActiveConnector::DoCancel() |
194 void CConnManActiveConnector::DoCancel() |
102 { |
195 { |
103 CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); |
196 CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); |
104 iConnection.Close(); |
197 //This is work around fix for bug ESNA-855BUN |
|
198 iConnection.Close(); |
105 User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req |
199 User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req |
|
200 |
106 CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); |
201 CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); |
107 } |
202 } |
108 |
203 |
109 //-------------------------------------------------------------------------- |
204 //-------------------------------------------------------------------------- |
110 //CConnManActiveConnector::RunL() |
205 //CConnManActiveConnector::RunL() |
111 //-------------------------------------------------------------------------- |
206 //-------------------------------------------------------------------------- |
112 void CConnManActiveConnector::RunL() |
207 void CConnManActiveConnector::RunL() |
113 { |
208 { |
|
209 |
114 CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); |
210 CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); |
115 User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); |
211 User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); |
116 } |
212 } |
|
213 |
|
214 void CConnManActiveConnector::SetOccPreferences(TSetOCCPreferences aOCCPreferences) |
|
215 { |
|
216 CLOG_WRITE_1( "CConnManActiveConnector::SetOccPreferences : %d", aOCCPreferences ); |
|
217 occPrefs = aOCCPreferences; |
|
218 } |
117 |
219 |
118 //------------------------------------------------------ CActiveConnectorSyncWrapper ------------------------- |
220 //------------------------------------------------------ CActiveConnectorSyncWrapper ------------------------- |
119 |
221 |
120 //-------------------------------------------------------------------------- |
222 //-------------------------------------------------------------------------- |
121 //CActiveConnectorSyncWrapper::NewL() |
223 //CActiveConnectorSyncWrapper::NewL() |