170 TInt error = lex.Val( ret ); |
170 TInt error = lex.Val( ret ); |
171 return error == KErrNone ? ret : error; |
171 return error == KErrNone ? ret : error; |
172 } |
172 } |
173 |
173 |
174 // --------------------------------------------------------- |
174 // --------------------------------------------------------- |
175 // CXcapCacheServer::DateL |
175 // CXcapCacheServer::Date |
176 // |
176 // |
177 // --------------------------------------------------------- |
177 // --------------------------------------------------------- |
178 // |
178 // |
179 HBufC* CXcapCacheServer::DateL() |
179 TBuf<KDateMaxSize> CXcapCacheServer::Date() |
180 { |
180 { |
181 TTime time; |
181 TTime time; |
182 TBuf<KDateMaxSize> dateBuffer; |
182 TBuf<KDateMaxSize> dateBuffer; |
183 dateBuffer.SetLength( 0 ); |
183 dateBuffer.SetLength( 0 ); |
184 time.HomeTime(); |
184 time.HomeTime(); |
185 time.FormatL( dateBuffer, KCacheDateFormat ); |
185 time.FormatL( dateBuffer, KCacheDateFormat ); |
186 HBufC* heapDate = dateBuffer.AllocL(); |
186 return dateBuffer; |
187 return heapDate; |
187 } |
188 } |
188 |
189 |
189 // --------------------------------------------------------- |
190 // --------------------------------------------------------- |
190 // CXcapCacheServer::DateTime |
191 // CXcapCacheServer::DateTimeL |
191 // |
192 // |
192 // --------------------------------------------------------- |
193 // --------------------------------------------------------- |
193 // |
194 // |
194 TBuf<KDateTimeMaxSize> CXcapCacheServer::DateTime() |
195 HBufC* CXcapCacheServer::DateTimeL() |
|
196 { |
195 { |
197 TTime time; |
196 TTime time; |
198 TBuf<KDateMaxSize> dateBuffer; |
197 TBuf<KDateMaxSize> dateBuffer; |
199 time.HomeTime(); |
198 time.HomeTime(); |
200 time.FormatL( dateBuffer, KDateFormatFileName ); |
199 time.FormatL( dateBuffer, KDateFormatFileName ); |
201 TBuf<KDateMaxSize> timeBuffer; |
200 TBuf<KDateMaxSize> timeBuffer; |
202 time.HomeTime(); |
201 time.HomeTime(); |
203 time.FormatL( timeBuffer, KTimeFormatFileName ); |
202 time.FormatL( timeBuffer, KTimeFormatFileName ); |
204 TBuf<KDateTimeMaxSize> buffer; |
203 TBuf<KDateTimeMaxSize> buffer; |
205 buffer.SetLength( 0 ); |
204 buffer.SetLength( 0 ); |
206 buffer.Copy( dateBuffer ); |
205 buffer.Copy( dateBuffer ); |
207 buffer.Append( timeBuffer ); |
206 buffer.Append( timeBuffer ); |
208 HBufC* ret = HBufC::NewL( buffer.Length() ); |
207 return buffer; |
209 ret->Des().Copy( buffer ); |
208 } |
210 return ret; |
209 |
211 } |
210 // --------------------------------------------------------- |
212 |
211 // CXcapCacheServer::DateTime |
213 // --------------------------------------------------------- |
212 // |
214 // CXcapCacheServer::DateTimeL |
213 // --------------------------------------------------------- |
215 // |
214 // |
216 // --------------------------------------------------------- |
215 TBuf<KDateTimeMaxSize> CXcapCacheServer::DateTime( const TTime& aTime ) |
217 // |
|
218 HBufC* CXcapCacheServer::DateTimeL( const TTime& aTime ) |
|
219 { |
216 { |
220 TBuf<KDateTimeMaxSize> dateTimeBuffer; |
217 TBuf<KDateTimeMaxSize> dateTimeBuffer; |
221 aTime.FormatL( dateTimeBuffer, KDateTimeFormat ); |
218 aTime.FormatL( dateTimeBuffer, KDateTimeFormat ); |
222 HBufC* heapDateTime = dateTimeBuffer.AllocL(); |
219 return dateTimeBuffer; |
223 return heapDateTime; |
|
224 } |
220 } |
225 |
221 |
226 // ---------------------------------------------------------- |
222 // ---------------------------------------------------------- |
227 // CXcapCacheServer::MaxCacheSize |
223 // CXcapCacheServer::MaxCacheSize |
228 // |
224 // |
260 aEntryCount = entryCount; |
256 aEntryCount = entryCount; |
261 return total; |
257 return total; |
262 } |
258 } |
263 |
259 |
264 // --------------------------------------------------------- |
260 // --------------------------------------------------------- |
265 // CXcapCacheServer::RandomStringL |
261 // CXcapCacheServer::RandomString |
266 // |
262 // |
267 // --------------------------------------------------------- |
263 // --------------------------------------------------------- |
268 // |
264 // |
269 HBufC* CXcapCacheServer::RandomStringL() |
265 TBuf<KRandStringLength> CXcapCacheServer::RandomString() |
270 { |
266 { |
271 const TInt charCount( sizeof( KRandomStringCharArray ) / sizeof( TInt ) ); |
267 const TInt charCount( sizeof( KRandomStringCharArray ) / sizeof( TInt ) ); |
272 TBuf<KRandStringLength> buffer; |
268 TBuf<KRandStringLength> buffer; |
273 buffer.Zero(); |
269 buffer.Zero(); |
274 for( TInt i = 0; i < KRandStringLength;i++ ) |
270 for( TInt i = 0; i < KRandStringLength;i++ ) |
275 { |
271 { |
276 TInt index = Math::Random() % charCount; |
272 TInt index = Math::Random() % charCount; |
277 buffer.Append( ( TChar )KRandomStringCharArray[index] ); |
273 buffer.Append( ( TChar )KRandomStringCharArray[index] ); |
278 } |
274 } |
279 HBufC* randomHeapBuffer = buffer.AllocL(); |
275 return buffer; |
280 return randomHeapBuffer; |
276 } |
281 } |
277 |
282 |
278 // --------------------------------------------------------- |
283 // --------------------------------------------------------- |
279 // CXcapCacheServer::Time |
284 // CXcapCacheServer::TimeL |
280 // |
285 // |
281 // --------------------------------------------------------- |
286 // --------------------------------------------------------- |
282 // |
287 // |
283 TBuf<KDateMaxSize> CXcapCacheServer::Time() |
288 HBufC* CXcapCacheServer::TimeL() |
|
289 { |
284 { |
290 TTime time; |
285 TTime time; |
291 TBuf<KDateMaxSize> timeBuffer; |
286 TBuf<KDateMaxSize> timeBuffer; |
292 timeBuffer.SetLength( 0 ); |
287 timeBuffer.SetLength( 0 ); |
293 time.HomeTime(); |
288 time.HomeTime(); |
294 time.FormatL( timeBuffer, KCacheTimeFormat ); |
289 time.FormatL( timeBuffer, KCacheTimeFormat ); |
295 HBufC* heapTime = timeBuffer.AllocL(); |
290 return timeBuffer; |
296 return heapTime; |
|
297 } |
291 } |
298 |
292 |
299 // --------------------------------------------------------- |
293 // --------------------------------------------------------- |
300 // CXcapCacheServer::DescriptorCast |
294 // CXcapCacheServer::DescriptorCast |
301 // |
295 // |
338 { |
332 { |
339 return CacheIndexAdmin; |
333 return CacheIndexAdmin; |
340 } |
334 } |
341 |
335 |
342 // ---------------------------------------------------- |
336 // ---------------------------------------------------- |
343 // CXcapCacheServer::StartThreadL |
337 // CXcapCacheServer::StartThread |
344 // |
338 // |
345 // ---------------------------------------------------- |
339 // ---------------------------------------------------- |
346 // |
340 // |
347 EXPORT_C TInt CXcapCacheServer::StartThreadL() |
341 EXPORT_C TInt CXcapCacheServer::StartThread() |
348 { |
342 { |
349 User::LeaveIfError( User::RenameThread( KXcapCacheServerName ) ); |
343 User::LeaveIfError( User::RenameThread( KXcapCacheServerName ) ); |
350 CActiveScheduler* scheduler = new ( ELeave ) CActiveScheduler; |
344 CActiveScheduler* scheduler = new ( ELeave ) CActiveScheduler; |
351 CleanupStack::PushL( scheduler ); |
345 CleanupStack::PushL( scheduler ); |
352 CActiveScheduler::Install( scheduler ); |
346 CActiveScheduler::Install( scheduler ); |
353 User::LeaveIfError( FsSession.Connect() ); |
347 User::LeaveIfError( FsSession.Connect() ); |
354 CleanupClosePushL( FsSession ); |
348 CleanupClosePushL( FsSession ); |
355 CXcapCacheServer::NewLC(); |
349 CXcapCacheServer::NewLC(); |
356 CacheIndex = CXcapCacheIndex::NewL(); |
350 CacheIndex = CXcapCacheIndex::NewL(); |
357 CleanupStack::PushL( CacheIndex ); |
351 CleanupStack::PushL( CacheIndex ); |
358 CacheIndexAdmin = CXcapCacheIndexAdmin::NewL(); |
352 CacheIndexAdmin = CXcapCacheIndexAdmin::NewL(); |
359 CleanupStack::PushL( CacheIndexAdmin ); |
353 CleanupStack::PushL( CacheIndexAdmin ); |
360 RProcess::Rendezvous( KErrNone ); |
354 RProcess::Rendezvous( KErrNone ); |
361 #ifdef _DEBUG |
355 #ifdef _DEBUG |
362 CXcapCacheServer::WriteToLog( _L8( "XcapCacheServer fully running" ) ); |
356 CXcapCacheServer::WriteToLog( _L8( "XcapCacheServer fully running" ) ); |
|
357 #endif |
|
358 CActiveScheduler::Start(); |
|
359 #ifdef _DEBUG |
|
360 CXcapCacheServer::WriteToLog( _L8( "XcapCacheServer closing..." ) ); |
363 #endif |
361 #endif |
364 CActiveScheduler::Start(); |
362 CleanupStack::PopAndDestroy( 5 ); //CacheIndexAdmin, CacheIndex, server, FsSession, scheduler |
365 #ifdef _DEBUG |
363 return KErrNone; |
366 CXcapCacheServer::WriteToLog( _L8( "XcapCacheServer closing..." ) ); |
|
367 #endif |
|
368 CleanupStack::PopAndDestroy( 5 ); //CacheIndexAdmin, CacheIndex, server, FsSession, scheduler |
|
369 return KErrNone; |
|
370 } |
364 } |
371 |
365 |
372 // ---------------------------------------------------- |
366 // ---------------------------------------------------- |
373 // CXcapCacheServer::WriteToLog |
367 // CXcapCacheServer::WriteToLog |
374 // |
368 // |