equal
deleted
inserted
replaced
109 res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); |
109 res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); |
110 |
110 |
111 if ( res != KErrNone ) |
111 if ( res != KErrNone ) |
112 { |
112 { |
113 res = LaunchServerL(); |
113 res = LaunchServerL(); |
114 User::LeaveIfError( res ); |
114 if ( res == KErrNone ) |
115 res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); |
115 { |
116 } |
116 res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); |
|
117 } |
|
118 else if ( res == KErrAlreadyExists ) |
|
119 { |
|
120 TInt retryCount = 3; |
|
121 |
|
122 while ( res != KErrNone && retryCount ) |
|
123 { |
|
124 res = CreateSession( KSOSServerName, KServerVersion, KDefaultMessageSlots ); |
|
125 if( res != KErrNone ) |
|
126 { |
|
127 // wait 1.5 seconds to give the server a chance to reach its serviceable state |
|
128 User::After( 1500000 ); |
|
129 --retryCount; |
|
130 } |
|
131 } |
|
132 } |
|
133 } |
117 |
134 |
118 User::LeaveIfError( res ); |
135 User::LeaveIfError( res ); |
119 |
136 |
120 CleanupClosePushL( *this ); // if leave occures, Close is called by cleanup |
137 CleanupClosePushL( *this ); // if leave occures, Close is called by cleanup |
121 |
138 |
137 _DBG_FILE("RSyncMLSession::RequestEventL(): begin"); |
154 _DBG_FILE("RSyncMLSession::RequestEventL(): begin"); |
138 |
155 |
139 if ( !iEventCallback ) |
156 if ( !iEventCallback ) |
140 { |
157 { |
141 // callback not yet created, create |
158 // callback not yet created, create |
142 iEventCallback = new (ELeave) CSmlActiveCallback( *this ); |
159 iEventCallback = new (ELeave) CSmlActiveCallback( *this ); |
143 } |
160 } |
144 |
161 |
145 iEventCallback->SetEventObserverL( aEventObserver ); |
162 iEventCallback->SetEventObserverL( aEventObserver ); |
146 |
163 |
147 _DBG_FILE("RSyncMLSession::RequestEventL(): end"); |
164 _DBG_FILE("RSyncMLSession::RequestEventL(): end"); |
148 } |
165 } |
149 |
166 |
150 // ----------------------------------------------------------------------------- |
167 // ----------------------------------------------------------------------------- |
176 if ( !iEventCallback ) |
193 if ( !iEventCallback ) |
177 { |
194 { |
178 // callback not yet created, create |
195 // callback not yet created, create |
179 iEventCallback = new (ELeave) CSmlActiveCallback( *this ); |
196 iEventCallback = new (ELeave) CSmlActiveCallback( *this ); |
180 } |
197 } |
181 |
198 |
182 iEventCallback->SetProgressObserverL( aProgressObserver ); |
199 iEventCallback->SetProgressObserverL( aProgressObserver ); |
183 |
200 |
|
201 |
184 _DBG_FILE("RSyncMLSession::RequestProgressL(): end"); |
202 _DBG_FILE("RSyncMLSession::RequestProgressL(): end"); |
185 } |
203 } |
186 |
204 |
187 // ----------------------------------------------------------------------------- |
205 // ----------------------------------------------------------------------------- |
188 // RSyncMLSession::CancelProgress() |
206 // RSyncMLSession::CancelProgress() |