Isis 3 Programmer Reference
SessionLog.h
1
#ifndef SessionLog_h
2
#define SessionLog_h
3
8
/* SPDX-License-Identifier: CC0-1.0 */
9
#include <string>
10
#include "Pvl.h"
11
#include "IException.h"
12
13
namespace
Isis
{
24
class
SessionLog
:
private
Isis::Pvl
{
25
public
:
26
static
SessionLog
&TheLog(
bool
restart =
false
);
27
static
bool
HasLog() {
28
return
p_log != NULL;
29
};
30
31
// Add the Results group
32
void
AddResults(
Isis::PvlGroup
&results);
33
34
// Write the log to the screen and/or file
35
void
Write();
36
37
// Add an Error to the log
38
void
AddError(
Isis::Pvl
&e);
39
40
// Will we be logging to the terminal?
41
bool
TerminalOutput() {
42
return
p_termOutput;
43
};
44
45
private
:
46
SessionLog
();
47
~
SessionLog
();
48
49
PvlObject
*p_root;
50
bool
p_errorAdded;
51
52
bool
p_termOutput;
53
bool
p_fileOutput;
54
QString p_outputFile;
55
QString p_access;
56
57
static
SessionLog
*p_log;
58
59
bool
p_acctAdded;
60
void
AddAccounting();
61
friend
std::ostream &operator<<(std::ostream &os,
Isis::SessionLog
&log);
62
static
void
Shutdown();
63
};
64
};
65
66
#endif
Isis::PvlObject
Contains Pvl Groups and Pvl Objects.
Definition:
PvlObject.h:61
Isis::Pvl
Container for cube-like labels.
Definition:
Pvl.h:119
Isis::SessionLog
Definition:
SessionLog.h:24
Isis::PvlGroup
Contains multiple PvlContainers.
Definition:
PvlGroup.h:41
Isis
This is free and unencumbered software released into the public domain.
Definition:
Apollo.h:16
src
base
objs
SessionLog
SessionLog.h