3 #ifndef __ARC_SUBMISSIONSTATUS_H__ 4 #define __ARC_SUBMISSIONSTATUS_H__ 14 static const unsigned int maxValue = (1 << 8) - 1;
16 enum SubmissionStatusType {
18 NOT_IMPLEMENTED = 1 << 0,
20 ENDPOINT_NOT_QUERIED = 1 << 2,
21 BROKER_PLUGIN_NOT_LOADED = 1 << 3,
22 DESCRIPTION_NOT_SUBMITTED = 1 << 4,
23 SUBMITTER_PLUGIN_NOT_LOADED = 1 << 5,
24 AUTHENTICATION_ERROR = 1 << 6,
25 ERROR_FROM_ENDPOINT = 1 << 7
33 SubmissionStatus& operator|=(SubmissionStatusType s) { status |= s;
return *
this; }
35 SubmissionStatus& operator|=(
unsigned int s) { status |= (s & maxValue);
return *
this; }
37 SubmissionStatus operator|(SubmissionStatusType s)
const {
return (status | s); }
39 SubmissionStatus operator|(
unsigned int s)
const {
return (status | (s & maxValue)); }
41 SubmissionStatus& operator&=(SubmissionStatusType s) { status &= s;
return *
this; }
45 SubmissionStatus operator&(SubmissionStatusType s)
const {
return (status & s); }
49 SubmissionStatus& operator=(SubmissionStatusType s) { status = s;
return *
this; }
50 SubmissionStatus& operator=(
unsigned int s) { status = (s & maxValue);
return *
this; }
52 operator bool()
const {
return status == NONE; }
54 bool operator==(
const SubmissionStatus& s)
const {
return status == s.status; }
55 bool operator==(SubmissionStatusType s)
const {
return status == (
unsigned int)s; }
56 bool operator==(
unsigned int s)
const {
return status == s; }
60 bool operator!=(SubmissionStatusType s)
const {
return !operator==(s); }
61 bool operator!=(
unsigned int s)
const {
return !operator==(s); }
63 bool isSet(SubmissionStatusType s)
const {
return (s & status) == (
unsigned int)s; }
64 void unset(SubmissionStatusType s) { status &= (~s); }
70 inline bool operator==(SubmissionStatus::SubmissionStatusType a,
const SubmissionStatus& b) {
return (
unsigned int)a == b.status; }
73 #endif // __ARC_SUBMISSIONSTATUS_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
Definition: SubmissionStatus.h:12