Heart/ClientProtocol/connectioninfo.cpp

73 lines
1.1 KiB
C++
Raw Normal View History

2019-10-08 13:03:13 +03:00
#include "connectioninfo.h"
#include <QTcpSocket>
namespace ClientProtocol {
int Connectioninfo::getKarma() const {
return karma;
}
void Connectioninfo::setKarma(int value) {
karma = value;
if (isBaned()) {
disconnect();
}
}
2019-10-08 18:02:25 +03:00
QAbstractSocket *Connectioninfo::getSct() const {
2019-10-08 13:03:13 +03:00
return sct;
}
2019-10-08 18:02:25 +03:00
void Connectioninfo::setSct(QAbstractSocket *value) {
2019-10-08 13:03:13 +03:00
sct = value;
}
QByteArray Connectioninfo::getToken() const {
return token;
}
void Connectioninfo::setToken(const QByteArray &value) {
token = value;
}
void Connectioninfo::disconnect() {
if (sct) {
sct->close();
token = "";
sct->deleteLater();
sct = nullptr;
}
}
void Connectioninfo::ban() {
karma = BANED_KARMA;
disconnect();
}
bool Connectioninfo::isBaned() const {
return karma < 1;
}
void Connectioninfo::unBan() {
karma = RESTORE_KARMA;
}
bool Connectioninfo::isValid() const {
2019-10-08 18:02:25 +03:00
return sct;
2019-10-08 13:03:13 +03:00
}
2019-10-08 18:02:25 +03:00
Connectioninfo::Connectioninfo(QAbstractSocket *tcp, int kar) {
2019-10-08 13:03:13 +03:00
sct = tcp;
karma = kar;
token = "";
}
Connectioninfo::~Connectioninfo() {
if (sct) {
sct->deleteLater();
}
}
}