コード例 #1
0
ファイル: signalproxy.cpp プロジェクト: hades/quassel
bool SignalProxy::addPeer(SignalProxy* proxy) {
  if(!proxy)
    return false;

  if(proxyMode() == proxy->proxyMode()) {
    qWarning() << "SignalProxy::addPeer(): adding a SignalProxy as peer requires one proxy to be server and one client!";
    return false;
  }

  if(_peers.contains(proxy)) {
    return true;
  }

  if(proxyMode() == Client && !_peers.isEmpty()) {
    qWarning("SignalProxy: only one peer allowed in client mode!");
    return false;
  }

  _peers[proxy] = new SignalProxyPeer(this, proxy);
  proxy->addPeer(this);

  if(_peers.count() == 1)
    emit connected();

  updateSecureState();
  return true;
}
コード例 #2
0
ファイル: signalproxy.cpp プロジェクト: hades/quassel
void SignalProxy::removeAllPeers() {
  Q_ASSERT(proxyMode() == Server || _peers.count() <= 1);
  // wee need to copy that list since we modify it in the loop
  QList<QObject *> peers = _peers.keys();
  foreach(QObject *peer, peers) {
    removePeer(peer);
  }
コード例 #3
0
ファイル: settings.cpp プロジェクト: KDE/kdewin-installer
Settings::Settings()
 : m_settingsMain( new QSettings(QSettings::IniFormat, QSettings::UserScope, "KDE", "Installer") )

{
    m_settings = new QSettings(installDir()+"/etc/installer.ini",QSettings::IniFormat);
    QString version = m_settings->value("version", "").toString();
    // update to current version
    if (version.isEmpty()) // version 1
    {
        m_settings->setValue("version", SETTINGS_VERSION);
        setPackageManagerMode(m_settings->value("DeveloperMode",false).toBool());
        m_settings->remove("DeveloperMode");
        m_settings->sync();
    }
    else if (version != SETTINGS_VERSION)
    {
        qCritical() << "unknown settings version" << version << "found"; 
    }

#ifdef DEBUG
    qDebug() << "installDir:" << installDir();
    qDebug() << "downloadDir:" << downloadDir();
    qDebug() << "showTitlePage:" << showTitlePage();
    qDebug() << "createStartMenuEntries:" << createStartMenuEntries();
    qDebug() << "isFirstRun" << isFirstRun();
    qDebug() << "proxyMode" << proxyMode();
    qDebug() << "proxyHost" << proxyHost();
    qDebug() << "proxyPort" << proxyPort();
#endif
#ifndef Q_OS_WIN
//     setProxyMode(Environment);
#endif
}
コード例 #4
0
ファイル: signalproxy.cpp プロジェクト: hades/quassel
bool SignalProxy::addPeer(QIODevice* iodev) {
  if(!iodev)
    return false;

  if(_peers.contains(iodev))
    return true;

  if(proxyMode() == Client && !_peers.isEmpty()) {
    qWarning("SignalProxy: only one peer allowed in client mode!");
    return false;
  }

  if(!iodev->isOpen()) {
    qWarning("SignalProxy::addPeer(QIODevice *iodev): iodev needs to be open!");
    return false;
  }

  connect(iodev, SIGNAL(disconnected()), this, SLOT(removePeerBySender()));
  connect(iodev, SIGNAL(readyRead()), this, SLOT(dataAvailable()));

#ifdef HAVE_SSL
  QSslSocket *sslSocket = qobject_cast<QSslSocket *>(iodev);
  if(sslSocket) {
    connect(iodev, SIGNAL(encrypted()), this, SLOT(updateSecureState()));
  }
#endif

  if(!iodev->parent())
    iodev->setParent(this);

  _peers[iodev] = new IODevicePeer(iodev, iodev->property("UseCompression").toBool());

  if(_peers.count() == 1)
    emit connected();

  updateSecureState();
  return true;
}