17 * |
17 * |
18 * |
18 * |
19 */ |
19 */ |
20 |
20 |
21 |
21 |
22 #include <browser_platform_variant.hrh> |
22 |
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 |
|
32 |
28 |
33 //-------------------------------------------------------------------------- |
29 //-------------------------------------------------------------------------- |
34 //CConnManActiveConnector::CConnManActiveConnector() |
30 //CConnManActiveConnector::CConnManActiveConnector() |
35 //-------------------------------------------------------------------------- |
31 //-------------------------------------------------------------------------- |
36 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, |
32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, |
37 TInt aPriority ) |
33 TInt aPriority ) |
38 : CActive( aPriority ) |
34 : CActive( aPriority ) |
39 , iConnection( aConnection ) |
35 , iConnection( aConnection ) |
40 { |
36 { |
41 |
|
42 CLOG_CREATE; |
37 CLOG_CREATE; |
43 CActiveScheduler::Add( this );//inserting this into the queue |
38 CActiveScheduler::Add( this );//inserting this into the queue |
44 } |
39 } |
45 |
40 |
46 //-------------------------------------------------------------------------- |
41 //-------------------------------------------------------------------------- |
47 //CConnManActiveConnector::~CConnManActiveConnector() |
42 //CConnManActiveConnector::~CConnManActiveConnector() |
48 //-------------------------------------------------------------------------- |
43 //-------------------------------------------------------------------------- |
49 CConnManActiveConnector::~CConnManActiveConnector() |
44 CConnManActiveConnector::~CConnManActiveConnector() |
50 { |
45 { |
51 |
|
52 Cancel();//The standard way of destroying an Active object |
46 Cancel();//The standard way of destroying an Active object |
53 CLOG_CLOSE; |
47 CLOG_CLOSE; |
54 } |
48 } |
55 |
49 |
56 //-------------------------------------------------------------------------- |
50 //-------------------------------------------------------------------------- |
57 //CConnManActiveConnector::StartConnection() |
51 //CConnManActiveConnector::StartConnection() |
58 //-------------------------------------------------------------------------- |
52 //-------------------------------------------------------------------------- |
59 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) |
53 void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) |
60 { |
54 { |
61 CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called"); |
55 CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); |
62 iExternalRequestStatus = &aStatus; |
56 iExternalRequestStatus = &aStatus; |
63 |
57 |
64 #ifdef BRDO_OCC_ENABLED_FF |
58 if( aSettings ) |
65 |
59 { |
66 TExtendedConnPref extPref; |
60 #ifdef __WINS__ |
67 CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); |
61 // aSettings->SetDialogPreference( ECommDbDialogPrefPrompt ); |
68 |
62 #endif |
69 #ifdef __WINS__ //This is only for emulator testing purpose |
63 |
70 |
64 iConnection.Start( *aSettings, iStatus ); |
71 //For emulator |
65 } |
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 |
66 else |
89 { |
67 { |
90 CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap"); |
68 iConnection.Start( iStatus ); |
91 extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet); |
69 } |
92 } |
70 |
93 |
71 SetActive(); |
94 #endif //__WINS__ |
72 |
95 |
73 *iExternalRequestStatus = KRequestPending; |
96 extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); |
74 } |
97 TConnPrefList prefList; |
75 |
98 TRAP_IGNORE(prefList.AppendL(&extPref)); |
76 //-------------------------------------------------------------------------- |
99 #endif //BRDO_OCC_ENABLED_FF |
77 //CConnManActiveConnector::StartConnection() |
100 |
78 //-------------------------------------------------------------------------- |
|
79 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) |
|
80 { |
|
81 CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); |
|
82 iExternalRequestStatus = &aStatus; |
|
83 |
101 if( aSettings ) |
84 if( aSettings ) |
102 { |
85 { |
103 #ifdef BRDO_OCC_ENABLED_FF |
86 iConnection.Start( *aSettings, iStatus ); |
104 iConnection.Start( prefList, iStatus ); |
87 } |
105 #else |
|
106 iConnection.Start( *aSettings, iStatus ); |
|
107 #endif |
|
108 } |
|
109 else |
|
110 { |
|
111 iConnection.Start( iStatus ); |
|
112 } |
|
113 |
|
114 SetActive(); |
|
115 |
|
116 *iExternalRequestStatus = KRequestPending; |
|
117 } |
|
118 |
|
119 //-------------------------------------------------------------------------- |
|
120 //CConnManActiveConnector::StartConnection() |
|
121 //-------------------------------------------------------------------------- |
|
122 void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) |
|
123 { |
|
124 CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called"); |
|
125 iExternalRequestStatus = &aStatus; |
|
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 |
|
154 if( aSettings ) |
|
155 { |
|
156 #ifdef BRDO_OCC_ENABLED_FF |
|
157 iConnection.Start( prefList, iStatus ); |
|
158 #else |
|
159 iConnection.Start( *aSettings, iStatus ); |
|
160 #endif |
|
161 } |
|
162 else |
88 else |
163 { |
89 { |
164 iConnection.Start( iStatus ); |
90 iConnection.Start( iStatus ); |
165 } |
91 } |
166 |
92 |
173 //CConnManActiveConnector::DoCancel() |
99 //CConnManActiveConnector::DoCancel() |
174 //-------------------------------------------------------------------------- |
100 //-------------------------------------------------------------------------- |
175 void CConnManActiveConnector::DoCancel() |
101 void CConnManActiveConnector::DoCancel() |
176 { |
102 { |
177 CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); |
103 CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); |
178 |
|
179 iConnection.Close(); |
104 iConnection.Close(); |
180 User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req |
105 User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req |
181 |
|
182 CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); |
106 CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); |
183 } |
107 } |
184 |
108 |
185 //-------------------------------------------------------------------------- |
109 //-------------------------------------------------------------------------- |
186 //CConnManActiveConnector::RunL() |
110 //CConnManActiveConnector::RunL() |
187 //-------------------------------------------------------------------------- |
111 //-------------------------------------------------------------------------- |
188 void CConnManActiveConnector::RunL() |
112 void CConnManActiveConnector::RunL() |
189 { |
113 { |
190 |
|
191 CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); |
114 CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); |
192 User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); |
115 User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); |
193 } |
116 } |
194 |
117 |
195 //------------------------------------------------------ CActiveConnectorSyncWrapper ------------------------- |
118 //------------------------------------------------------ CActiveConnectorSyncWrapper ------------------------- |