cleanup some warnings suppression
This commit is contained in:
parent
5fbb03fc46
commit
23ec80ccba
26 changed files with 630 additions and 924 deletions
|
@ -21,6 +21,8 @@
|
|||
|
||||
#include <QDateTime>
|
||||
|
||||
#include "shared/defines.h"
|
||||
|
||||
Core::Account::Account(
|
||||
const QString& p_login,
|
||||
const QString& p_server,
|
||||
|
@ -159,7 +161,8 @@ Core::Account::Account(
|
|||
logger->setLoggingType(QXmppLogger::SignalLogging);
|
||||
client.setLogger(logger);
|
||||
|
||||
QObject::connect(logger, &QXmppLogger::message, this, [](QXmppLogger::MessageType type, const QString& text){
|
||||
QObject::connect(logger, &QXmppLogger::message, this, [](QXmppLogger::MessageType type, const QString& text) {
|
||||
SHARED_UNUSED(type);
|
||||
qDebug() << text;
|
||||
});
|
||||
}
|
||||
|
@ -511,6 +514,7 @@ void Core::Account::onMamResultsReceived(const QString& queryId, const QXmppResu
|
|||
}
|
||||
|
||||
void Core::Account::onMamLog(QXmppLogger::MessageType type, const QString& msg) {
|
||||
SHARED_UNUSED(type);
|
||||
qDebug() << "MAM MESSAGE LOG::";
|
||||
qDebug() << msg;
|
||||
}
|
||||
|
|
|
@ -24,11 +24,9 @@ Core::MessageHandler::MessageHandler(Core::Account* account):
|
|||
acc(account),
|
||||
pendingStateMessages(),
|
||||
uploadingSlotsQueue()
|
||||
{
|
||||
}
|
||||
{}
|
||||
|
||||
void Core::MessageHandler::onMessageReceived(const QXmppMessage& msg)
|
||||
{
|
||||
void Core::MessageHandler::onMessageReceived(const QXmppMessage& msg) {
|
||||
#if (QXMPP_VERSION) >= QT_VERSION_CHECK(1, 5, 0)
|
||||
#ifdef WITH_OMEMO
|
||||
switch (msg.encryptionMethod()) {
|
||||
|
@ -83,9 +81,9 @@ void Core::MessageHandler::onMessageReceived(const QXmppMessage& msg)
|
|||
{"state", static_cast<uint>(Shared::Message::State::error)},
|
||||
{"errorText", msg.error().text()}
|
||||
};
|
||||
if (cnt != nullptr) {
|
||||
if (cnt != nullptr)
|
||||
cnt->changeMessage(id, cData);
|
||||
}
|
||||
|
||||
emit acc->changeMessage(jid, id, cData);
|
||||
handled = true;
|
||||
} else {
|
||||
|
@ -97,13 +95,11 @@ void Core::MessageHandler::onMessageReceived(const QXmppMessage& msg)
|
|||
qDebug() << "received a message with type \"Headline\", not sure what to do with it now, skipping";
|
||||
break;
|
||||
}
|
||||
if (!handled) {
|
||||
if (!handled)
|
||||
logMessage(msg);
|
||||
}
|
||||
}
|
||||
|
||||
bool Core::MessageHandler::handleChatMessage(const QXmppMessage& msg, bool outgoing, bool forwarded, bool guessing)
|
||||
{
|
||||
bool Core::MessageHandler::handleChatMessage(const QXmppMessage& msg, bool outgoing, bool forwarded, bool guessing) {
|
||||
if (msg.body().size() != 0 || msg.outOfBandUrl().size() > 0) {
|
||||
Shared::Message sMsg(Shared::Message::chat);
|
||||
initializeMessage(sMsg, msg, outgoing, forwarded, guessing);
|
||||
|
@ -138,8 +134,7 @@ bool Core::MessageHandler::handleChatMessage(const QXmppMessage& msg, bool outgo
|
|||
return false;
|
||||
}
|
||||
|
||||
bool Core::MessageHandler::handleGroupMessage(const QXmppMessage& msg, bool outgoing, bool forwarded, bool guessing)
|
||||
{
|
||||
bool Core::MessageHandler::handleGroupMessage(const QXmppMessage& msg, bool outgoing, bool forwarded, bool guessing) {
|
||||
const QString& body(msg.body());
|
||||
if (body.size() != 0) {
|
||||
|
||||
|
@ -182,8 +177,7 @@ bool Core::MessageHandler::handleGroupMessage(const QXmppMessage& msg, bool outg
|
|||
}
|
||||
|
||||
|
||||
void Core::MessageHandler::initializeMessage(Shared::Message& target, const QXmppMessage& source, bool outgoing, bool forwarded, bool guessing) const
|
||||
{
|
||||
void Core::MessageHandler::initializeMessage(Shared::Message& target, const QXmppMessage& source, bool outgoing, bool forwarded, bool guessing) const {
|
||||
const QDateTime& time(source.stamp());
|
||||
QString id;
|
||||
#if (QXMPP_VERSION) >= QT_VERSION_CHECK(1, 3, 0)
|
||||
|
@ -229,8 +223,7 @@ void Core::MessageHandler::initializeMessage(Shared::Message& target, const QXmp
|
|||
target.setOutOfBandUrl(oob);
|
||||
}
|
||||
|
||||
void Core::MessageHandler::logMessage(const QXmppMessage& msg, const QString& reason)
|
||||
{
|
||||
void Core::MessageHandler::logMessage(const QXmppMessage& msg, const QString& reason) {
|
||||
qDebug() << reason;
|
||||
qDebug() << "- from: " << msg.from();
|
||||
qDebug() << "- to: " << msg.to();
|
||||
|
@ -247,19 +240,16 @@ void Core::MessageHandler::logMessage(const QXmppMessage& msg, const QString& re
|
|||
}
|
||||
|
||||
#if (QXMPP_VERSION) < QT_VERSION_CHECK(1, 5, 0)
|
||||
void Core::MessageHandler::onCarbonMessageReceived(const QXmppMessage& msg)
|
||||
{
|
||||
void Core::MessageHandler::onCarbonMessageReceived(const QXmppMessage& msg) {
|
||||
handleChatMessage(msg, false, true);
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onCarbonMessageSent(const QXmppMessage& msg)
|
||||
{
|
||||
void Core::MessageHandler::onCarbonMessageSent(const QXmppMessage& msg) {
|
||||
handleChatMessage(msg, true, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
std::tuple<bool, QString, QString> Core::MessageHandler::getOriginalPendingMessageId(const QString& id)
|
||||
{
|
||||
std::tuple<bool, QString, QString> Core::MessageHandler::getOriginalPendingMessageId(const QString& id) {
|
||||
std::tuple<bool, QString, QString> result({false, "", ""});
|
||||
std::map<QString, QString>::const_iterator itr = pendingStateMessages.find(id);
|
||||
if (itr != pendingStateMessages.end()) {
|
||||
|
@ -268,11 +258,11 @@ std::tuple<bool, QString, QString> Core::MessageHandler::getOriginalPendingMessa
|
|||
|
||||
std::map<QString, QString>::const_iterator itrC = pendingCorrectionMessages.find(id);
|
||||
if (itrC != pendingCorrectionMessages.end()) {
|
||||
if (itrC->second.size() > 0) {
|
||||
if (itrC->second.size() > 0)
|
||||
std::get<1>(result) = itrC->second;
|
||||
} else {
|
||||
else
|
||||
std::get<1>(result) = itr->first;
|
||||
}
|
||||
|
||||
pendingCorrectionMessages.erase(itrC);
|
||||
} else {
|
||||
std::get<1>(result) = itr->first;
|
||||
|
@ -284,8 +274,8 @@ std::tuple<bool, QString, QString> Core::MessageHandler::getOriginalPendingMessa
|
|||
return result;
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onReceiptReceived(const QString& jid, const QString& id)
|
||||
{
|
||||
void Core::MessageHandler::onReceiptReceived(const QString& jid, const QString& id) {
|
||||
SHARED_UNUSED(jid);
|
||||
std::tuple<bool, QString, QString> ids = getOriginalPendingMessageId(id);
|
||||
if (std::get<0>(ids)) {
|
||||
QMap<QString, QVariant> cData = {{"state", static_cast<uint>(Shared::Message::State::delivered)}};
|
||||
|
@ -298,8 +288,7 @@ void Core::MessageHandler::onReceiptReceived(const QString& jid, const QString&
|
|||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::sendMessage(const Shared::Message& data, bool newMessage, QString originalId)
|
||||
{
|
||||
void Core::MessageHandler::sendMessage(const Shared::Message& data, bool newMessage, QString originalId) {
|
||||
if (data.getOutOfBandUrl().size() == 0 && data.getAttachPath().size() > 0) {
|
||||
pendingCorrectionMessages.insert(std::make_pair(data.getId(), originalId));
|
||||
prepareUpload(data, newMessage);
|
||||
|
@ -308,19 +297,18 @@ void Core::MessageHandler::sendMessage(const Shared::Message& data, bool newMess
|
|||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::performSending(Shared::Message data, const QString& originalId, bool newMessage)
|
||||
{
|
||||
void Core::MessageHandler::performSending(Shared::Message data, const QString& originalId, bool newMessage) {
|
||||
QString jid = data.getPenPalJid();
|
||||
QString id = data.getId();
|
||||
qDebug() << "Sending message with id:" << id;
|
||||
if (originalId.size() > 0) {
|
||||
if (originalId.size() > 0)
|
||||
qDebug() << "To replace one with id:" << originalId;
|
||||
}
|
||||
|
||||
RosterItem* ri = acc->rh->getRosterItem(jid);
|
||||
bool sent = false;
|
||||
if (newMessage && originalId.size() > 0) {
|
||||
if (newMessage && originalId.size() > 0)
|
||||
newMessage = false;
|
||||
}
|
||||
|
||||
QDateTime sendTime = QDateTime::currentDateTimeUtc();
|
||||
if (acc->state == Shared::ConnectionState::connected) {
|
||||
QXmppMessage msg(createPacket(data, sendTime, originalId));
|
||||
|
@ -341,22 +329,21 @@ void Core::MessageHandler::performSending(Shared::Message data, const QString& o
|
|||
QMap<QString, QVariant> changes(getChanges(data, sendTime, newMessage, originalId));
|
||||
|
||||
QString realId;
|
||||
if (originalId.size() > 0) {
|
||||
if (originalId.size() > 0)
|
||||
realId = originalId;
|
||||
} else {
|
||||
else
|
||||
realId = id;
|
||||
}
|
||||
|
||||
if (ri != nullptr) {
|
||||
if (newMessage) {
|
||||
if (newMessage)
|
||||
ri->appendMessageToArchive(data);
|
||||
} else {
|
||||
else
|
||||
ri->changeMessage(realId, changes);
|
||||
}
|
||||
|
||||
if (sent) {
|
||||
pendingStateMessages.insert(std::make_pair(id, jid));
|
||||
if (originalId.size() > 0) {
|
||||
if (originalId.size() > 0)
|
||||
pendingCorrectionMessages.insert(std::make_pair(id, originalId));
|
||||
}
|
||||
} else {
|
||||
pendingStateMessages.erase(id);
|
||||
pendingCorrectionMessages.erase(id);
|
||||
|
@ -366,25 +353,24 @@ void Core::MessageHandler::performSending(Shared::Message data, const QString& o
|
|||
emit acc->changeMessage(jid, realId, changes);
|
||||
}
|
||||
|
||||
QMap<QString, QVariant> Core::MessageHandler::getChanges(Shared::Message& data, const QDateTime& time, bool newMessage, const QString& originalId) const
|
||||
{
|
||||
QMap<QString, QVariant> Core::MessageHandler::getChanges(Shared::Message& data, const QDateTime& time, bool newMessage, const QString& originalId) const {
|
||||
QMap<QString, QVariant> changes;
|
||||
|
||||
QString oob = data.getOutOfBandUrl();
|
||||
Shared::Message::State mstate = data.getState();
|
||||
changes.insert("state", static_cast<uint>(mstate));
|
||||
if (mstate == Shared::Message::State::error) {
|
||||
if (mstate == Shared::Message::State::error)
|
||||
changes.insert("errorText", data.getErrorText());
|
||||
}
|
||||
if (oob.size() > 0) {
|
||||
|
||||
if (oob.size() > 0)
|
||||
changes.insert("outOfBandUrl", oob);
|
||||
}
|
||||
if (newMessage) {
|
||||
|
||||
if (newMessage)
|
||||
data.setTime(time);
|
||||
}
|
||||
if (originalId.size() > 0) {
|
||||
|
||||
if (originalId.size() > 0)
|
||||
changes.insert("body", data.getBody());
|
||||
}
|
||||
|
||||
changes.insert("stamp", time);
|
||||
|
||||
//sometimes (when the image is pasted with ctrl+v)
|
||||
|
@ -394,22 +380,20 @@ QMap<QString, QVariant> Core::MessageHandler::getChanges(Shared::Message& data,
|
|||
if (attachPath.size() > 0) {
|
||||
QString squawkified = Shared::squawkifyPath(attachPath);
|
||||
changes.insert("attachPath", squawkified);
|
||||
if (attachPath != squawkified) {
|
||||
if (attachPath != squawkified)
|
||||
data.setAttachPath(squawkified);
|
||||
}
|
||||
}
|
||||
|
||||
return changes;
|
||||
}
|
||||
|
||||
QXmppMessage Core::MessageHandler::createPacket(const Shared::Message& data, const QDateTime& time, const QString& originalId) const
|
||||
{
|
||||
QXmppMessage Core::MessageHandler::createPacket(const Shared::Message& data, const QDateTime& time, const QString& originalId) const {
|
||||
QXmppMessage msg(acc->getFullJid(), data.getTo(), data.getBody(), data.getThread());
|
||||
QString id(data.getId());
|
||||
|
||||
if (originalId.size() > 0) {
|
||||
if (originalId.size() > 0)
|
||||
msg.setReplaceId(originalId);
|
||||
}
|
||||
|
||||
|
||||
#if (QXMPP_VERSION) >= QT_VERSION_CHECK(1, 3, 0)
|
||||
msg.setOriginId(id);
|
||||
|
@ -423,8 +407,7 @@ QXmppMessage Core::MessageHandler::createPacket(const Shared::Message& data, con
|
|||
return msg;
|
||||
}
|
||||
|
||||
void Core::MessageHandler::prepareUpload(const Shared::Message& data, bool newMessage)
|
||||
{
|
||||
void Core::MessageHandler::prepareUpload(const Shared::Message& data, bool newMessage) {
|
||||
if (acc->state == Shared::ConnectionState::connected) {
|
||||
QString jid = data.getPenPalJid();
|
||||
QString id = data.getId();
|
||||
|
@ -455,9 +438,8 @@ void Core::MessageHandler::prepareUpload(const Shared::Message& data, bool newMe
|
|||
if (file.exists() && file.isReadable()) {
|
||||
pendingStateMessages.insert(std::make_pair(id, jid));
|
||||
uploadingSlotsQueue.emplace_back(path, id);
|
||||
if (uploadingSlotsQueue.size() == 1) {
|
||||
if (uploadingSlotsQueue.size() == 1)
|
||||
acc->um->requestUploadSlot(file);
|
||||
}
|
||||
} else {
|
||||
handleUploadError(jid, id, "Uploading file no longer exists or your system user has no permission to read it");
|
||||
qDebug() << "Requested upload slot in account" << acc->name << "for file" << path << "but the file doesn't exist or is not readable";
|
||||
|
@ -474,8 +456,7 @@ void Core::MessageHandler::prepareUpload(const Shared::Message& data, bool newMe
|
|||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onUploadSlotReceived(const QXmppHttpUploadSlotIq& slot)
|
||||
{
|
||||
void Core::MessageHandler::onUploadSlotReceived(const QXmppHttpUploadSlotIq& slot) {
|
||||
if (uploadingSlotsQueue.size() == 0) {
|
||||
qDebug() << "HTTP Upload manager of account" << acc->name << "reports about success requesting upload slot, but none was requested";
|
||||
} else {
|
||||
|
@ -485,14 +466,12 @@ void Core::MessageHandler::onUploadSlotReceived(const QXmppHttpUploadSlotIq& slo
|
|||
acc->network->uploadFile({acc->name, palJid, mId}, pair.first, slot.putUrl(), slot.getUrl(), slot.putHeaders());
|
||||
|
||||
uploadingSlotsQueue.pop_front();
|
||||
if (uploadingSlotsQueue.size() > 0) {
|
||||
if (uploadingSlotsQueue.size() > 0)
|
||||
acc->um->requestUploadSlot(uploadingSlotsQueue.front().first);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onUploadSlotRequestFailed(const QXmppHttpUploadRequestIq& request)
|
||||
{
|
||||
void Core::MessageHandler::onUploadSlotRequestFailed(const QXmppHttpUploadRequestIq& request) {
|
||||
QString err(request.error().text());
|
||||
if (uploadingSlotsQueue.size() == 0) {
|
||||
qDebug() << "HTTP Upload manager of account" << acc->name << "reports about an error requesting upload slot, but none was requested";
|
||||
|
@ -503,14 +482,12 @@ void Core::MessageHandler::onUploadSlotRequestFailed(const QXmppHttpUploadReques
|
|||
handleUploadError(pendingStateMessages.at(pair.second), pair.second, err);
|
||||
|
||||
uploadingSlotsQueue.pop_front();
|
||||
if (uploadingSlotsQueue.size() > 0) {
|
||||
if (uploadingSlotsQueue.size() > 0)
|
||||
acc->um->requestUploadSlot(uploadingSlotsQueue.front().first);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onDownloadFileComplete(const std::list<Shared::MessageInfo>& msgs, const QString& path)
|
||||
{
|
||||
void Core::MessageHandler::onDownloadFileComplete(const std::list<Shared::MessageInfo>& msgs, const QString& path) {
|
||||
QMap<QString, QVariant> cData = {
|
||||
{"attachPath", path}
|
||||
};
|
||||
|
@ -518,27 +495,24 @@ void Core::MessageHandler::onDownloadFileComplete(const std::list<Shared::Messag
|
|||
if (info.account == acc->getName()) {
|
||||
RosterItem* cnt = acc->rh->getRosterItem(info.jid);
|
||||
if (cnt != nullptr) {
|
||||
if (cnt->changeMessage(info.messageId, cData)) {
|
||||
bool changed = cnt->changeMessage(info.messageId, cData);
|
||||
if (changed)
|
||||
emit acc->changeMessage(info.jid, info.messageId, cData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onLoadFileError(const std::list<Shared::MessageInfo>& msgs, const QString& text, bool up)
|
||||
{
|
||||
void Core::MessageHandler::onLoadFileError(const std::list<Shared::MessageInfo>& msgs, const QString& text, bool up) {
|
||||
if (up) {
|
||||
for (const Shared::MessageInfo& info : msgs) {
|
||||
if (info.account == acc->getName()) {
|
||||
if (info.account == acc->getName())
|
||||
handleUploadError(info.jid, info.messageId, text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::handleUploadError(const QString& jid, const QString& messageId, const QString& errorText)
|
||||
{
|
||||
void Core::MessageHandler::handleUploadError(const QString& jid, const QString& messageId, const QString& errorText) {
|
||||
emit acc->uploadFileError(jid, messageId, "Error requesting slot to upload file: " + errorText);
|
||||
pendingStateMessages.erase(messageId);
|
||||
pendingCorrectionMessages.erase(messageId);
|
||||
|
@ -548,8 +522,7 @@ void Core::MessageHandler::handleUploadError(const QString& jid, const QString&
|
|||
});
|
||||
}
|
||||
|
||||
void Core::MessageHandler::onUploadFileComplete(const std::list<Shared::MessageInfo>& msgs, const QString& url, const QString& path)
|
||||
{
|
||||
void Core::MessageHandler::onUploadFileComplete(const std::list<Shared::MessageInfo>& msgs, const QString& url, const QString& path) {
|
||||
for (const Shared::MessageInfo& info : msgs) {
|
||||
if (info.account == acc->getName()) {
|
||||
RosterItem* ri = acc->rh->getRosterItem(info.jid);
|
||||
|
@ -564,12 +537,11 @@ void Core::MessageHandler::onUploadFileComplete(const std::list<Shared::MessageI
|
|||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::sendMessageWithLocalUploadedFile(Shared::Message msg, const QString& url, bool newMessage)
|
||||
{
|
||||
void Core::MessageHandler::sendMessageWithLocalUploadedFile(Shared::Message msg, const QString& url, bool newMessage) {
|
||||
msg.setOutOfBandUrl(url);
|
||||
if (msg.getBody().size() == 0) { //not sure why, but most messages do that
|
||||
if (msg.getBody().size() == 0) //not sure why, but most messages do that
|
||||
msg.setBody(url); //they duplicate oob in body, some of them wouldn't even show an attachment if you don't do that
|
||||
}
|
||||
|
||||
performSending(msg, pendingCorrectionMessages.at(msg.getId()), newMessage);
|
||||
//TODO removal/progress update
|
||||
}
|
||||
|
@ -581,8 +553,7 @@ static const std::set<QString> allowedToChangeKeys({
|
|||
"errorText"
|
||||
});
|
||||
|
||||
void Core::MessageHandler::requestChangeMessage(const QString& jid, const QString& messageId, const QMap<QString, QVariant>& data)
|
||||
{
|
||||
void Core::MessageHandler::requestChangeMessage(const QString& jid, const QString& messageId, const QMap<QString, QVariant>& data) {
|
||||
RosterItem* cnt = acc->rh->getRosterItem(jid);
|
||||
if (cnt != nullptr) {
|
||||
bool allSupported = true;
|
||||
|
@ -604,8 +575,7 @@ void Core::MessageHandler::requestChangeMessage(const QString& jid, const QStrin
|
|||
}
|
||||
}
|
||||
|
||||
void Core::MessageHandler::resendMessage(const QString& jid, const QString& id)
|
||||
{
|
||||
void Core::MessageHandler::resendMessage(const QString& jid, const QString& id) {
|
||||
RosterItem* cnt = acc->rh->getRosterItem(jid);
|
||||
if (cnt != nullptr) {
|
||||
try {
|
||||
|
|
|
@ -213,6 +213,7 @@ void Core::OmemoHandler::onOwnBundlesReceived() {
|
|||
}
|
||||
|
||||
void Core::OmemoHandler::onOmemoDeviceAdded(const QString& jid, uint32_t id) {
|
||||
SHARED_UNUSED(id);
|
||||
qDebug() << "OMEMO device added for" << jid;
|
||||
}
|
||||
|
||||
|
|
|
@ -456,6 +456,7 @@ void Core::RosterHandler::removeRoomRequest(const QString& jid) {
|
|||
}
|
||||
|
||||
void Core::RosterHandler::addRoomRequest(const QString& jid, const QString& nick, const QString& password, bool autoJoin) {
|
||||
SHARED_UNUSED(password);
|
||||
QString lcJid = jid.toLower();
|
||||
std::map<QString, Conference*>::const_iterator cItr = conferences.find(lcJid);
|
||||
if (cItr == conferences.end()) {
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "shared/defines.h"
|
||||
|
||||
int SignalCatcher::sigintFd[2] = {0,0};
|
||||
|
||||
SignalCatcher::SignalCatcher(QCoreApplication *p_app, QObject *parent):
|
||||
|
@ -28,14 +30,10 @@ SignalCatcher::SignalCatcher(QCoreApplication *p_app, QObject *parent):
|
|||
app(p_app)
|
||||
{
|
||||
if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sigintFd))
|
||||
{
|
||||
qFatal("Couldn't create INT socketpair");
|
||||
}
|
||||
|
||||
if (setup_unix_signal_handlers() != 0)
|
||||
{
|
||||
qFatal("Couldn't install unix handlers");
|
||||
}
|
||||
|
||||
snInt = new QSocketNotifier(sigintFd[1], QSocketNotifier::Read, this);
|
||||
connect(snInt, &QSocketNotifier::activated, this, &SignalCatcher::handleSigInt);
|
||||
|
@ -44,25 +42,25 @@ SignalCatcher::SignalCatcher(QCoreApplication *p_app, QObject *parent):
|
|||
SignalCatcher::~SignalCatcher()
|
||||
{}
|
||||
|
||||
void SignalCatcher::handleSigInt()
|
||||
{
|
||||
void SignalCatcher::handleSigInt() {
|
||||
snInt->setEnabled(false);
|
||||
char tmp;
|
||||
ssize_t s = ::read(sigintFd[1], &tmp, sizeof(tmp));
|
||||
SHARED_UNUSED(s);
|
||||
|
||||
emit interrupt();
|
||||
|
||||
snInt->setEnabled(true);
|
||||
}
|
||||
|
||||
void SignalCatcher::intSignalHandler(int unused)
|
||||
{
|
||||
void SignalCatcher::intSignalHandler(int unused) {
|
||||
char a = 1;
|
||||
ssize_t s = ::write(sigintFd[0], &a, sizeof(a));
|
||||
SHARED_UNUSED(s);
|
||||
SHARED_UNUSED(unused);
|
||||
}
|
||||
|
||||
int SignalCatcher::setup_unix_signal_handlers()
|
||||
{
|
||||
int SignalCatcher::setup_unix_signal_handlers() {
|
||||
struct sigaction s_int;
|
||||
|
||||
s_int.sa_handler = SignalCatcher::intSignalHandler;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue