15 ::e_flag m_eflagElement;
23 [[nodiscard]]
inline bool has_flag(enum_flag eflag)
const {
return (m_eflagElement & eflag) == eflag; }
24 inline void set_flag(enum_flag eflag) { m_eflagElement = (enum_flag)((
unsigned long long)(m_eflagElement) | (
unsigned long long)(eflag)); }
25 inline void set_flag(enum_flag eflag,
bool bSet) {
if (bSet) set_flag(eflag);
else clear_flag(eflag); }
26 inline void clear_flag(enum_flag eflag) { m_eflagElement = (enum_flag)((
unsigned long long)(m_eflagElement) & (~(
unsigned long long)(eflag))); }
29 inline void set_ok_flag() { set_flag(e_flag_success); clear_flag(e_flag_timeout); clear_flag(e_flag_failure); }
30 inline void set_nok(enum_flag estatusFailure = e_flag_failure) { clear_flag(e_flag_success); set_flag(estatusFailure); }
31 inline void set_modified_flag(
bool bModified =
true) { set_flag(e_flag_changed, bModified); }
34 inline void set_fail_flag() { set_flag(e_flag_failure); clear_flag(e_flag_success); }
35 inline void set_timed_out_flag() { set_flag(e_flag_timeout); }
36 inline void set_persistent_flag(
bool bSet =
true) { set_flag(e_flag_persist, bSet); }
39 [[nodiscard]]
inline bool has_ok_flag()
const {
return has_flag(e_flag_success); }
40 [[nodiscard]]
inline bool nok()
const {
return has_flag(e_flag_failure) || has_flag(e_flag_timeout); }
41 [[nodiscard]]
inline bool has_timed_out_flag() {
return has_flag(e_flag_timeout); }
42 [[nodiscard]]
inline bool has_modified_flag()
const {
return has_flag(e_flag_changed); }
43 [[nodiscard]]
inline bool has_persistent_flag()
const {
return has_flag(e_flag_persist); }
45 [[nodiscard]]
inline bool has_shared_flag()
const {
return has_flag(e_flag_shared); }
46 inline void set_shared_flag(
bool bSet =
true) { set_flag(e_flag_shared, bSet); }
49 [[nodiscard]]
inline bool has_finishing_flag()
const {
return has_flag(e_flag_finishing); }
51 void set_finishing_flag();
52 inline void clear_finishing_flag() { clear_flag(e_flag_finishing); }
55 [[nodiscard]]
inline bool has_initialized_flag()
const {
return has_flag(e_flag_initialized); }
56 inline void set_initialized_flag() { set_flag(e_flag_initialized); }
57 inline void clear_initialized_flag() { clear_flag(e_flag_initialized); }
60 [[nodiscard]]
inline bool has_acquired_flag()
const {
return has_flag(e_flag_acquired); }
61 inline void set_acquired_flag() { set_flag(e_flag_acquired); }
62 inline void clear_acquired_flag() { clear_flag(e_flag_acquired); }
64 [[nodiscard]]
inline bool has_own_synchronization_flag()
const {
return has_flag(e_flag_own_synchronization); }
65 inline void set_own_synchronization_flag(
bool bSet =
true) { set_flag(e_flag_own_synchronization, bSet); }
66 inline void clear_own_synchronization_flag() { clear_flag(e_flag_own_synchronization); }
69 [[nodiscard]]
inline bool has_already_exists_flag()
const {
return has_flag(e_flag_already_exists); }
70 inline void set_already_exists_flag(
bool bSet =
true) { set_flag(e_flag_already_exists, bSet); }
71 inline void clear_already_exists_flag() { clear_flag(e_flag_already_exists); }
79 [[nodiscard]]
inline bool has_destroying_flag()
const {
return has_flag(e_flag_destroying); }
80 void set_destroying_flag();
81 inline void clear_destroying_flag() { clear_flag(e_flag_destroying); }
84 [[nodiscard]]
inline bool has_storing_flag()
const {
return has_flag(e_flag_storing); }
85 [[nodiscard]]
inline bool has_loading_flag()
const {
return !has_storing_flag(); }
88 inline void set_storing_flag() { set_flag(e_flag_storing); }
89 inline void set_loading_flag() { clear_flag(e_flag_storing); }
92 inline void defer_set_storing_flag() {
if (!has_storing_flag()) set_storing_flag(); }
93 inline void defer_set_loading_flag() {
if (!has_loading_flag()) set_loading_flag(); }
96 inline void set_statically_allocated_flag() { set_flag(e_flag_statically_allocated); }
97 inline void set_verbose_flag(
bool bVerbose =
true) { set_flag(e_flag_verbose, bVerbose); }
98 [[nodiscard]]
inline bool has_verbose_flag()
const {
return has_flag(e_flag_verbose); }
102 [[nodiscard]]
inline bool has_read_only_flag()
const {
return has_flag(e_flag_read_only); }
103 inline void set_read_only_flag() { set_flag(e_flag_read_only); }
104 inline void clear_read_only_flag() { clear_flag(e_flag_read_only); }
106 [[nodiscard]]
inline bool has_owner_flag()
const {
return has_flag(e_flag_owner); }
107 inline void set_owner_flag() { set_flag(e_flag_owner); }
108 inline void clear_owner_flag() { clear_flag(e_flag_owner); }
111 inline bool is_status_ok()
const {
return m_estatus.ok(); }
112 inline bool has_failed_status()
const {
return !is_status_ok(); }
119 virtual void on_request(
::request * prequest);