1 #ifndef __ARC_JOBSTATE_H__ 2 #define __ARC_JOBSTATE_H__ 122 static const std::string StateTypeString[];
129 JobState(
const std::string& jobstate) : ssf(FormatSpecificState), state(jobstate), type(GetStateType(jobstate)) {}
131 JobState& operator=(
const JobState& js) { type = js.type; state = js.state; ssf = js.ssf;
return *
this; }
133 operator bool()
const {
return type !=
UNDEFINED; }
134 operator StateType()
const {
return type; }
135 bool operator!()
const {
return type ==
UNDEFINED; }
136 bool operator==(
const StateType& st)
const {
return type == st; }
137 bool operator!=(
const StateType& st)
const {
return type != st; }
154 const std::string&
operator()()
const {
return state; }
165 const std::string&
GetGeneralState()
const {
return StateTypeString[type]; }
178 static StateType GetStateType(
const std::string& state);
183 typedef std::string (*SpecificStateFormater)(
const std::string&);
184 SpecificStateFormater ssf;
185 static std::string FormatSpecificState(
const std::string& state) {
return state; }
187 JobState(
const std::string& state,
JobState::StateType (*map)(
const std::string&), SpecificStateFormater ssf = FormatSpecificState)
188 : ssf(ssf), state(state), type((*map)(state)) {};
200 #endif // __ARC_JOBSTATE_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
Definition: JobState.h:85
Definition: JobState.h:60
std::string GetSpecificState() const
Specific string representation of job state.
Definition: JobState.h:172
Definition: JobState.h:55
Definition: JobState.h:70
Definition: JobState.h:100
Definition: JobState.h:90
const std::string & GetGeneralState() const
General string representation of job state.
Definition: JobState.h:161
Definition: JobState.h:105
Definition: JobState.h:65
Definition: JobState.h:80
Definition: JobState.h:95
Definition: JobState.h:75
Definition: JobState.h:115
StateType
Possible job states in libarccompute.
Definition: JobState.h:51
const std::string & operator()() const
Unformatted specific job state.
Definition: JobState.h:150
bool IsFinished() const
Check if state is finished.
Definition: JobState.h:140
Definition: JobState.h:42
Definition: JobState.h:110