11#include "Environment.h"
15#include <sys/socket.h>
21#include <QElapsedTimer>
26#include "UserInterface.h"
106 int Run(
void (*funct)());
111 static void Log(PvlGroup &results);
113 static void GuiLog(
const Pvl &results);
114 static void GuiLog(
const PvlGroup &results);
115 static void GuiLog(
const QString &results);
116 static QString
Name();
117 static QString formatError(IException &e);
119 static bool p_applicationForceGuiApp;
125 p_guiHelpers = helpers;
132 return p_guiHelpers[helper];
139 static QString
DateTime(time_t *curtime = 0);
151 QLocalSocket *p_connectionToParent;
153 clock_t p_startClock;
157 int p_startPageFaults;
158 int p_startProcessSwaps;
176 friend class Progress;
177 friend class ProgramLauncher;
186 p_connectionToParent = p_connection;
188 void EstablishConnections();
189 void WaitForCommand(
int childSocket);
192 std::map<QString, void *> p_guiHelpers;
193 static QString p_appName;
197 extern Application *iApp;
int Run(void(*funct)())
Runs the program defined in the function funct.
static QString DateTime(time_t *curtime=0)
Returns the date and time as a QString.
PvlObject History()
Creates an application history PvlObject.
void FunctionCleanup()
Cleans up after the function by writing the log, saving the history, and either sending the log to th...
static void Log(PvlGroup &results)
Writes Pvl results to sessionlog and printfile.
PvlGroup Accounting()
Creates accounting PvlGroup.
void SendParentData(QString, const QString &)
static QString AleVersion()
The Ale Version for this application.
static void GuiLog(const Pvl &results)
Writes the Pvl results to the sessionlog, but not to the printfile.
static QString HostName()
Returns the host name.
void GuiReportError(IException &e)
Loads the error message into the gui, but does not write it to the session log.
int DirectIO()
Returns the current number of I/O's.
QElapsedTimer m_connectTime
Used to calculate program's run time.
static QString Version()
The Isis Version for this application.
static QString Name()
Returns the name of the application.
void RegisterGuiHelpers(std::map< QString, void * > helpers)
int PageFaults()
Returns the current number of faults.
static void AppendAndLog(PvlGroup &results, Pvl *log)
Writes the pvl group results to both a passed in Pvl log and the applications log (either GUI or comm...
void ProcessGuiEvents()
Processes the gui events.
int ProcessSwaps()
Returns the current number of swaps.
static QString GetLibraryDependencies(QString file)
Runs ldd on linux and sun and otool on macs to get information about the applicaiton run.
static bool HasParent()
Returns whether the application has a parent or not.
static QString GetSystemDiskSpace()
Runs df to see the disk space availability.
void UpdateProgress(const QString &text, bool print)
Updates the progress bar in the gui.
void SendParentErrors(PvlObject &errors)
Sends errors to the parent.
UserInterface * p_ui
Pointer to a User Interface object.
static PvlGroup GetEnviromentInfo()
Returns ISIS-related Enviroment Variables.
static QString UserName()
Returns the user name.
void * GetGuiHelper(QString helper)
static UserInterface & GetUserInterface()
Returns the UserInterface object.
Application(int &argc, char *argv[])
Constuctor for the Application object.
void SetParentConnection(QLocalSocket *p_connection)
int FunctionError(IException &e)
Adds the error to the session log, sends the error to the parent if it has one, loads the error messa...
~Application()
Destroys the Application object.
static PvlGroup GetUnameInfo()
Runs various system specific uname commands and returns the results.
Gui for Isis Applications.
Program progress reporter.
Command Line and Xml loader, validation, and access.
This is free and unencumbered software released into the public domain.