+
+ if (XABArgs.Found(wxT("c"))){
+
+ // Preform a conversion.
+
+ wxString InputFormat;
+ wxString ExportFormat;
+ wxString InputFilename;
+ wxString OutputFilename;
+
+ // Get the input format. Return error if blank
+ // or invalid.
+
+ if (XABArgs.Found(wxT("ifmt"))){
+ XABArgs.Found(wxT("ifmt"), &InputFormat);
+ }
+
+ // Get the export format. Return error if blank
+ // or invalid.
+
+ if (XABArgs.Found(wxT("ofmt"))){
+ XABArgs.Found(wxT("ofmt"), &ExportFormat);
+ }
+
+ // Get the input filename.
+
+ if (XABArgs.Found(wxT("ifile"))){
+ XABArgs.Found(wxT("ifile"), &InputFilename);
+ }
+
+ // Get the output filename (if any).
+
+ if (XABArgs.Found(wxT("ofile"))){
+ XABArgs.Found(wxT("ofile"), &OutputFilename);
+ }
+
+ if (argc >= 7){
+ wxPuts("Too many arguments given.");
+ exit(EXIT_FAILURE);
+ }
+
+ // Run the conversion process.
+
+ ConvertResult ConvertRunStatus = ConvertContact(InputFormat, ExportFormat, InputFilename, OutputFilename);
+
+ switch (ConvertRunStatus){
+ case CONVERTRESULT_UNITTESTFAIL:
+ wxPuts("An internal unit testing failure has occured.");
+ exit(EXIT_SUCCESS);
+ break;
+ case CONVERTRESULT_OK:
+ break;
+ case CONVERTRESULT_FORMATSSAME:
+ wxPuts("Both input and output formats are the same.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_INVALIDINPUTFORMAT:
+ wxPuts("Invalid input format given.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_INVALIDOUTPUTFORMAT:
+ wxPuts("Invalid output format given.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_INPUTFILEMISSING:
+ wxPuts("Input file with the filename given does not exist.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_INPUTFILEEMPTY:
+ wxPuts("No input filename given.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_INPUTFILEINVALIDFORMAT:
+ wxPuts("Input file is in an invalid format.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_INPUTFILEERROR:
+ wxPuts("An error occured whilst trying to open the input file location.");
+ exit(EXIT_FAILURE);
+ break;
+ case CONVERTRESULT_OUTPUTFILEERROR:
+ wxPuts("An error occured whilst trying to open the output file location.");
+ exit(EXIT_FAILURE);
+ break;
+ }
+
+ return true;
+
+ }
+