creator/src/engine.cpp
changeset 23 c9bf25a20c9f
parent 19 4b22a598b890
child 31 e7a04a6385be
equal deleted inserted replaced
19:4b22a598b890 23:c9bf25a20c9f
    56 #include <bitmaptransforms.h>
    56 #include <bitmaptransforms.h>
    57 
    57 
    58 _LIT(KEDriveError, "Not available");
    58 _LIT(KEDriveError, "Not available");
    59 _LIT(KTempPathDrive, "d");
    59 _LIT(KTempPathDrive, "d");
    60 _LIT(KTempPath, ":\\Creator\\");
    60 _LIT(KTempPath, ":\\Creator\\");
    61 //_LIT(KSavingText, "Saving");
       
    62 _LIT(KDeletingText, "Deleting");
       
    63 const TInt KRegisterDrive = EDriveC;
    61 const TInt KRegisterDrive = EDriveC;
    64 _LIT(KRegisterFileName, "creator_created_items.dat");
    62 _LIT(KRegisterFileName, "creator_created_items.dat");
    65 _LIT(KResourceFileName, "z:\\Resource\\apps\\datacreator.RSC");
    63 _LIT(KResourceFileName, "z:\\Resource\\apps\\datacreator.RSC");
    66 
    64 
    67 
    65 
   484         case ECmdDeleteNotes:
   482         case ECmdDeleteNotes:
   485             {
   483             {
   486             iNotepad->DeleteAllL();
   484             iNotepad->DeleteAllL();
   487             break;
   485             break;
   488             }
   486             }
   489 /*
   487 
   490         case ECmdDeleteIMPSs:
   488         case ECmdDeleteIMPSs:
   491             {
   489             {
   492             iIMPS->DeleteAllL();
   490 //            iIMPS->DeleteAllL();
   493             break;
   491             break;
   494             }
   492             }
   495         case ECmdDeleteCreatorIMPSs:
   493         case ECmdDeleteCreatorIMPSs:
   496             {
   494             {
   497             iIMPS->DeleteAllCreatedByCreatorL();
   495 //            iIMPS->DeleteAllCreatedByCreatorL();
   498             break;
   496             break;
   499             }
   497             }            
   500 */
       
   501         case ECmdDeleteBrowserBookmarks:
   498         case ECmdDeleteBrowserBookmarks:
   502             {
   499             {
   503             iBrowser->DeleteAllBookmarksL();
   500             iBrowser->DeleteAllBookmarksL();
   504             break;
   501             break;
   505             }
   502             }
   650         ExecuteCommand();
   647         ExecuteCommand();
   651 		}
   648 		}
   652     }
   649     }
   653 
   650 
   654 // ---------------------------------------------------------------------------
   651 // ---------------------------------------------------------------------------
       
   652 void CCreatorEngine::SortCommands()
       
   653 	{
       
   654 	TKeyArrayFix iBufKey(_FOFF(TCommand, iCommandId),ECmpTInt);
       
   655 	iCommandArray->Sort(iBufKey);
       
   656 	}
       
   657 // ---------------------------------------------------------------------------
   655 
   658 
   656 // This callback function is called when cancel button of the progress bar was pressed
   659 // This callback function is called when cancel button of the progress bar was pressed
   657 
   660 
   658 void CCreatorEngine::ProgressDialogCancelledL()
   661 void CCreatorEngine::ProgressDialogCancelledL()
   659     {
   662     {
   711     // reset user cancel flag
   714     // reset user cancel flag
   712     iUserCancelled = EFalse;
   715     iUserCancelled = EFalse;
   713     
   716     
   714     // start from the beginning
   717     // start from the beginning
   715     iCurrentEntry = 0;
   718     iCurrentEntry = 0;
   716 
       
   717     // we'll retrieve a correct number for this later
       
   718     iEntriesToBeCreated = 0;
       
   719 
   719 
   720     // init the command array
   720     // init the command array
   721     __ASSERT_ALWAYS(!iCommandArray, User::Panic(_L("iCommandArray"), 701));
   721     __ASSERT_ALWAYS(!iCommandArray, User::Panic(_L("iCommandArray"), 701));
   722     iCommandArray = new(ELeave) CCommandArray(10000);
   722     iCommandArray = new(ELeave) CCommandArray(10000);
   723 
   723 
   812     LOGSTRING("Creator: CCreatorEngine::DoCancel");
   812     LOGSTRING("Creator: CCreatorEngine::DoCancel");
   813 
   813 
   814     iTimer.Cancel();
   814     iTimer.Cancel();
   815     }
   815     }
   816 
   816 
   817 // ---------------------------------------------------------------------------
   817 void CCreatorEngine::ScriptChosenL( TBool aSuccess, const TDesC& aFileName )
   818 void CCreatorEngine::QueryDialogClosedL( TBool /*aPositiveAction*/, TInt /*aUserData*/ )
       
   819     {
       
   820     
       
   821     }
       
   822 
       
   823 void CCreatorEngine::FileChosenL( TBool aSuccess, const TDesC& aFileName )
       
   824     {
   818     {
   825     if( aSuccess )
   819     if( aSuccess )
   826         {
   820         {
   827         // open the file for reading
   821         // open the file for reading
   828         RFile scriptFile;
   822         RFile scriptFile;
   853             _LIT(KErrMsg, "Parser error: %d");
   847             _LIT(KErrMsg, "Parser error: %d");
   854             TBuf<32> msgBuf;
   848             TBuf<32> msgBuf;
   855             msgBuf.Format(KErrMsg, parseErr);
   849             msgBuf.Format(KErrMsg, parseErr);
   856             iEngineWrapper->ShowErrorMessage(msgBuf);
   850             iEngineWrapper->ShowErrorMessage(msgBuf);
   857             ShutDownEnginesL();
   851             ShutDownEnginesL();
   858             delete iCommandParser;
       
   859             iCommandParser = NULL;
       
   860             return;
   852             return;
   861             }         
   853             }         
   862         }
   854         }
   863 
   855 
   864     // start executing commands if commands in the command array
   856     // start executing commands if commands in the command array
   880     // startup modules (also inits the command array):
   872     // startup modules (also inits the command array):
   881     StartEnginesL();
   873     StartEnginesL();
   882 
   874 
   883     // use the command parser module to init the command array from a script file
   875     // use the command parser module to init the command array from a script file
   884     delete iCommandParser;
   876     delete iCommandParser;
       
   877     iCommandParser = NULL;
   885     iCommandParser = CCommandParser::NewL(this);
   878     iCommandParser = CCommandParser::NewL(this);
   886     TBool ret = EFalse;
   879     TBool ret = EFalse;
   887     TRAPD(err, ret = iCommandParser->OpenScriptL( this ) );
   880     TRAPD(err, ret = iCommandParser->OpenScriptL( this ) );
   888     if( err != KErrNone || ret == EFalse)
   881     if( err != KErrNone || ret == EFalse)
   889         {
   882         {
   930         }
   923         }
   931     else
   924     else
   932         {
   925         {
   933         ShutDownEnginesL();
   926         ShutDownEnginesL();
   934         return KErrCompletion; // nothing to do
   927         return KErrCompletion; // nothing to do
       
   928         }
       
   929     }
       
   930 
       
   931 // ---------------------------------------------------------------------------
       
   932 void CCreatorEngine::QueryDialogClosedL( TBool aPositiveAction, TInt aUserData )
       
   933     {
       
   934     LOGSTRING("Creator: CCreatorEngine::QueryDialogClosedL");
       
   935     
       
   936     if( aPositiveAction == EFalse )
       
   937         {
       
   938         ShutDownEnginesL();
       
   939         return;
       
   940         }
       
   941 
       
   942     switch(aUserData)
       
   943         {
       
   944         case ECreatorEngineDeleteAllEntries:
       
   945             AppendToCommandArrayL( ECmdDeleteContacts, NULL, 1 );
       
   946             AppendToCommandArrayL( ECmdDeleteContactGroups, NULL, 1 );
       
   947             AppendToCommandArrayL( ECmdDeleteCalendarEntries, NULL, 1 );
       
   948             AppendToCommandArrayL( ECmdDeleteBrowserBookmarks, NULL, 1 );
       
   949             AppendToCommandArrayL( ECmdDeleteBrowserBookmarkFolders, NULL, 1 );
       
   950             AppendToCommandArrayL( ECmdDeleteBrowserSavedPages, NULL, 1 );
       
   951             AppendToCommandArrayL( ECmdDeleteBrowserSavedPageFolders, NULL, 1 );
       
   952             AppendToCommandArrayL( ECmdDeleteLogs, NULL, 1 );
       
   953             AppendToCommandArrayL( ECmdDeleteMessages, NULL, 1 );
       
   954             AppendToCommandArrayL( ECmdDeleteIAPs, NULL, 1 );
       
   955             AppendToCommandArrayL( ECmdDeleteIMPSs, NULL, 1 );
       
   956             AppendToCommandArrayL( ECmdDeleteNotes, NULL, 1 );
       
   957             AppendToCommandArrayL( ECmdDeleteLandmarks, NULL, 1 );
       
   958             AppendToCommandArrayL( ECmdDeleteCreatorFiles, NULL, 1 );
       
   959             
       
   960             // started exucuting delete commands
       
   961             ExecuteFirstCommandL( KDeletingText );
       
   962             break;
       
   963         case ECreatorEngineDeleteAllCreatorEntries:
       
   964             AppendToCommandArrayL( ECmdDeleteCreatorContacts, NULL, 1 );
       
   965             AppendToCommandArrayL( ECmdDeleteCreatorContactGroups, NULL, 1 );
       
   966             AppendToCommandArrayL( ECmdDeleteCreatorCalendarEntries, NULL, 1 );
       
   967             AppendToCommandArrayL( ECmdDeleteCreatorBrowserBookmarks, NULL, 1 );
       
   968             AppendToCommandArrayL( ECmdDeleteCreatorBrowserBookmarkFolders, NULL, 1 );
       
   969             AppendToCommandArrayL( ECmdDeleteCreatorBrowserSavedPages, NULL, 1 );
       
   970             AppendToCommandArrayL( ECmdDeleteCreatorBrowserSavedPageFolders, NULL, 1 );
       
   971             AppendToCommandArrayL( ECmdDeleteCreatorFiles, NULL, 1 );
       
   972             AppendToCommandArrayL( ECmdDeleteCreatorLogs, NULL, 1 );
       
   973             AppendToCommandArrayL( ECmdDeleteCreatorMessages, NULL, 1 );
       
   974             AppendToCommandArrayL( ECmdDeleteCreatorIAPs, NULL, 1 );
       
   975             AppendToCommandArrayL( ECmdDeleteCreatorIMPSs, NULL, 1 );
       
   976             AppendToCommandArrayL( ECmdDeleteCreatorLandmarks, NULL, 1 );
       
   977             
       
   978             // started exucuting delete commands
       
   979             ExecuteFirstCommandL( KDeletingText );
       
   980             break;
       
   981         default:
       
   982             //some error
       
   983              ShutDownEnginesL();
       
   984             break;
   935         }
   985         }
   936     }
   986     }
   937 
   987 
   938 // ---------------------------------------------------------------------------
   988 // ---------------------------------------------------------------------------
   939 
   989 
  1104     //If it's a delete command, asking do you really want to delete
  1154     //If it's a delete command, asking do you really want to delete
  1105     if( IsDeleteCommand( aCommand ) )
  1155     if( IsDeleteCommand( aCommand ) )
  1106         {
  1156         {
  1107         if ( aCommand == ECmdDeleteAllEntries )
  1157         if ( aCommand == ECmdDeleteAllEntries )
  1108             {
  1158             {
  1109             if ( iEngineWrapper->YesNoQueryDialog( _L("Delete all entries?") ) )
  1159             if ( !iEngineWrapper->YesNoQueryDialog( _L("Delete all entries?"), this, ECreatorEngineDeleteAllEntries) )
  1110                 {
       
  1111                 AppendToCommandArrayL( ECmdDeleteContacts, NULL, 1 );
       
  1112                 AppendToCommandArrayL( ECmdDeleteContactGroups, NULL, 1 );
       
  1113                 AppendToCommandArrayL( ECmdDeleteCalendarEntries, NULL, 1 );
       
  1114                 AppendToCommandArrayL( ECmdDeleteBrowserBookmarks, NULL, 1 );
       
  1115                 AppendToCommandArrayL( ECmdDeleteBrowserBookmarkFolders, NULL, 1 );
       
  1116                 AppendToCommandArrayL( ECmdDeleteBrowserSavedPages, NULL, 1 );
       
  1117                 AppendToCommandArrayL( ECmdDeleteBrowserSavedPageFolders, NULL, 1 );
       
  1118                 AppendToCommandArrayL( ECmdDeleteLogs, NULL, 1 );
       
  1119                 AppendToCommandArrayL( ECmdDeleteMessages, NULL, 1 );
       
  1120                 AppendToCommandArrayL( ECmdDeleteIAPs, NULL, 1 );
       
  1121                 AppendToCommandArrayL( ECmdDeleteIMPSs, NULL, 1 );
       
  1122                 AppendToCommandArrayL( ECmdDeleteNotes, NULL, 1 );
       
  1123                 AppendToCommandArrayL( ECmdDeleteLandmarks, NULL, 1 );
       
  1124                 AppendToCommandArrayL( ECmdDeleteCreatorFiles, NULL, 1 );
       
  1125                 
       
  1126                 // started exucuting delete commands
       
  1127                 ExecuteFirstCommandL( KDeletingText );
       
  1128                 }
       
  1129             else
       
  1130                 {
  1160                 {
  1131                 // cancelled, free resources
  1161                 // cancelled, free resources
  1132                 ShutDownEnginesL();
  1162                 ShutDownEnginesL();
  1133                 }
  1163                 }
  1134             }
  1164             }
  1135         else if ( aCommand == ECmdDeleteAllCreatorEntries )
  1165         else if ( aCommand == ECmdDeleteAllCreatorEntries )
  1136             {
  1166             {
  1137             if ( iEngineWrapper->YesNoQueryDialog( _L("Delete all entries created with Creator?") ) )
  1167             if ( !iEngineWrapper->YesNoQueryDialog( _L("Delete all entries created with Creator?"), this, ECreatorEngineDeleteAllCreatorEntries ) )
  1138                 {
       
  1139                 AppendToCommandArrayL( ECmdDeleteCreatorContacts, NULL, 1 );
       
  1140                 AppendToCommandArrayL( ECmdDeleteCreatorContactGroups, NULL, 1 );
       
  1141                 AppendToCommandArrayL( ECmdDeleteCreatorCalendarEntries, NULL, 1 );
       
  1142                 AppendToCommandArrayL( ECmdDeleteCreatorBrowserBookmarks, NULL, 1 );
       
  1143                 AppendToCommandArrayL( ECmdDeleteCreatorBrowserBookmarkFolders, NULL, 1 );
       
  1144                 AppendToCommandArrayL( ECmdDeleteCreatorBrowserSavedPages, NULL, 1 );
       
  1145                 AppendToCommandArrayL( ECmdDeleteCreatorBrowserSavedPageFolders, NULL, 1 );
       
  1146                 AppendToCommandArrayL( ECmdDeleteCreatorFiles, NULL, 1 );
       
  1147                 AppendToCommandArrayL( ECmdDeleteCreatorLogs, NULL, 1 );
       
  1148                 AppendToCommandArrayL( ECmdDeleteCreatorMessages, NULL, 1 );
       
  1149                 AppendToCommandArrayL( ECmdDeleteCreatorIAPs, NULL, 1 );
       
  1150                 AppendToCommandArrayL( ECmdDeleteCreatorIMPSs, NULL, 1 );
       
  1151                 AppendToCommandArrayL( ECmdDeleteCreatorLandmarks, NULL, 1 );
       
  1152                 
       
  1153                 // started exucuting delete commands
       
  1154                 ExecuteFirstCommandL( KDeletingText );
       
  1155                 }
       
  1156             else
       
  1157                 {
  1168                 {
  1158                 // cancelled, free resources
  1169                 // cancelled, free resources
  1159                 ShutDownEnginesL();
  1170                 ShutDownEnginesL();
  1160                 }
  1171                 }
  1161             }
  1172             }
  1162         else if ( iUsedOptionsMenuModule->AskDataFromUserL( aCommand )  )
  1173         else if ( !iUsedOptionsMenuModule->AskDataFromUserL( aCommand )  )
  1163             {
  1174             {
  1164             // add this command to command array
  1175             // cancelled or error, free resources
  1165 //            AppendToCommandArrayL( aCommand, NULL, 1 );
       
  1166     
       
  1167             // started exucuting commands
       
  1168 //            ExecuteFirstCommandL( KDeletingText );        
       
  1169             }
       
  1170         else
       
  1171             {
       
  1172             // cancelled, free resources
       
  1173             ShutDownEnginesL();
  1176             ShutDownEnginesL();
  1174             }
  1177             }
  1175         }
  1178         }
  1176 
  1179 
  1177     // ask user data, if query accepted start processing...
  1180     // ask user data, if query accepted start processing...
  1178     else if (iUsedOptionsMenuModule->AskDataFromUserL(aCommand))
  1181     else if (!iUsedOptionsMenuModule->AskDataFromUserL(aCommand))
  1179         {
  1182         {
  1180         // add this command to command array
  1183         // cancelled or error, free resources
  1181         //AppendToCommandArrayL(aCommand, NULL, iEntriesToBeCreated);
       
  1182 
       
  1183         // started exucuting commands
       
  1184         //ExecuteFirstCommandL( KSavingText );
       
  1185         }
       
  1186      else
       
  1187         {
       
  1188         // cancelled, free resources
       
  1189         ShutDownEnginesL();
  1184         ShutDownEnginesL();
  1190         }
  1185         }
  1191     }
  1186     }
  1192 
  1187 
  1193 
  1188 
  1238             return EFalse;
  1233             return EFalse;
  1239             }
  1234             }
  1240         }
  1235         }
  1241      
  1236      
  1242     }
  1237     }
       
  1238 // ---------------------------------------------------------------------------
       
  1239 void CCreatorEngine::RandomDataFileChosenL( TBool aSuccess, const TDesC& aFileName )
       
  1240     {
       
  1241     if( aSuccess )
       
  1242         {
       
  1243         GetRandomDataFromFileL( aFileName );
       
  1244         }
       
  1245     }
  1243 
  1246 
  1244 // ---------------------------------------------------------------------------
  1247 // ---------------------------------------------------------------------------
  1245 
  1248 
  1246 TBool CCreatorEngine::GetRandomDataL()
  1249 TBool CCreatorEngine::GetRandomDataL()
  1247 	{
  1250 	{
  1248     TFileName fileName;
  1251     delete iCommandParser;
  1249     CCommandParser* commandParser = CCommandParser::NewLC(this);
  1252     iCommandParser = NULL;
  1250 	TBool ret = commandParser->GetRandomDataFilenameL(fileName);
  1253     iCommandParser = CCommandParser::NewL( this );
  1251     CleanupStack::PopAndDestroy(commandParser);
  1254 	return iCommandParser->GetRandomDataFilenameL( this );
  1252     if (ret)
       
  1253         {
       
  1254         ret = GetRandomDataFromFileL(fileName);
       
  1255         }
       
  1256     return ret;
       
  1257 	}
  1255 	}
  1258 
  1256 
  1259 // ---------------------------------------------------------------------------
  1257 // ---------------------------------------------------------------------------
  1260 
  1258 
  1261 TBool CCreatorEngine::GetRandomDataFromFileL(const TDesC& aFilename)
  1259 TBool CCreatorEngine::GetRandomDataFromFileL(const TDesC& aFilename)