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 |
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 { |
37 iWait = EFalse; |
41 |
38 CLOG_CREATE; |
42 CLOG_CREATE; |
39 CActiveScheduler::Add( this );//inserting this into the queue |
43 CActiveScheduler::Add( this );//inserting this into the queue |
40 } |
44 } |
41 |
45 |
42 //-------------------------------------------------------------------------- |
46 //-------------------------------------------------------------------------- |
43 //CConnManActiveConnector::~CConnManActiveConnector() |
47 //CConnManActiveConnector::~CConnManActiveConnector() |
44 //-------------------------------------------------------------------------- |
48 //-------------------------------------------------------------------------- |
45 CConnManActiveConnector::~CConnManActiveConnector() |
49 CConnManActiveConnector::~CConnManActiveConnector() |
46 { |
50 { |
47 iWait = EFalse; |
51 |
48 Cancel();//The standard way of destroying an Active object |
52 Cancel();//The standard way of destroying an Active object |
49 CLOG_CLOSE; |
53 CLOG_CLOSE; |
50 } |
54 } |
51 |
55 |
52 //-------------------------------------------------------------------------- |
56 //-------------------------------------------------------------------------- |
53 //CConnManActiveConnector::StartConnection() |
57 //CConnManActiveConnector::StartConnection() |
54 //-------------------------------------------------------------------------- |
58 //-------------------------------------------------------------------------- |
55 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) |
59 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) |
56 { |
60 { |
57 CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); |
61 CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called"); |
58 iExternalRequestStatus = &aStatus; |
62 iExternalRequestStatus = &aStatus; |
59 |
63 |
|
64 #ifdef BRDO_OCC_ENABLED_FF |
|
65 |
|
66 TExtendedConnPref extPref; |
|
67 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); |
|
68 |
|
69 #ifdef __WINS__ //This is only for emulator testing purpose |
|
70 |
|
71 //For emulator |
|
72 CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " ); |
|
73 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
74 extPref.SetConnSelectionDialog(ETrue); |
|
75 extPref.SetForcedRoaming(EFalse); |
|
76 |
|
77 #else |
|
78 |
|
79 //For hardware |
|
80 TUint32 bookmarkIap = aSettings->IapId(); |
|
81 CLOG_WRITE_1( "CConnManActiveConnector:StartConnection Active Bookmark Iap: %d", bookmarkIap ); |
|
82 if (bookmarkIap) |
|
83 { |
|
84 CLOG_WRITE( "CConnManActiveConnector:StartConnection Iap is found for this bookmark"); |
|
85 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
86 extPref.SetIapId(bookmarkIap); |
|
87 } |
|
88 else |
|
89 { |
|
90 CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap"); |
|
91 extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet); |
|
92 } |
|
93 |
|
94 #endif //__WINS__ |
|
95 |
|
96 extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); |
|
97 TConnPrefList prefList; |
|
98 TRAP_IGNORE(prefList.AppendL(&extPref)); |
|
99 #endif //BRDO_OCC_ENABLED_FF |
|
100 |
60 if( aSettings ) |
101 if( aSettings ) |
61 { |
102 { |
62 #ifdef __WINS__ |
103 #ifdef BRDO_OCC_ENABLED_FF |
63 // aSettings->SetDialogPreference( ECommDbDialogPrefPrompt ); |
104 iConnection.Start( prefList, iStatus ); |
64 #endif |
105 #else |
65 |
106 iConnection.Start( *aSettings, iStatus ); |
66 iConnection.Start( *aSettings, iStatus ); |
107 #endif |
67 } |
108 } |
68 else |
109 else |
69 { |
110 { |
70 iConnection.Start( iStatus ); |
111 iConnection.Start( iStatus ); |
71 } |
112 } |
72 |
113 |
77 |
118 |
78 //-------------------------------------------------------------------------- |
119 //-------------------------------------------------------------------------- |
79 //CConnManActiveConnector::StartConnection() |
120 //CConnManActiveConnector::StartConnection() |
80 //-------------------------------------------------------------------------- |
121 //-------------------------------------------------------------------------- |
81 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) |
122 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) |
82 { |
123 { |
83 CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); |
124 CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called"); |
84 iExternalRequestStatus = &aStatus; |
125 iExternalRequestStatus = &aStatus; |
85 |
126 |
|
127 #ifdef BRDO_OCC_ENABLED_FF |
|
128 |
|
129 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); |
|
130 TExtendedConnPref extPref; |
|
131 |
|
132 #ifdef __WINS__ |
|
133 |
|
134 //For emulator |
|
135 CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " ); |
|
136 extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); |
|
137 extPref.SetConnSelectionDialog(ETrue); |
|
138 extPref.SetForcedRoaming(EFalse); |
|
139 |
|
140 #else |
|
141 |
|
142 //For hardware |
|
143 CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap"); |
|
144 extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet); |
|
145 |
|
146 #endif //__WINS__ |
|
147 |
|
148 extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); |
|
149 TConnPrefList prefList; |
|
150 TRAP_IGNORE(prefList.AppendL(&extPref)); |
|
151 |
|
152 #endif |
|
153 |
86 if( aSettings ) |
154 if( aSettings ) |
87 { |
155 { |
88 iConnection.Start( *aSettings, iStatus ); |
156 #ifdef BRDO_OCC_ENABLED_FF |
89 } |
157 iConnection.Start( prefList, iStatus ); |
|
158 #else |
|
159 iConnection.Start( *aSettings, iStatus ); |
|
160 #endif |
|
161 } |
90 else |
162 else |
91 { |
163 { |
92 iConnection.Start( iStatus ); |
164 iConnection.Start( iStatus ); |
93 } |
165 } |
94 |
166 |
101 //CConnManActiveConnector::DoCancel() |
173 //CConnManActiveConnector::DoCancel() |
102 //-------------------------------------------------------------------------- |
174 //-------------------------------------------------------------------------- |
103 void CConnManActiveConnector::DoCancel() |
175 void CConnManActiveConnector::DoCancel() |
104 { |
176 { |
105 CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); |
177 CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); |
106 if(iWait) |
178 |
107 { |
179 iConnection.Close(); |
108 iConnection.Close(); |
180 User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req |
109 User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req |
181 |
110 } |
|
111 CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); |
182 CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); |
112 } |
183 } |
113 |
184 |
114 //-------------------------------------------------------------------------- |
185 //-------------------------------------------------------------------------- |
115 //CConnManActiveConnector::RunL() |
186 //CConnManActiveConnector::RunL() |
116 //-------------------------------------------------------------------------- |
187 //-------------------------------------------------------------------------- |
117 void CConnManActiveConnector::RunL() |
188 void CConnManActiveConnector::RunL() |
118 { |
189 { |
119 iWait = ETrue; |
190 |
120 CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); |
191 CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); |
121 User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); |
192 User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); |
122 } |
193 } |
123 |
194 |
124 //------------------------------------------------------ CActiveConnectorSyncWrapper ------------------------- |
195 //------------------------------------------------------ CActiveConnectorSyncWrapper ------------------------- |
198 //-------------------------------------------------------------------------- |
269 //-------------------------------------------------------------------------- |
199 //CActiveConnectorSyncWrapper::DoCancel() |
270 //CActiveConnectorSyncWrapper::DoCancel() |
200 //-------------------------------------------------------------------------- |
271 //-------------------------------------------------------------------------- |
201 void CActiveConnectorSyncWrapper::DoCancel() |
272 void CActiveConnectorSyncWrapper::DoCancel() |
202 { |
273 { |
203 if(iActiveConnector->IsActive()) |
274 |
204 { |
275 iActiveConnector->Cancel(); |
205 iActiveConnector->Cancel(); |
276 if(iWait.IsStarted()) |
206 } |
277 { |
207 if(iWait.IsStarted()) |
278 iWait.AsyncStop(); |
208 { |
279 } |
209 iWait.AsyncStop(); |
|
210 } |
|
211 |
280 |
212 } |
281 } |
213 |
282 |
214 //-------------------------------------------------------------------------- |
283 //-------------------------------------------------------------------------- |
215 //CActiveConnectorSyncWrapper::ConstructL() |
284 //CActiveConnectorSyncWrapper::ConstructL() |