-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathae_globals.h
More file actions
87 lines (73 loc) · 3.49 KB
/
Copy pathae_globals.h
File metadata and controls
87 lines (73 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*********************************************************************************
**
** Copyright (c) 2018 The University of Notre Dame
** Copyright (c) 2018 The Regents of the University of California
**
** Redistribution and use in source and binary forms, with or without modification,
** are permitted provided that the following conditions are met:
**
** 1. Redistributions of source code must retain the above copyright notice, this
** list of conditions and the following disclaimer.
**
** 2. Redistributions in binary form must reproduce the above copyright notice, this
** list of conditions and the following disclaimer in the documentation and/or other
** materials provided with the distribution.
**
** 3. Neither the name of the copyright holder nor the names of its contributors may
** be used to endorse or promote products derived from this software without specific
** prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
** EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
** SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
** TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
** BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
** IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
** SUCH DAMAGE.
**
***********************************************************************************/
// Contributors:
// Written by Peter Sempolinski, for the Natural Hazard Modeling Laboratory, director: Ahsan Kareem, at Notre Dame
#ifndef AE_GLOBALS_H
#define AE_GLOBALS_H
#include <QMessageBox>
#include <QLoggingCategory>
Q_DECLARE_LOGGING_CATEGORY(agaveAppLayer)
class AgaveSetupDriver;
class RemoteDataInterface;
class FileOperator;
class JobOperator;
/*! \brief The ae_globals are a set of static methods, intended as global functions for AgaveExplorer programs.
*
* These utility functions include error popups, folder name parsing, and locating key objects of the AgaveExplorer Program.
*/
class ae_globals
{
public:
/*! \brief ae_globals is a static class. The constructor should never be used.
*/
ae_globals();
/*! \brief This will display an informational popup and kill the program.
*
* \param message This is the content of the message displayed in the popup.
* \param header This short text appears in the header of the popup. The default is: "Critical Error"
*
* After construction, use show() or exec() to display the window.
*/
[[ noreturn ]] static void displayFatalPopup(QString message, QString header = "Critical Error");
static void displayPopup(QString message, QString header = "Error");
static bool isValidFolderName(QString folderName);
static bool isValidLocalFolder(QString folderName);
static bool folderNamesMatch(QString folder1, QString folder2);
static AgaveSetupDriver * get_Driver();
static void set_Driver(AgaveSetupDriver * newDriver);
static RemoteDataInterface * get_connection();
static JobOperator * get_job_handle();
static FileOperator * get_file_handle();
private:
static AgaveSetupDriver * theDriver;
};
#endif // AE_GLOBALS_H