Functions
gptarget/main.cpp File Reference
#include <QGpCoreTools.h>
#include "gptargetVersion.h"
#include "gptargetInstallPath.h"
#include "TargetAdd.h"
#include "TargetExtract.h"
#include "TargetMerge.h"

Functions

ApplicationHelphelp ()
int main (int argc, char **argv)
 PACKAGE_INFO (gptarget, GPTARGET)

Function Documentation

int main ( int  argc,
char **  argv 
)

References QGpCoreTools::endl(), AbstractTarget::execute(), help(), mode, AbstractTarget::setOptions(), and QGpCoreTools::tr().

{
  enum Mode {Undefined, Add, Delete, Extract, Merge, Split};
  Mode mode=Undefined;

  if(argc>1) {
    switch (argv[1][0]) {
    case 'A':
      mode=Add;
      break;
    case 'D':
      mode=Delete;
      break;
    case 'E':
      mode=Extract;
      break;
    case 'M':
      mode=Merge;
      break;
    case 'S':
      mode=Split;
      break;
    default:
      break;
    }
  }
  if(mode!=Undefined) {
    for(int i=2; i<argc; i++) {
      argv[i-1]=argv[i];
    }
    argc--;
  }

  CoreApplication a(argc, argv, help);

  AbstractTarget * t=0;

  switch(mode) {
  case Add:
    t=new TargetAdd();
    break;
  case Delete:
    // Temporary message
    App::stream() << tr("gptarget: mode 'Delete' currently not supported. Request it to the developers if needed.") << endl;
    return 2;
  case Extract:
    t=new TargetExtract();
    break;
  case Merge:
    t=new TargetMerge();
    break;
  case Split:
    // Temporary message
    App::stream() << tr("gptarget: mode 'Split' currently not supported. Request it to the developers if needed.") << endl;
    return 2;
  case Undefined:
    App::stream() << tr("gptarget: mode not specified, see -help") << endl;
    return 2;
  }
  t->setOptions(argc, argv);
  int exitCode=t->execute();
  delete t;
  return exitCode;
}
PACKAGE_INFO ( gptarget  ,
GPTARGET   
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines