distortos  v0.7.0
object-oriented C++ RTOS for microcontrollers
InterruptMaskingUnmaskingLock.hpp
Go to the documentation of this file.
1 
12 #ifndef INCLUDE_DISTORTOS_INTERNAL_SYNCHRONIZATION_INTERRUPTMASKINGUNMASKINGLOCK_HPP_
13 #define INCLUDE_DISTORTOS_INTERNAL_SYNCHRONIZATION_INTERRUPTMASKINGUNMASKINGLOCK_HPP_
14 
16 
17 namespace distortos
18 {
19 
20 namespace internal
21 {
22 
30 template<architecture::InterruptMask (& Function)()>
32 {
33 public:
34 
42  interruptMask_{Function()}
43  {
44 
45  }
46 
54  {
56  }
57 
62 
63 private:
64 
67 };
68 
69 } // namespace internal
70 
71 } // namespace distortos
72 
73 #endif // INCLUDE_DISTORTOS_INTERNAL_SYNCHRONIZATION_INTERRUPTMASKINGUNMASKINGLOCK_HPP_
InterruptMaskingUnmaskingLock()
InterruptMaskingUnmaskingLock's constructor.
Definition: InterruptMaskingUnmaskingLock.hpp:41
restoreInterruptMasking() declaration
~InterruptMaskingUnmaskingLock()
InterruptMaskingUnmaskingLock's destructor.
Definition: InterruptMaskingUnmaskingLock.hpp:53
Top-level namespace of distortos project.
Definition: buttons.hpp:33
InterruptMaskingUnmaskingLock class is a RAII wrapper for interrupt mask manipulation.
Definition: InterruptMaskingUnmaskingLock.hpp:31
const architecture::InterruptMask interruptMask_
interrupt mask
Definition: InterruptMaskingUnmaskingLock.hpp:66
void restoreInterruptMasking(const InterruptMask interruptMask)
Restores interrupt masking.
Definition: ARMv6-M-ARMv7-M-restoreInterruptMasking.cpp:26
uint32_t InterruptMask
interrupt mask
Definition: InterruptMask.hpp:24