1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-19 15:05:40 +02:00
jami-client-qt/src/libclient/namedirectory.cpp
Sébastien Blin a27c344cb7 misc: clarify log
Change-Id: I66b2b8cb1c289575b5568cc40f7402282bede314
2023-06-14 15:41:38 -04:00

123 lines
4.9 KiB
C++

/****************************************************************************
* Copyright (C) 2016-2023 Savoir-faire Linux Inc. *
* Author : Alexandre Viau <alexandre.viau@savoirfairelinux.com> *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include <QCoreApplication>
#include "namedirectory.h"
#include "private/namedirectory_p.h"
#include "dbus/configurationmanager.h"
NameDirectoryPrivate::NameDirectoryPrivate(NameDirectory* q)
: q_ptr(q)
{
ConfigurationManagerInterface& configurationManager = ConfigurationManager::instance();
connect(&configurationManager,
&ConfigurationManagerInterface::nameRegistrationEnded,
this,
&NameDirectoryPrivate::slotNameRegistrationEnded,
Qt::QueuedConnection);
connect(&configurationManager,
&ConfigurationManagerInterface::registeredNameFound,
this,
&NameDirectoryPrivate::slotRegisteredNameFound,
Qt::QueuedConnection);
connect(&configurationManager,
&ConfigurationManagerInterface::exportOnRingEnded,
this,
&NameDirectoryPrivate::slotExportOnRingEnded,
Qt::QueuedConnection);
}
NameDirectory::NameDirectory()
: QObject(QCoreApplication::instance())
, d_ptr(new NameDirectoryPrivate(this))
{}
/// Singleton
NameDirectory&
NameDirectory::instance()
{
static auto instance = new NameDirectory;
return *instance;
}
// Name registration ended
void
NameDirectoryPrivate::slotNameRegistrationEnded(const QString& accountId,
int status,
const QString& name)
{
qDebug() << "Name registration ended. Account:" << accountId << "status:" << status
<< "name:" << name;
Q_EMIT q_ptr->nameRegistrationEnded(static_cast<NameDirectory::RegisterNameStatus>(status), name);
}
// Registered Name found
void
NameDirectoryPrivate::slotRegisteredNameFound(const QString& accountId,
int status,
const QString& address,
const QString& name)
{
switch (static_cast<NameDirectory::LookupStatus>(status)) {
case NameDirectory::LookupStatus::INVALID_NAME:
qDebug() << "lookup name is INVALID: address: " << address << " name: " << name << " accountId: " << accountId;
break;
case NameDirectory::LookupStatus::NOT_FOUND:
qDebug() << "lookup name NOT FOUND: address: " << address << " name: " << name << " accountId: " << accountId;
break;
case NameDirectory::LookupStatus::ERROR:
qDebug() << "lookup name ERROR: address: " << address << " name: " << name << " accountId: " << accountId;
break;
case NameDirectory::LookupStatus::SUCCESS:
break;
}
Q_EMIT q_ptr->registeredNameFound(static_cast<NameDirectory::LookupStatus>(status), address, name);
}
// Export account has ended with pin generated
void
NameDirectoryPrivate::slotExportOnRingEnded(const QString& accountId, int status, const QString& pin)
{
qDebug() << "Export on ring ended for account: " << accountId << "status: " << status
<< "PIN: " << pin;
Q_EMIT q_ptr->exportOnRingEnded(static_cast<NameDirectory::ExportOnRingStatus>(status), pin);
}
// Lookup a name
bool
NameDirectory::lookupName(const QString& accountId, const QString& name, const QString& nameServiceURL) const
{
return ConfigurationManager::instance().lookupName(accountId, nameServiceURL, name);
}
// Lookup an address
bool
NameDirectory::lookupAddress(const QString& accountId, const QString& address, const QString& nameServiceURL) const
{
return ConfigurationManager::instance().lookupAddress(accountId, nameServiceURL, address);
}
NameDirectory::~NameDirectory()
{
delete d_ptr;
}