secureswitools/swisistools/source/dumpsis/main.cpp
changeset 26 04d4a7bbc3e0
parent 0 ba25891c3a9e
equal deleted inserted replaced
25:98b66e4fb0be 26:04d4a7bbc3e0
   114 		{
   114 		{
   115 		options = new Options (argc, argv1);
   115 		options = new Options (argc, argv1);
   116 		
   116 		
   117 		SISLogger::SetStream(std::wcout);
   117 		SISLogger::SetStream(std::wcout);
   118 		
   118 		
   119 		CDumpSis dumpsis(options->SISFileName(), options->Verbose());
   119 		CDumpSis dumpsis(options->SISFileName(), options->Verbose(), options->GetCompatibleMode() );
   120 		
   120 		
   121 		CDumpSis::TExtractionLevel extractionLevel = CDumpSis::ENone;
   121 		CDumpSis::TExtractionLevel extractionLevel = CDumpSis::ENone;
   122 		
   122 		
   123 		if(options->ExtractFiles())
   123 		if(options->ExtractFiles())
   124 			{
   124 			{
   125 			extractionLevel = (options->Verbose())? CDumpSis::EEverything : CDumpSis::EAllButCerts;
   125 			if(options->GetIBYFlag())
       
   126 				extractionLevel = CDumpSis::EIbyFiles;
       
   127 			else
       
   128 				extractionLevel = (options->Verbose())? CDumpSis::EEverything : CDumpSis::EAllButCerts;
   126 			}
   129 			}
   127 		else
   130 		else
   128 			{
   131 			{
   129 			extractionLevel = CDumpSis::EAllDataFiles;
   132 			extractionLevel = CDumpSis::EAllDataFiles;
   130 			}
   133 			}
   144 	catch(CSISException oops)
   147 	catch(CSISException oops)
   145 		{
   148 		{
   146 		switch(oops.ErrorCategory())
   149 		switch(oops.ErrorCategory())
   147 			{
   150 			{
   148 			case CSISException::EFileProblem:
   151 			case CSISException::EFileProblem:
   149 				std::cerr << "cannot open specified SIS file for reading" << std::endl;
   152 				std::cerr << "File I/O error" << std::endl;
   150 				break;
   153 				break;
   151 			case CSISException::EFileFormat:
   154 			case CSISException::EFileFormat:
   152 			case CSISException::EMemory:
   155 			case CSISException::EMemory:
   153 			case CSISException::EIllegal:
   156 			case CSISException::EIllegal:
   154 				std::cerr << "error whilst parsing file contents" << std::endl;
   157 				std::cerr << "error whilst parsing file contents" << std::endl;
   179 	if ((NULL != options) && (options->PauseOnExit()))
   182 	if ((NULL != options) && (options->PauseOnExit()))
   180 		{
   183 		{
   181 		std::cout << argv[0] << " Finished" << std::endl;
   184 		std::cout << argv[0] << " Finished" << std::endl;
   182 		getchar ();
   185 		getchar ();
   183 		}
   186 		}
       
   187 
       
   188 	if(options->GetIBYFlag())
       
   189 		std::cout << std::endl << "IBY file created. Note, please remember to add stub-SIS file entry to IBY file!" << std::endl;
       
   190 
   184 	delete options;
   191 	delete options;
   185 
   192 
   186 	return retVal;
   193 	return retVal;
   187 	}
   194 	}