1 #include <attn/attn_config.hpp>
2 
3 namespace attn
4 {
5 
6 /** @brief Main constructor */
Config()7 Config::Config()
8 {
9     setFlagAll();
10     iv_flags.reset(dfltTi); // default value is clear
11 }
12 
13 /** @brief Get state of flag */
getFlag(AttentionFlag i_flag) const14 bool Config::getFlag(AttentionFlag i_flag) const
15 {
16     return (iv_flags.test(i_flag));
17 }
18 
19 /** @brief Set configuration flag */
setFlag(AttentionFlag i_flag)20 void Config::setFlag(AttentionFlag i_flag)
21 {
22     iv_flags.set(i_flag);
23 }
24 
25 /** @brief Set all configuration flags */
setFlagAll()26 void Config::setFlagAll()
27 {
28     iv_flags.set(enVital);
29     iv_flags.set(enCheckstop);
30     iv_flags.set(enTerminate);
31     iv_flags.set(enBreakpoints);
32     iv_flags.set(enClrAttnIntr);
33 }
34 
35 /** @brief Clear configuration flag */
clearFlag(AttentionFlag i_flag)36 void Config::clearFlag(AttentionFlag i_flag)
37 {
38     iv_flags.reset(i_flag);
39 }
40 
41 /** @brief Clear all configuration flags */
clearFlagAll()42 void Config::clearFlagAll()
43 {
44     iv_flags.reset(enVital);
45     iv_flags.reset(enCheckstop);
46     iv_flags.reset(enTerminate);
47     iv_flags.reset(enBreakpoints);
48     iv_flags.reset(enClrAttnIntr);
49 }
50 
51 } // namespace attn
52