13fb52e53SBen Tyner #include <attn/attn_config.hpp> 23fb52e53SBen Tyner 33fb52e53SBen Tyner namespace attn 43fb52e53SBen Tyner { 53fb52e53SBen Tyner 63fb52e53SBen Tyner /** @brief Main constructor */ 7*72feadcfSBen Tyner Config::Config() 83fb52e53SBen Tyner { 9*72feadcfSBen Tyner setFlagAll(); 103fb52e53SBen Tyner } 113fb52e53SBen Tyner 123fb52e53SBen Tyner /** @brief Get state of flag */ 133fb52e53SBen Tyner bool Config::getFlag(AttentionFlag i_flag) const 143fb52e53SBen Tyner { 153fb52e53SBen Tyner return (iv_flags.test(i_flag)); 163fb52e53SBen Tyner } 173fb52e53SBen Tyner 183fb52e53SBen Tyner /** @brief Set configuration flag */ 193fb52e53SBen Tyner void Config::setFlag(AttentionFlag i_flag) 203fb52e53SBen Tyner { 213fb52e53SBen Tyner iv_flags.set(i_flag); 223fb52e53SBen Tyner } 233fb52e53SBen Tyner 24*72feadcfSBen Tyner /** @brief Set all configuration flags */ 25*72feadcfSBen Tyner void Config::setFlagAll() 26*72feadcfSBen Tyner { 27*72feadcfSBen Tyner iv_flags.set(enVital); 28*72feadcfSBen Tyner iv_flags.set(enCheckstop); 29*72feadcfSBen Tyner iv_flags.set(enTerminate); 30*72feadcfSBen Tyner iv_flags.set(enBreakpoints); 31*72feadcfSBen Tyner } 32*72feadcfSBen Tyner 333fb52e53SBen Tyner /** @brief Clear configuration flag */ 343fb52e53SBen Tyner void Config::clearFlag(AttentionFlag i_flag) 353fb52e53SBen Tyner { 363fb52e53SBen Tyner iv_flags.reset(i_flag); 373fb52e53SBen Tyner } 383fb52e53SBen Tyner 39*72feadcfSBen Tyner /** @brief Clear all configuration flags */ 40*72feadcfSBen Tyner void Config::clearFlagAll() 413fb52e53SBen Tyner { 42*72feadcfSBen Tyner iv_flags.reset(enVital); 43*72feadcfSBen Tyner iv_flags.reset(enCheckstop); 44*72feadcfSBen Tyner iv_flags.reset(enTerminate); 45*72feadcfSBen Tyner iv_flags.reset(enBreakpoints); 463fb52e53SBen Tyner } 473fb52e53SBen Tyner 483fb52e53SBen Tyner } // namespace attn 49