493 { |
493 { |
494 if(NetworkManagerAvailable()) { |
494 if(NetworkManagerAvailable()) { |
495 startTime = QDateTime(); |
495 startTime = QDateTime(); |
496 return; |
496 return; |
497 } |
497 } |
498 QString connectionIdent = q->configuration().identifier(); |
|
499 QString interface = currentInterface().hardwareAddress().toLower(); |
498 QString interface = currentInterface().hardwareAddress().toLower(); |
500 QString devicePath = "/org/freedesktop/Hal/devices/net_" + interface.replace(":","_"); |
499 const QString devicePath = QLatin1String("/org/freedesktop/Hal/devices/net_") + |
|
500 interface.replace(QLatin1Char(':'), QLatin1Char('_')); |
501 |
501 |
502 QString path; |
502 QString path; |
503 QString serviceName; |
503 QString serviceName; |
504 QNetworkManagerInterface * ifaceD; |
504 QScopedPointer<QNetworkManagerInterface> ifaceD(new QNetworkManagerInterface()); |
505 ifaceD = new QNetworkManagerInterface(); |
505 |
506 |
506 foreach (const QDBusObjectPath &conpath, ifaceD->activeConnections()) { |
507 QList<QDBusObjectPath> connections = ifaceD->activeConnections(); |
507 QScopedPointer<QNetworkManagerConnectionActive> conDetails(new QNetworkManagerConnectionActive(conpath.path())); |
508 foreach(QDBusObjectPath conpath, connections) { |
508 const QDBusObjectPath connection = conDetails->connection(); |
509 QNetworkManagerConnectionActive *conDetails; |
|
510 conDetails = new QNetworkManagerConnectionActive(conpath.path()); |
|
511 QDBusObjectPath connection = conDetails->connection(); |
|
512 serviceName = conDetails->serviceName(); |
509 serviceName = conDetails->serviceName(); |
513 QList<QDBusObjectPath> so = conDetails->devices(); |
510 foreach (const QDBusObjectPath &device, conDetails->devices()) { |
514 foreach(QDBusObjectPath device, so) { |
|
515 |
|
516 if(device.path() == devicePath) { |
511 if(device.path() == devicePath) { |
517 path = connection.path(); |
512 path = connection.path(); |
518 } |
513 } |
519 break; |
514 break; |
520 } |
515 } |
521 } |
516 } |
522 if(serviceName.isEmpty()) |
517 |
523 return; |
518 if(serviceName.isEmpty()) |
524 QNetworkManagerSettings *settingsiface; |
519 return; |
525 settingsiface = new QNetworkManagerSettings(serviceName); |
520 |
526 QList<QDBusObjectPath> list = settingsiface->listConnections(); |
521 QScopedPointer<QNetworkManagerSettings> settingsiface(new QNetworkManagerSettings(serviceName)); |
527 foreach(QDBusObjectPath path, list) { |
522 foreach (const QDBusObjectPath &path, settingsiface->listConnections()) { |
528 QNetworkManagerSettingsConnection *sysIface; |
523 QScopedPointer<QNetworkManagerSettingsConnection> sysIface; |
529 sysIface = new QNetworkManagerSettingsConnection(serviceName, path.path()); |
524 sysIface.reset(new QNetworkManagerSettingsConnection(serviceName, path.path())); |
530 startTime = QDateTime::fromTime_t(sysIface->getTimestamp()); |
525 startTime = QDateTime::fromTime_t(sysIface->getTimestamp()); |
531 // isOpen = (publicConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active; |
526 // isOpen = (publicConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active; |
532 } |
527 } |
533 if(startTime.isNull()) |
528 if(startTime.isNull()) |
534 startTime = QDateTime::currentDateTime(); |
529 startTime = QDateTime::currentDateTime(); |