xxcc/client.cpp

62 lines
1.2 KiB
C++

#include "client.h"
#include <QXmppTask.h>
#include <QDebug>
#include <iostream>
Client::Client(const QString &jid, QObject *const parent) :
QXmppClient(parent),
jid(jid),
db(this->jid),
atm_db(this->jid, db),
atm(&atm_db),
omemo_db(db),
omemo(&omemo_db)
{
addExtension(&atm);
addExtension(&carbon);
addExtension(&mam);
addExtension(&pubsub);
addExtension(&omemo);
connect(this, &QXmppClient::connected, this,
[this]()
{
omemo.setUp().then(this,
[](const bool &&result)
{
qDebug() << "setUp result: " << result;
});
});
omemo.setSecurityPolicy(QXmpp::TrustSecurityPolicy::Toakafa);
omemo.load().then(this,
[=](const bool &&result)
{
qDebug() << "load result: " << result;
});
logger()->setLoggingType(QXmppLogger::SignalLogging);
logger()->setMessageTypes(QXmppLogger::DebugMessage);
connect(logger(), &QXmppLogger::message, this,
[=] (QXmppLogger::MessageType type, const QString &text)
{
std::cerr << qPrintable(text) << std::endl;
});
}
QString Client::jidBare()
{
return configuration().jidBare();
}
const JidDb &Client::database() const
{
return db;
}
JidDb &Client::database()
{
return db;
}