Subversion Repositories spk

Rev

Rev 182 | Rev 185 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 182 Rev 183
Line 187... Line 187...
187
	}
187
	}
188
 
188
 
189
	return argList->Count();
189
	return argList->Count();
190
}
190
}
191
 
191
 
192
CyString InstallPackage(CyStringList *lArguments, CyStringList *errors, CPackages *packages, bool disabled)
192
CyString InstallPackage(CyStringList *lArguments, Utils::CStringList *errors, CPackages *packages, bool disabled)
193
{
193
{
194
	CProgressConsole progress;
194
	CProgressConsole progress;
195
 
195
 
196
	int error;
196
	int error;
197
 
197
 
Line 370... Line 370...
370
		return NullString;
370
		return NullString;
371
 
371
 
372
	// install the package file
372
	// install the package file
373
	printf ( "  - Installing                     " );
373
	printf ( "  - Installing                     " );
374
	CLinkList<CBaseFile> erroredPackages;
374
	CLinkList<CBaseFile> erroredPackages;
375
	if ( packages->InstallPreparedPackages(errors, &progress, &erroredPackages) )
375
	if ( packages->installPreparedPackages(errors, &progress, &erroredPackages) )
376
		progress.Finish();
376
		progress.Finish();
377
	else
377
	else
378
	{
378
	{
379
		printf ( "ERROR!\n" );
379
		printf ( "ERROR!\n" );
380
		return NullString;
380
		return NullString;
Line 419... Line 419...
419
	}
419
	}
420
 
420
 
421
	return 0;
421
	return 0;
422
}
422
}
423
 
423
 
424
bool UninstallPackage(int uninstallNum, CyStringList *errors, CPackages *packages, Utils::String &endMessage)
424
bool UninstallPackage(int uninstallNum, Utils::CStringList *errors, CPackages *packages, Utils::String &endMessage)
425
{
425
{
426
	CBaseFile *p = FindPackage(uninstallNum, packages);
426
	CBaseFile *p = FindPackage(uninstallNum, packages);
427
	if ( !p )
427
	if ( !p )
428
		return false;
428
		return false;
429
 
429
 
Line 458... Line 458...
458
		endMessage += "\n";
458
		endMessage += "\n";
459
	}
459
	}
460
 
460
 
461
	printf ( "  - Unistalling                    " );
461
	printf ( "  - Unistalling                    " );
462
	packages->PrepareUninstallPackage(p);
462
	packages->PrepareUninstallPackage(p);
463
	if ( packages->UninstallPreparedPackages(errors, &progress) )
463
	if ( packages->uninstallPreparedPackages(errors, &progress) )
464
	{
464
	{
465
		progress.Finish();
465
		progress.Finish();
466
	}
466
	}
467
	else
467
	else
468
	{
468
	{
Line 473... Line 473...
473
 
473
 
474
 
474
 
475
	return true;
475
	return true;
476
}
476
}
477
 
477
 
478
bool EnablePackage(int uninstallNum, CyStringList *errors, CPackages *packages, Utils::String &endMessage)
478
bool EnablePackage(int uninstallNum, Utils::CStringList *errors, CPackages *packages, Utils::String &endMessage)
479
{
479
{
480
	CBaseFile *p = FindPackage(uninstallNum, packages);
480
	CBaseFile *p = FindPackage(uninstallNum, packages);
481
	if ( !p )
481
	if ( !p )
482
		return false;
482
		return false;
483
 
483
 
484
	CProgressConsole progress;
484
	CProgressConsole progress;
485
 
485
 
486
	endMessage = "Enabled: " + p->getFullPackageName(packages->GetLanguage());
486
	endMessage = "Enabled: " + p->getFullPackageName(packages->GetLanguage());
487
 
487
 
488
	printf ( "  - Enabling                       " );
488
	printf ( "  - Enabling                       " );
489
	if ( packages->EnablePackage(p, errors, &progress) )
489
	if ( packages->enablePackage(p, errors, &progress) )
490
	{
490
	{
491
		progress.Finish();
491
		progress.Finish();
492
	}
492
	}
493
	else
493
	else
494
	{
494
	{
Line 501... Line 501...
501
		return false;
501
		return false;
502
	}
502
	}
503
	return true;
503
	return true;
504
}
504
}
505
 
