Isis Developer Reference
Isis::ProgramLauncher Class Reference

Execute External Programs and Commands. More...

#include <ProgramLauncher.h>

Collaboration diagram for Isis::ProgramLauncher:
Collaboration graph

Static Public Member Functions

static void RunIsisProgram (QString isisProgramName, QString arguments)
 Executes the Isis program with the given arguments.
 
static void RunSystemCommand (QString commandLine)
 This runs arbitrary system commands.
 

Detailed Description

Execute External Programs and Commands.

This class is designed to handle running any other programs or commands.

Author
2010-12-03 Steven Lambright

Member Function Documentation

◆ RunIsisProgram()

void Isis::ProgramLauncher::RunIsisProgram ( QString programName,
QString parameters )
static

Executes the Isis program with the given arguments.

This will handle logs, GUI updates, and similar tasks. Please use this even when there is no instance of Isis::Application, so long as the thing you are running has an Isis::Application (do not use this for qview, qnet, qtie, etc for now).

Please do not specify -pid.

Parameters
programNameThe Isis program name to be run (i.e. catlab, cubeatt)
parametersThe arguments to give to the program that is being run

References _FILEINFO_, Isis::IException::append(), Isis::IException::Programmer, Isis::toString(), Isis::IException::Unknown, and Isis::Application::UserName().

Referenced by Isis::Pipeline::Run().

◆ RunSystemCommand()

void Isis::ProgramLauncher::RunSystemCommand ( QString fullCommand)
static

This runs arbitrary system commands.

You can run programs like "qview" with this, or commands like "ls | grep *.cpp > out.txt". Please do not use this for Isis programs not in qisis.

Example: qview should use RunIsisProgram to run camstats. camstats should use RunSystemCommand to run qview.

Parameters
fullCommandA string containing the command formatted like what you would type in a terminal

References _FILEINFO_, Isis::IException::Programmer, and Isis::toString().

Referenced by Isis::ControlMeasureEditWidget::saveChips(), and Isis::ControlPointEdit::saveChips().


The documentation for this class was generated from the following files: