File indexing completed on 2024-05-05 05:40:32

0001 #include "network/heartbeatsender.h"
0002 #include "network/networkmessagewriter.h"
0003 
0004 HeartBeatSender::HeartBeatSender(QObject* parent)
0005     : QObject(parent)
0006 {
0007     connect(&m_timer, &QTimer::timeout, this,  &HeartBeatSender::sendHeartBeatMsg);
0008     connect(this, &HeartBeatSender::timeOutChanged, this, &HeartBeatSender::updateTimer);
0009     connect(this, &HeartBeatSender::activeChanged, this, &HeartBeatSender::updateTimer);
0010 }
0011 
0012 
0013 void HeartBeatSender::setIdLocalUser(const QString& str)
0014 {
0015     if(str == m_localId)
0016         return;
0017     m_localId= str;
0018     emit localIdChanged();
0019 }
0020 
0021 QString HeartBeatSender::localId() const
0022 {
0023     return m_localId;
0024 }
0025 void HeartBeatSender::updateTimer()
0026 {
0027     m_timer.stop();
0028     if(m_active)
0029     {
0030         m_timer.start(m_timeOut * 1000);
0031     }
0032 }
0033 void HeartBeatSender::sendHeartBeatMsg()
0034 {
0035     NetworkMessageWriter msg(NetMsg::AdministrationCategory, NetMsg::Heartbeat);
0036     msg.string8(m_localId);
0037     msg.sendToServer();
0038 }
0039 
0040 int HeartBeatSender::timeOut() const
0041 {
0042     return m_timeOut;
0043 }
0044 
0045 void HeartBeatSender::setTimeOut(int newTimeOut)
0046 {
0047     if (m_timeOut == newTimeOut)
0048         return;
0049     m_timeOut = newTimeOut;
0050     emit timeOutChanged();
0051 }
0052 
0053 bool HeartBeatSender::active() const
0054 {
0055     return m_active;
0056 }
0057 
0058 void HeartBeatSender::setActive(bool newActive)
0059 {
0060     if (m_active == newActive)
0061         return;
0062     m_active = newActive;
0063     emit activeChanged();
0064 }