[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498
Maximiliano Curia
maxy at moszumanska.debian.org
Fri Oct 14 14:27:09 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=b1c8726
The following commit has been merged in the master branch:
commit b1c8726caccefcb09e4fa439d93878bddc019b1f
Author: Albert Vaca <albertvaka at gmail.com>
Date: Wed Nov 6 21:34:06 2013 +0100
Refactor to remove code duplication in Device
---
kded/device.cpp | 99 ++++++++++++++++++++++++++++++---------------------------
kded/device.h | 4 +++
2 files changed, 56 insertions(+), 47 deletions(-)
diff --git a/kded/device.cpp b/kded/device.cpp
index 135f8b8..bf31baf 100644
--- a/kded/device.cpp
+++ b/kded/device.cpp
@@ -25,10 +25,10 @@ Device::Device(const QString& id)
KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
KConfigGroup data = config->group("trusted_devices").group(id);
- m_deviceName = data.readEntry<QString>("deviceName", QString("unnamed"));
+ m_deviceName = data.readEntry<QString>("deviceName", QLatin1String("unnamed"));
m_deviceType = str2type(data.readEntry<QString>("deviceType", QLatin1String("unknown")));
- const QString& key = data.readEntry<QString>("publicKey",QString());
+ const QString& key = data.readEntry<QString>("publicKey", QString());
m_publicKey = QCA::RSAPublicKey::fromPEM(key);
//Register in bus
@@ -135,12 +135,7 @@ void Device::requestPair()
m_pairStatus = Device::Requested;
//Send our own public key
- NetworkPackage np(PACKAGE_TYPE_PAIR);
- np.set("pair", true);
- KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
- const QString& key = config->group("myself").readEntry<QString>("publicKey",QString());
- np.set("publicKey",key);
- bool success = sendPackage(np);
+ bool success = sendOwnPublicKey();
if (!success) {
m_pairStatus = Device::NotPaired;
@@ -207,9 +202,9 @@ void Device::addLink(const NetworkPackage& identityPackage, DeviceLink* link)
m_deviceName = identityPackage.get<QString>("deviceName");
m_deviceType = str2type(identityPackage.get<QString>("deviceType"));
- //TODO: Do not read the key every time
+ //TODO: Do not read the key every time from config, store somewhere
KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
- const QString& key = config->group("myself").readEntry<QString>("privateKey",QString());
+ const QString& key = config->group("myself").readEntry<QString>("privateKey", QString());
QCA::PrivateKey privateKey = QCA::PrivateKey::fromPEM(key);
link->setPrivateKey(privateKey);
@@ -301,18 +296,7 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
if (m_pairStatus == Device::Requested) { //We started pairing
qDebug() << "Pair answer";
-
- m_pairStatus = Device::Paired;
- pairingTimer.stop();
-
- //Store as trusted device
- KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
- config->group("trusted_devices").group(id()).writeEntry("publicKey",key);
- config->group("trusted_devices").group(id()).writeEntry("deviceName",name());
-
- reloadPlugins();
-
- Q_EMIT pairingSuccesful();
+ setAsPaired();
} else {
@@ -362,34 +346,15 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
}
-void Device::acceptPairing()
+bool Device::sendOwnPublicKey()
{
- if (m_pairStatus != Device::RequestedByPeer) return;
-
- qDebug() << "Accepted pairing";
-
- KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
-
- //Send our own public key
NetworkPackage np(PACKAGE_TYPE_PAIR);
np.set("pair", true);
- const QString& key = config->group("myself").readEntry<QString>("publicKey",QString());
+ KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
+ const QString& key = config->group("myself").readEntry<QString>("publicKey", QString());
np.set("publicKey",key);
bool success = sendPackage(np);
-
- if (!success) {
- return;
- }
-
- //Store as trusted device
- config->group("trusted_devices").group(id()).writeEntry("publicKey", m_publicKey.toPEM());
- config->group("trusted_devices").group(id()).writeEntry("deviceName", name());
-
- m_pairStatus = Device::Paired;
-
- reloadPlugins(); //This will load plugins
-
- Q_EMIT pairingSuccesful();
+ return success;
}
void Device::rejectPairing()
@@ -406,6 +371,46 @@ void Device::rejectPairing()
}
+void Device::acceptPairing()
+{
+ if (m_pairStatus != Device::RequestedByPeer) return;
+
+ qDebug() << "Accepted pairing";
+
+ bool success = sendOwnPublicKey();
+
+ if (!success) {
+ m_pairStatus = Device::NotPaired;
+ return;
+ }
+
+ setAsPaired();
+
+}
+
+void Device::setAsPaired()
+{
+
+ m_pairStatus = Device::Paired;
+
+ pairingTimer.stop(); //Just in case it was started
+
+ storeAsTrusted(); //Save to the config as trusted
+
+ reloadPlugins(); //Will actually load the plugins
+
+ Q_EMIT pairingSuccesful();
+
+}
+
+void Device::storeAsTrusted()
+{
+ KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
+ config->group("trusted_devices").group(id()).writeEntry("publicKey", m_publicKey.toPEM());
+ config->group("trusted_devices").group(id()).writeEntry("deviceName", name());
+ config->group("trusted_devices").group(id()).writeEntry("deviceType", type2str(m_deviceType));
+}
+
QStringList Device::availableLinks() const
{
QStringList sl;
@@ -422,7 +427,7 @@ void Device::sendPing()
qDebug() << "sendPing:" << success;
}
-static DeviceType Device::str2type(QString deviceType) {
+Device::DeviceType Device::str2type(QString deviceType) {
if (deviceType == "desktop") return Desktop;
if (deviceType == "laptop") return Laptop;
if (deviceType == "phone") return Phone;
@@ -430,7 +435,7 @@ static DeviceType Device::str2type(QString deviceType) {
return Unknown;
}
-static QString Device::type2str(DeviceType deviceType) {
+QString Device::type2str(Device::DeviceType deviceType) {
if (deviceType == Desktop) return "desktop";
if (deviceType == Laptop) return "laptop";
if (deviceType == Phone) return "phone";
diff --git a/kded/device.h b/kded/device.h
index 7a8fd1f..955f69b 100644
--- a/kded/device.h
+++ b/kded/device.h
@@ -132,6 +132,10 @@ private:
QTimer pairingTimer;
+ void setAsPaired();
+ void storeAsTrusted();
+ bool sendOwnPublicKey();
+
};
Q_DECLARE_METATYPE(Device*)
--
kdeconnect packaging
More information about the pkg-kde-commits
mailing list