505
 
506
bool DisablePackage(int uninstallNum, CyStringList *errors, CPackages *packages, Utils::String &endMessage)
506
bool DisablePackage(int uninstallNum, Utils::CStringList *errors, CPackages *packages, Utils::String &endMessage)
507
{
507
{
508
	CBaseFile *p = FindPackage(uninstallNum, packages);
508
	CBaseFile *p = FindPackage(uninstallNum, packages);
509
	if ( !p )
509
	if ( !p )
510
		return false;
510
		return false;
511
 
511
 
512
	CProgressConsole progress;
512
	CProgressConsole progress;
513
 
513
 
514
	endMessage = "Disabled: " + p->getFullPackageName(packages->GetLanguage());
514
	endMessage = "Disabled: " + p->getFullPackageName(packages->GetLanguage());
515
 
515
 
516
	printf ( "  - Disabling                      " );
516
	printf ( "  - Disabling                      " );
517
	if ( packages->DisablePackage(p, errors, &progress) )
517
	if ( packages->disablePackage(p, errors, &progress) )
518
	{
518
	{
519
		progress.Finish();
519
		progress.Finish();
520
	}
520
	}
521
	else
521
	else
522
	{
522
	{
Line 525... Line 525...
525
		return false;
525
		return false;
526
	}
526
	}
527
	return true;
527
	return true;
528
}
528
}
529
 
529
 
530
void RemoveUninstallScripts(CPackages *packages, CyStringList *errors)
530
void RemoveUninstallScripts(CPackages *packages, Utils::CStringList *errors)
531
{
531
{
532
	CProgressConsole progress;
532
	CProgressConsole progress;
533
	printf ( "  - Removing uninstall scripts     " );
533
	printf ( "  - Removing uninstall scripts     " );
534
	packages->RemoveUninstallScripts(errors, &progress);
534
	packages->removeUninstallScripts(errors, &progress);
535
	progress.Finish();
535
	progress.Finish();
536
}
536
}
537
 
537
 
538
void RemoveUnusedShared(CPackages *packages, CyStringList *errors)
538
void RemoveUnusedShared(CPackages *packages, Utils::CStringList *errors)
539
{
539
{
540
	CProgressConsole progress;
540
	CProgressConsole progress;
541
	printf ( "  - Removing unused shared files   " );
541
	printf ( "  - Removing unused shared files   " );
542
	packages->RemoveUnusedSharedFiles(errors, &progress);
542
	packages->removeUnusedSharedFiles(errors, &progress);
543
	progress.Finish();
543
	progress.Finish();
544
}
544
}
545
 
545
 
546
 
546
 
547
void PrintDebug(CyStringList *errors)
547
void PrintDebug(CyStringList *errors)
Line 653... Line 653...
653
		exit ( 1 );
653
		exit ( 1 );
654
	}
654
	}
655
 
655
 
656
	Utils::String destination = g_dir.ToString();
656
	Utils::String destination = g_dir.ToString();
657
	CyStringList errors;
657
	CyStringList errors;
-
 
658
	Utils::CStringList lErrors;
658
 
659
 
659
	// get the command flag
660
	// get the command flag
660
	CyString command(argv[1]);
661
	CyString command(argv[1]);
661
	command = command.lower();
662
	command = command.lower();
662
 
663
 
Line 793... Line 794...
793
				case 'i':
794
				case 'i':
794
					if ( argc <= start )
795
					if ( argc <= start )
795
						printf ( "Syntax: %s [flags] /i <file>\n\tInstalls a package to the destination\n", cmd.c_str() );
796
						printf ( "Syntax: %s [flags] /i <file>\n\tInstalls a package to the destination\n", cmd.c_str() );
796
					else
797
					else
