33 m_bLockedBySelf =
false;
34 m_bLockedByOthers =
false;
35 m_bLastLockedBySelf =
false;
36 m_bLastLockedByOthers =
false;
44 if (m_bLockedBySelf) {
45 m_SerialPortHandler->ResumeSerialPort();
57 assert(m_bLockedBySelf ==
false);
58 assert(m_bLockedByOthers ==
false);
59 m_SerialPortHandler = a_SerialPortHandler;
68 if (!m_bLockedBySelf) {
70 m_bLockedBySelf =
true;
71 m_SerialPortHandler->SuspendSerialPort();
81 if (m_bLockedBySelf) {
83 m_bLockedBySelf =
false;
84 m_SerialPortHandler->ResumeSerialPort();
98 if (m_bLockedBySelf) {
99 m_bLockedByOthers = (a_LockHolders > 1);
101 m_bLockedByOthers = (a_LockHolders > 0);
104 if ((m_bLastLockedBySelf != m_bLockedBySelf) ||
105 (m_bLastLockedByOthers != m_bLockedByOthers)) {
106 m_bLastLockedBySelf = m_bLockedBySelf;
107 m_bLastLockedByOthers = m_bLockedByOthers;
~LockGuard()
The destructor of LockGuard objects.
bool UpdateSerialPortState(size_t a_LockHolders)
Update the effective lock state of the related serial port.
void Init(std::shared_ptr< SerialPortHandler > a_SerialPortHandler)
Initializer method to register subsequent objects.
LockGuard()
The constructor of LockGuard objects.
The HDLC Deamon implements the HDLC protocol to easily talk to devices connected via serial communica...
void AcquireLock()
Method to aquire a lock.
void ReleaseLock()
Method to release a lock.
This file contains the header declaration of class LockGuard.