RemoteDatabase::RemoteDatabase() :
    m_manager(new QNetworkAccessManager),
    m_configurationManager(new QNetworkConfigurationManager),
    m_progress(nullptr),
    m_dbLocal(nullptr)
{
    // Update network configurations
    connect(m_configurationManager, &QNetworkConfigurationManager::updateCompleted, [this]() {
        m_manager->setConfiguration(m_configurationManager->defaultConfiguration());

        emit networkReady();
    });

    // Set up SSL configuration
    m_sslConfiguration = QSslConfiguration::defaultConfiguration();
    m_sslConfiguration.setPeerVerifyMode(QSslSocket::VerifyPeer);

    // Load CA certs from resource file
    QDir dirCaCerts(":/certs");
    QStringList caCertsList = dirCaCerts.entryList();
    QList<QSslCertificate> caCerts;
    for(const QString& caCertName : caCertsList)
        caCerts += QSslCertificate::fromPath(":/certs/" + caCertName);
    m_sslConfiguration.setCaCertificates(caCerts);

    // Load settings and set up some more stuff while doing so
    reloadSettings();

    // Set up signals
    connect(m_manager, &QNetworkAccessManager::finished, this, &RemoteDatabase::gotReply);
    connect(m_manager, &QNetworkAccessManager::encrypted, this, &RemoteDatabase::gotEncrypted);
    connect(m_manager, &QNetworkAccessManager::sslErrors, this, &RemoteDatabase::gotError);
}
Exemple #2
0
void IrcConnectionWizard::networkReady(NetworkId id)
{
    disconnect(Client::instance(), SIGNAL(networkCreated(NetworkId)), this, SLOT(networkReady(NetworkId)));
    const Network *net = Client::network(id);
    Q_ASSERT(net);
    net->requestConnect();
    deleteLater();
}
Exemple #3
0
void IrcConnectionWizard::identityReady(IdentityId id)
{
    disconnect(Client::instance(), SIGNAL(identityCreated(IdentityId)), this, SLOT(identityReady(IdentityId)));
    NetworkPage *networkPage = static_cast<NetworkPage *>(_networkPage);
    NetworkInfo networkInfo = networkPage->networkInfo();
    QStringList channels = networkPage->channelList();
    networkInfo.identity = id;
    connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), this, SLOT(networkReady(NetworkId)));
    Client::createNetwork(networkInfo, channels);
}