797
					{
798
					{
798
						Utils::String aftertext = InstallPackage(&lArguments, &errors, &packages, disabled).ToString();
799
						Utils::String aftertext = InstallPackage(&lArguments, &lErrors, &packages, disabled).ToString();
799
						if(!aftertext.empty())
800
						if(!aftertext.empty())
800
						{
801
						{
801
							prepare = true;
802
							prepare = true;
802
							endMessage = aftertext;
803
							endMessage = aftertext;
803
						}
804
						}
Line 808... Line 809...
808
				case 'u':
809
				case 'u':
809
					if ( argc <= start )
810
					if ( argc <= start )
810
						printf ( "Syntax: %s [flags] /u <package#\n\tUninstalls a package, package# is from the /l list command\n", cmd.c_str() );
811
						printf ( "Syntax: %s [flags] /u <package#\n\tUninstalls a package, package# is from the /l list command\n", cmd.c_str() );
811
					else
812
					else
812
					{
813
					{
813
						prepare = UninstallPackage(CyString(argv[start]).ToInt(), &errors, &packages, endMessage);
814
						prepare = UninstallPackage(CyString(argv[start]).ToInt(), &lErrors, &packages, endMessage);
814
						PrintDebug(&errors);
815
						PrintDebug(&errors);
815
					}
816
					}
816
					break;
817
					break;
817
 
818
 
818
				case 'e':
819
				case 'e':
819
					if ( argc <= start )
820
					if ( argc <= start )
820
						printf ( "Syntax: %s [flags] /u <package#\n\tEnabled an installed package thats been disabled\n", cmd.c_str() );
821
						printf ( "Syntax: %s [flags] /u <package#\n\tEnabled an installed package thats been disabled\n", cmd.c_str() );
821
					else
822
					else
822
					{
823
					{
823
						prepare = EnablePackage(CyString(argv[start]).ToInt(), &errors, &packages, endMessage);
824
						prepare = EnablePackage(CyString(argv[start]).ToInt(), &lErrors, &packages, endMessage);
824
						PrintDebug(&errors);
825
						PrintDebug(&errors);
825
					}
826
					}
826
					break;
827
					break;
827
 
828
 
828
				case 'd':
829
				case 'd':
829
					if ( argc <= start )
830
					if ( argc <= start )
830
						printf ( "Syntax: %s [flags] /u <package#\n\tDisabled an installed package\n", cmd.c_str() );
831
						printf ( "Syntax: %s [flags] /u <package#\n\tDisabled an installed package\n", cmd.c_str() );
831
					else
832
					else
832
					{
833
					{
833
						prepare = DisablePackage(CyString(argv[start]).ToInt(), &errors, &packages, endMessage);
834
						prepare = DisablePackage(CyString(argv[start]).ToInt(), &lErrors, &packages, endMessage);
834
						PrintDebug(&errors);
835
						PrintDebug(&errors);
835
					}
836
					}
836
					break;
837
					break;
837
 
838
 
838
				case 'l':
839
				case 'l':
839
					ListPackages(&packages);
840
					ListPackages(&packages);
840
					break;
841
					break;
841
 
842
 
842
				case 'r':
843
				case 'r':
843
					RemoveUninstallScripts(&packages, &errors);
844
					RemoveUninstallScripts(&packages, &lErrors);
844
					endMessage = "Removed all unused uninstall scripts";
845
					endMessage = "Removed all unused uninstall scripts";
845
					break;
846
					break;
846
 
847
 
847
				case 's':
848
				case 's':
848
					RemoveUnusedShared(&packages, &errors);
849
					RemoveUnusedShared(&packages, &lErrors);
849
					endMessage = "Removed all unused shared files";
850
					endMessage = "Removed all unused shared files";
850
					break;
851
					break;
851
			}
852
			}
852
 
853
 
853
			if ( prepare )
854
			if ( prepare )
854
			{
855
			{
855
				errors.Clear();
856
				errors.Clear();
-
 
857
				lErrors.clear();
856
				printf ( "  - Preparing game directory       " );
858
				printf ( "  - Preparing game directory       " );
857
				if ( packages.CloseDir(&errors, &progress, true) )
859
				if ( packages.closeDir(&lErrors, &progress, true) )
858
					progress.Finish();
860
					progress.Finish();
859
				else
861
				else
860
				{
862
				{
861
					printf ( "ERROR!\n" );
863
					printf ( "ERROR!\n" );
862
					Pause();
864
					Pause();