39 //SQL query to delete the records with given uid |
39 //SQL query to delete the records with given uid |
40 _LIT(KBlistSqlDelete, "DELETE FROM table WHERE uid=%d"); |
40 _LIT(KBlistSqlDelete, "DELETE FROM table WHERE uid=%d"); |
41 //SQL query to fetch all the records in database |
41 //SQL query to fetch all the records in database |
42 _LIT(KBlistSqlFormatAll , "SELECT * FROM table"); |
42 _LIT(KBlistSqlFormatAll , "SELECT * FROM table"); |
43 _LIT(KDriveC, "c:"); |
43 _LIT(KDriveC, "c:"); |
44 //Unload plugins Table name in blacklist database |
44 //dontload plugins Table name in blacklist database |
45 _LIT( KBLUnloadTableName , "unloadtable" ); |
45 _LIT( KBLdontloadTableName , "dontloadtable" ); |
46 //SQL query to fetch all the records in unload table |
46 //SQL query to fetch all the records in dontload table |
47 _LIT(KUnloadlistSqlFormatAll , "SELECT * FROM unloadtable"); |
47 _LIT(KdontloadlistSqlFormatAll , "SELECT * FROM dontloadtable"); |
48 //SQL query to delete the records with given uid in unload table |
48 //SQL query to delete the records with given uid in dontload table |
49 _LIT(KunloadlistSqlDelete, "DELETE FROM unloadtable WHERE uid=%d"); |
49 _LIT(KdontloadlistSqlDelete, "DELETE FROM dontloadtable WHERE uid=%d"); |
50 //SQL query to fetch the records with given uid from unload table |
50 //SQL query to fetch the records with given uid from dontload table |
51 _LIT(KUnloadlistSqlFormatSeek , "SELECT * FROM unloadtable WHERE uid=%d"); |
51 _LIT(KdontloadlistSqlFormatSeek , "SELECT * FROM dontloadtable WHERE uid=%d"); |
52 // ----------------------------------------------------------------------------- |
52 // ----------------------------------------------------------------------------- |
53 // CBlacklistDb::NewL() |
53 // CBlacklistDb::NewL() |
54 // ----------------------------------------------------------------------------- |
54 // ----------------------------------------------------------------------------- |
55 // |
55 // |
56 CBlacklistDb* CBlacklistDb::NewL() |
56 CBlacklistDb* CBlacklistDb::NewL() |
376 datafile.Append(privatePath); |
376 datafile.Append(privatePath); |
377 datafile.Append( KBlacklistFileName ); |
377 datafile.Append( KBlacklistFileName ); |
378 |
378 |
379 //create the database |
379 //create the database |
380 User::LeaveIfError( iDatabase.Create( iFs , datafile ) ); |
380 User::LeaveIfError( iDatabase.Create( iFs , datafile ) ); |
381 CDbColSet* columns = CreateColumnSetLC();//creates the columns and push to cleanupstack |
381 CDbColSet* columns = CreateBlacklistColumnSetLC();//creates the columns and push to cleanupstack |
382 User::LeaveIfError( iDatabase.CreateTable( KBlacklistTableName , *columns ) ); |
382 User::LeaveIfError( iDatabase.CreateTable( KBlacklistTableName , *columns ) ); |
383 //Add table to store the unload plugins |
383 //Add table to store the dontload plugins |
384 CDbColSet* unloadcolumns = CreateUnloadColumnSetLC(); //creates the columns and push to cleanupstack |
384 CDbColSet* dontloadcolumns = CreateDontloadColumnSetLC(); //creates the columns and push to cleanupstack |
385 User::LeaveIfError( iDatabase.CreateTable( KBLUnloadTableName , *unloadcolumns ) ); |
385 User::LeaveIfError( iDatabase.CreateTable( KBLdontloadTableName , *dontloadcolumns ) ); |
386 //clean up of variables (columns and dataFile) |
386 //clean up of variables (columns and dataFile) |
387 CleanupStack::PopAndDestroy( 2 ); |
387 CleanupStack::PopAndDestroy( 2 ); |
388 |
388 |
389 CPIXLOGSTRING("CBlacklistDb::CreateDBL(): Exit"); |
389 CPIXLOGSTRING("CBlacklistDb::CreateDBL(): Exit"); |
390 OstTraceFunctionExit0( CBLACKLISTDB_CREATEDBL_EXIT ); |
390 OstTraceFunctionExit0( CBLACKLISTDB_CREATEDBL_EXIT ); |
391 } |
391 } |
392 |
392 |
393 // ----------------------------------------------------------------------------- |
393 // ----------------------------------------------------------------------------- |
394 // CBlacklistDb::CreateColumnSetLC |
394 // CBlacklistDb::CreateBlacklistColumnSetLC |
395 // ----------------------------------------------------------------------------- |
395 // ----------------------------------------------------------------------------- |
396 // |
396 // |
397 CDbColSet* CBlacklistDb::CreateColumnSetLC() |
397 CDbColSet* CBlacklistDb::CreateBlacklistColumnSetLC() |
398 { |
398 { |
399 OstTraceFunctionEntry0( CBLACKLISTDB_CREATECOLUMNSETLC_ENTRY ); |
399 OstTraceFunctionEntry0( CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_ENTRY ); |
400 CPIXLOGSTRING("CBlacklistDb::CreateColumnSetLC(): Enter"); |
400 CPIXLOGSTRING("CBlacklistDb::CreateColumnSetLC(): Enter"); |
401 |
401 |
402 CDbColSet* columns = CDbColSet::NewLC(); |
402 CDbColSet* columns = CDbColSet::NewLC(); |
403 |
403 |
404 //Add uid column |
404 //Add uid column |
412 col.iAttributes = TDbCol::ENotNull; |
412 col.iAttributes = TDbCol::ENotNull; |
413 columns->AddL( col ); |
413 columns->AddL( col ); |
414 |
414 |
415 CPIXLOGSTRING("CBlacklistDb::CreateColumnSetLC(): Exit"); |
415 CPIXLOGSTRING("CBlacklistDb::CreateColumnSetLC(): Exit"); |
416 |
416 |
417 OstTraceFunctionExit0( CBLACKLISTDB_CREATECOLUMNSETLC_EXIT ); |
417 OstTraceFunctionExit0( CBLACKLISTDB_CREATEBLACKLISTCOLUMNSETLC_EXIT ); |
418 return columns; // columns stays on CleanupStack |
418 return columns; // columns stays on CleanupStack |
419 } |
419 } |
420 |
420 |
421 // ----------------------------------------------------------------------------- |
421 // ----------------------------------------------------------------------------- |
422 // CBlacklistDb::CreateUnloadColumnSetLC |
422 // CBlacklistDb::CreateDontloadColumnSetLC |
423 // ----------------------------------------------------------------------------- |
423 // ----------------------------------------------------------------------------- |
424 // |
424 // |
425 CDbColSet* CBlacklistDb::CreateUnloadColumnSetLC() |
425 CDbColSet* CBlacklistDb::CreateDontloadColumnSetLC() |
426 { |
426 { |
427 OstTraceFunctionEntry0( CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_ENTRY ); |
427 OstTraceFunctionEntry0( CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_ENTRY ); |
428 CDbColSet* columns = CDbColSet::NewLC(); |
428 CDbColSet* columns = CDbColSet::NewLC(); |
429 |
429 |
430 //Add uid column |
430 //Add uid column |
431 TDbCol col( Kuid , EDbColInt32 ); |
431 TDbCol col( Kuid , EDbColInt32 ); |
432 col.iAttributes = TDbCol::ENotNull ; |
432 col.iAttributes = TDbCol::ENotNull ; |
433 columns->AddL( col ); |
433 columns->AddL( col ); |
434 |
434 |
435 OstTraceFunctionExit0( CBLACKLISTDB_CREATEUNLOADCOLUMNSETLC_EXIT ); |
435 OstTraceFunctionExit0( CBLACKLISTDB_CREATEDONTLOADCOLUMNSETLC_EXIT ); |
436 return columns; // columns stays on CleanupStack |
436 return columns; // columns stays on CleanupStack |
437 } |
437 } |
438 |
438 |
439 // ----------------------------------------------------------------------------- |
439 // ----------------------------------------------------------------------------- |
440 // CBlacklistDb::AddtoUnloadListL |
440 // CBlacklistDb::AddtoDontloadListL |
441 // ----------------------------------------------------------------------------- |
441 // ----------------------------------------------------------------------------- |
442 // |
442 // |
443 TInt CBlacklistDb::AddtoUnloadListL( TInt32 aPluginUid ) |
443 TInt CBlacklistDb::AddtoDontloadListL( TInt32 aPluginUid ) |
444 { |
444 { |
445 OstTraceFunctionEntry0( CBLACKLISTDB_ADDTOUNLOADLISTL_ENTRY ); |
445 OstTraceFunctionEntry0( CBLACKLISTDB_ADDTODONTLOADLISTL_ENTRY ); |
446 if ( !iOpened ) |
446 if ( !iOpened ) |
447 return KErrNotReady; |
447 return KErrNotReady; |
448 |
448 |
449 TInt err; |
449 TInt err; |
450 //Prepare the view |
450 //Prepare the view with all the rows in the donload table |
451 RDbView dbView; |
451 RDbView dbView; |
452 CleanupClosePushL( dbView ); |
452 CleanupClosePushL( dbView ); |
453 |
453 |
454 err = dbView.Prepare( iDatabase , TDbQuery( KUnloadlistSqlFormatAll ) ) ; |
454 err = dbView.Prepare( iDatabase , TDbQuery( KdontloadlistSqlFormatAll ) ) ; |
455 |
455 |
456 if ( err == KErrNone ) |
456 if ( err == KErrNone ) |
457 { |
457 { |
458 TRAP( err , dbView.InsertL() ); |
458 TRAP( err , dbView.InsertL() ); |
459 CDbColSet* colSet = dbView.ColSetL(); |
459 if ( err == KErrNone ) |
460 TDbColNo uidcolno = colSet->ColNo( Kuid ); |
460 { |
461 dbView.SetColL( uidcolno , aPluginUid ); |
461 CDbColSet* colSet = dbView.ColSetL(); |
462 dbView.PutL(); |
462 TDbColNo uidcolno = colSet->ColNo( Kuid ); |
|
463 dbView.SetColL( uidcolno , aPluginUid ); |
|
464 dbView.PutL(); |
|
465 } |
463 //If addition failed, rollback |
466 //If addition failed, rollback |
464 if(err != KErrNone) |
467 else |
465 { |
468 { |
466 iDatabase.Rollback(); |
469 iDatabase.Rollback(); |
467 } |
470 } |
468 } |
471 } |
469 CleanupStack::PopAndDestroy( &dbView ); // dbView/ |
472 CleanupStack::PopAndDestroy( &dbView ); // dbView/ |
470 User::LeaveIfError( iDatabase.Compact() ); |
473 User::LeaveIfError( iDatabase.Compact() ); |
471 |
474 |
472 OstTraceFunctionExit0( CBLACKLISTDB_ADDTOUNLOADLISTL_EXIT ); |
475 OstTraceFunctionExit0( CBLACKLISTDB_ADDTODONTLOADLISTL_EXIT ); |
473 return err; |
476 return err; |
474 } |
477 } |
475 // ----------------------------------------------------------------------------- |
478 // ----------------------------------------------------------------------------- |
476 // CBlacklistDb::RemoveFromUnloadListL |
479 // CBlacklistDb::RemoveFromDontloadListL |
477 // ----------------------------------------------------------------------------- |
480 // ----------------------------------------------------------------------------- |
478 // |
481 // |
479 void CBlacklistDb::RemoveFromUnloadListL( TInt32 aPluginUid ) |
482 void CBlacklistDb::RemoveFromDontloadListL( TInt32 aPluginUid ) |
480 { |
483 { |
481 OstTraceFunctionEntry0( CBLACKLISTDB_REMOVEFROMUNLOADLISTL_ENTRY ); |
484 OstTraceFunctionEntry0( CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_ENTRY ); |
482 if ( !iOpened ) |
485 if ( !iOpened ) |
483 return ; |
486 return ; |
484 |
487 |
485 //Remove the item record to database |
488 //Remove the item record to database |
486 // Create the sql statement. KBlistSqlDelete |
489 // Create the sql statement. KBlistSqlDelete |
487 TBuf<KBlistSqlStringMaxLength> sql; |
490 TBuf<KBlistSqlStringMaxLength> sql; |
488 sql.Format( KunloadlistSqlDelete , aPluginUid ); |
491 sql.Format( KdontloadlistSqlDelete , aPluginUid ); |
489 |
492 |
490 //delete the row. |
493 //delete the row. |
491 TInt rowCount( iDatabase.Execute(sql) ); |
494 TInt rowCount( iDatabase.Execute(sql) ); |
492 if(rowCount > 0) |
495 OstTrace1( TRACE_NORMAL, DUP3_CBLACKLISTDB_REMOVEFROMDONTLOADLISTL, "No. of rows removed succesfully is ;RowCount=%d", rowCount ); |
493 { |
496 |
494 OstTrace0( TRACE_NORMAL, CBLACKLISTDB_REMOVEFROMUNLOADLISTL, "CBlacklistDb::RemoveFromUnloadListL :: removed UID succesfully" ); |
497 CPIXLOGSTRING("CBlacklistDb::RemoveFromDontloadListL(): Exit"); |
495 CPIXLOGSTRING("CBlacklistDb::RemoveFromUnloadListL(): Removed UID succesfully"); |
498 |
496 } |
499 OstTraceFunctionExit0( CBLACKLISTDB_REMOVEFROMDONTLOADLISTL_EXIT ); |
497 else |
|
498 { |
|
499 OstTrace0( TRACE_NORMAL, DUP1_CBLACKLISTDB_REMOVEFROMUNLOADLISTL, "CBlacklistDb::RemoveFromUnloadListL:: UID not found" ); |
|
500 CPIXLOGSTRING("CBlacklistDb::RemoveFromUnloadListL(): UID not found"); |
|
501 } |
|
502 CPIXLOGSTRING("CBlacklistDb::RemoveFromUnloadListL(): Exit"); |
|
503 |
|
504 OstTraceFunctionExit0( CBLACKLISTDB_REMOVEFROMUNLOADLISTL_EXIT ); |
|
505 return ; |
500 return ; |
506 } |
501 } |
507 |
502 |
508 // ----------------------------------------------------------------------------- |
503 // ----------------------------------------------------------------------------- |
509 // CBlacklistDb::FindFromUnloadListL |
504 // CBlacklistDb::FindInDontloadListL |
510 // ----------------------------------------------------------------------------- |
505 // ----------------------------------------------------------------------------- |
511 // |
506 // |
512 TBool CBlacklistDb::FindFromUnloadListL( TInt32 aPluginUid ) |
507 TBool CBlacklistDb::FindInDontloadListL( TInt32 aPluginUid ) |
513 { |
508 { |
514 OstTraceFunctionEntry0( CBLACKLISTDB_FINDFROMUNLOADLISTL_ENTRY ); |
509 OstTraceFunctionEntry0( CBLACKLISTDB_FINDINDONTLOADLISTL_ENTRY ); |
515 CPIXLOGSTRING2("CBlacklistDb::FindFromUnloadListL(): Uid = %x " , aPluginUid ); |
510 CPIXLOGSTRING2("CBlacklistDb::FindInDontloadListL(): Uid = %x " , aPluginUid ); |
516 |
511 |
517 if ( !iOpened ) |
512 if ( !iOpened ) |
518 return EFalse; |
513 return EFalse; |
519 |
514 |
520 //Check if the item is available in database |
515 //Check if the item is available in database |
521 //Prepare the sql |
516 //Prepare the sql |
522 TBuf<KBlistSqlStringMaxLength> sql; |
517 TBuf<KBlistSqlStringMaxLength> sql; |
523 sql.Format( KUnloadlistSqlFormatSeek , aPluginUid ); |
518 sql.Format( KdontloadlistSqlFormatSeek , aPluginUid ); |
524 TBool found = EFalse; |
519 TBool found = EFalse; |
525 //Prepare the view |
520 //Prepare the view to get the list of rows which has the given Uid |
526 RDbView dbView; |
521 RDbView dbView; |
527 CleanupClosePushL( dbView ); |
522 CleanupClosePushL( dbView ); |
528 |
523 |
529 User::LeaveIfError( dbView.Prepare( iDatabase , TDbQuery(sql) , RDbView::EReadOnly ) ); |
524 User::LeaveIfError( dbView.Prepare( iDatabase , TDbQuery(sql) , RDbView::EReadOnly ) ); |
530 User::LeaveIfError( dbView.EvaluateAll() ); |
525 User::LeaveIfError( dbView.EvaluateAll() ); |
531 |
526 |
532 TInt isAtRow( dbView.FirstL() ); |
527 TInt isAtRow( dbView.FirstL() ); |
533 |
528 |
534 if ( isAtRow ) |
529 if ( isAtRow ) |
535 { |
530 { |
536 OstTrace0( TRACE_NORMAL, CBLACKLISTDB_FINDFROMUNLOADLISTL, "CBlacklistDb::FindFromUnloadListL::UID found" ); |
531 OstTrace0( TRACE_NORMAL, CBLACKLISTDB_FINDFROMDONTLOADLISTL, "CBlacklistDb::FindFromDontloadListL::UID found" ); |
537 CPIXLOGSTRING("CBlacklistDb::FindFromUnloadListL(): UID found"); |
532 CPIXLOGSTRING("CBlacklistDb::FindFromDontloadListL(): UID found"); |
538 found = ETrue; |
533 found = ETrue; |
539 } |
534 } |
540 CleanupStack::PopAndDestroy( &dbView ); // dbView/ |
535 CleanupStack::PopAndDestroy( &dbView ); // dbView/ |
541 OstTraceFunctionExit0( CBLACKLISTDB_FINDFROMUNLOADLISTL_EXIT ); |
536 OstTraceFunctionExit0( CBLACKLISTDB_FINDINDONTLOADLISTL_EXIT ); |
542 return found; |
537 return found; |
543 } |
538 } |