Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis Developer Reference
Isis.h
Go to the documentation of this file.
1
5
6/* SPDX-License-Identifier: CC0-1.0 */
7
8#ifdef __GTHREADS
9#error *****Isis.h MUST be included before any other files!*****
10#endif
11
12#include <signal.h>
13
14#include <QCoreApplication>
15
16#include <spiceql.h>
17
18#include "Application.h"
19
20#ifndef APPLICATION
21#define APPLICATION IsisMain
22#endif
23
68std::map<QString, void *> GuiHelpers();
69#ifndef GUIHELPERS
70std::map<QString, void *> GuiHelpers() {
71 std::map<QString, void *> empty;
72 return empty;
73}
74#endif
75
76void APPLICATION();
77
81void Abort(int);
83
92int main(int argc, char *argv[]) {
93 // Verify ISISROOT was set
94 // Note: as printing and logging IExceptions requires ISISROOT to be set (for preferences),
95 // The case below cannot be handled with IExceptions
96 if (getenv("ISISROOT") == NULL || QString(getenv("ISISROOT")) == "") {
97 std::cerr << "Please set ISISROOT before running any Isis applications" << std::endl;
98 exit(1);
99 }
100
102 if (getenv("ISISDATA") != NULL && QString(getenv("ISISDATA")) != "") {
103 SpiceQL::Inventory::setDbFilePath(std::string(getenv("ISISDATA")) + "/base/", true);
104 }
105
106
107 SpiceQL::addAliasKey("Mars_Reconnaissance_Orbiter", "MRO");
108#ifdef USE_GUI_QAPP
110#endif
111
112 Isis::Application *app = new Isis::Application(argc, argv);
114 int status = app->Run(APPLICATION);
115 delete app;
116 delete QCoreApplication::instance();
117 return status;
118}
int main(int argc, char *argv[])
The programmer supplied main function.
Definition Isis.h:92
void Abort(int)
void SegmentationFault(int)
#define APPLICATION
This is free and unencumbered software released into the public domain.
Definition Isis.h:21
void startMonitoringMemory()
void stopMonitoringMemory()
void InterruptSignal(int)
Definition Application.h:101
int Run(void(*funct)())
Runs the program defined in the function funct.
Definition Application.cpp:183
void RegisterGuiHelpers(std::map< QString, void * > helpers)
Definition Application.h:124
static bool p_applicationForceGuiApp
Definition Application.h:119
std::map< QString, void * > GuiHelpers()
Base include file for all Isis applications.
Definition Isis.h:70