int main() {
    testAll();

    PetRepo *repo = createRepo();
    PetController* ctr = createController(repo);
    addSamplePets(ctr);
    startUI(ctr);
    return 0;
}
Exemple #2
0
void main()
{
   startUI();
}
Exemple #3
0
bool parseArgs(int argc, char *argv[])
{	
	if (argc == 1)	   // argv[0] is always the name of the program, the size is always > 0
		{return true;} // If no arguments are given, go to interavtive mode
		
	else if (argc > 1)
	{
		// Initialize the ArgumentParser
		ArgsParser::load(argc, argv);
		
		// As long as there are some args left
		while (ArgsParser::argsLeft() != 0)
		{
		
			if 		(ArgsParser::flag() == "a" ||
					 ArgsParser::flag() == "add")
					{
						if (ArgsParser::parameter().empty())
						{
							cout << "To which dictionary do you want to add?" << endl;
							string target;
							getline(cin, target);
						
							Collection::load(target);
						}
						else
						{
							Collection::load(ArgsParser::parameter());
						}
						
						args::add();	
					}
					
			else if (ArgsParser::flag() == "q" ||
					 ArgsParser::flag() == "ask" ||
					 ArgsParser::flag() == "question")
					{
						if (!ArgsParser::parameter().empty())
						{
							Collection::load(ArgsParser::parameter());
							args::ask("", false);
						}
					}
					
			else if (ArgsParser::flag() == "rask")		{args::ask("", true);}
					
			else if (ArgsParser::flag() == "c" ||
			         ArgsParser::flag() == "config")	{args::config();}
					
			else if (ArgsParser::flag() == "h" ||
			 	     ArgsParser::flag() == "help")		{args::help();}
			
			else if (ArgsParser::flag() == "i" ||
					 ArgsParser::flag() == "info")		{args::info();}
			
			else if (ArgsParser::flag() == "n" ||
					 ArgsParser::flag() == "new")		{args::newDict(ArgsParser::parameter());}
		
			else if (ArgsParser::flag() == "r" || 
					 ArgsParser::flag() == "read")
					{
						if (ArgsParser::parameter().size() > 0)
						{
							args::read(ArgsParser::parameter());
						}
						else // If the user didn't give a param, ask for it
						{							
							cout << "Please enter the name of the file " <<
							"you wish to open:" << endl;
								
							string filename;
							getline(cin, filename);
							
							if (!filename.empty())
							{							
								args::read(filename);
							}
						}
					}
					
			// Open the interactive mode and then skip the interactive mode 
			else if (ArgsParser::flag() == "nogui" ||
				     ArgsParser::flag() == "interactive")
				{
					startUI();
					return false;
				}

			// If an argument is unknown, inform the user about it
			else 
			{
				cout << "Unknown argument '" + ArgsParser::error() + "'" << endl;
			}
			
			// Remove the flag (and param, if any) that were used previously
			ArgsParser::remove();
		}
	}

	// Don't go to the interactive mode
	return false; 
}