Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Commit a303b732 authored by Albert Vaca Cintora's avatar Albert Vaca Cintora

Merge branch 'master' into frameworks

Conflicts:
	cli/kdeconnect-cli.cpp
	core/CMakeLists.txt
	plasmoid/package/contents/ui/FullRepresentation.qml
	plugins/ping/pingplugin.cpp
parents e1813b16 cd8864fd
build
android-shine.kdev4
*.kdev4
Makefile
lib
src/Makefile
......
......@@ -24,31 +24,49 @@
#include <k4aboutdata.h>
#include <kaboutdata.h>
#include <interfaces/devicesmodel.h>
#include <interfaces/notificationsmodel.h>
#include <interfaces/dbusinterfaces.h>
#include <iostream>
#include <QDBusMessage>
#include <QDBusConnection>
int main(int argc, char** argv)
{
K4AboutData about("kctool", 0, ki18n(("kdeconnect-cli")), "1.0", ki18n("KDE Connect CLI tool"),
K4AboutData::License_GPL, ki18n("(C) 2013 Aleix Pol Gonzalez"));
KAboutData about("kdeconnect-cli", "kdeconnect-cli", ki18n(("kdeconnect-cli")), "1.0", ki18n("KDE Connect CLI tool"),
KAboutData::License_GPL, ki18n("(C) 2013 Aleix Pol Gonzalez"));
about.addAuthor( ki18n("Aleix Pol Gonzalez"), KLocalizedString(), "aleixpol@kde.org" );
KCmdLineArgs::init(argc, argv, &about);
KCmdLineOptions options;
options.add("l")
.add("list-devices", ki18n("List all devices"));
options.add("share <path>", ki18n("Share a file"));
options.add("share <path>", ki18n("Share a file to a said device"));
options.add("pair", ki18n("Request pairing to a said device"));
options.add("unpair", ki18n("Stop pairing to a said device"));
options.add("ping", ki18n("Sends a ping to said device"));
options.add("list-notifications", ki18n("Display the notifications on a said device"));
options.add("device <dev>", ki18n("Device ID"));
KCmdLineArgs::addCmdLineOptions( options );
KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
KApplication app;
if(args->isSet("l")) {
DevicesModel devices;
devices.setDisplayFilter(DevicesModel::StatusUnknown);
for(int i=0, rows=devices.rowCount(); i<rows; ++i) {
QModelIndex idx = devices.index(i);
QString statusInfo;
switch(idx.data(DevicesModel::StatusModelRole).toInt()) {
case DevicesModel::StatusPaired:
statusInfo = "(paired)";
break;
case DevicesModel::StatusReachable:
statusInfo = "(reachable)";
break;
case DevicesModel::StatusReachable | DevicesModel::StatusPaired:
statusInfo = "(paired and reachable)";
break;
}
std::cout << "- " << idx.data(Qt::DisplayRole).toString().toStdString()
<< ": " << idx.data(DevicesModel::IdModelRole).toString().toStdString() << std::endl;
<< ": " << idx.data(DevicesModel::IdModelRole).toString().toStdString() << ' ' << statusInfo.toStdString() << std::endl;
}
std::cout << devices.rowCount() << " devices found" << std::endl;
} else {
......@@ -60,16 +78,43 @@ int main(int argc, char** argv)
QUrl url;
if(args->isSet("share")) {
url = args->makeURL(args->getOption("share").toLatin1());
}
args->clear();
if(!url.isEmpty() && !device.isEmpty()) {
QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kdeconnect", "/modules/kdeconnect/devices/"+device+"/share", "org.kde.kdeconnect.device.share", "shareUrl");
msg.setArguments(QVariantList() << url.toString());
args->clear();
if(!url.isEmpty() && !device.isEmpty()) {
QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kdeconnect", "/modules/kdeconnect/devices/"+device+"/share", "org.kde.kdeconnect.device.share", "shareUrl");
msg.setArguments(QVariantList() << url.toString());
QDBusConnection::sessionBus().call(msg);
} else
KCmdLineArgs::usageError(i18n("Couldn't share %1", url.toString()));
} else if(args->isSet("pair")) {
DeviceDbusInterface dev(device);
if(dev.isPaired())
std::cout << "Already paired" << std::endl;
else {
QDBusPendingReply<void> req = dev.requestPair();
req.waitForFinished();
}
} else if(args->isSet("unpair")) {
DeviceDbusInterface dev(device);
if(!dev.isPaired())
std::cout << "Already not paired" << std::endl;
else {
QDBusPendingReply<void> req = dev.unpair();
req.waitForFinished();
}
} else if(args->isSet("ping")) {
QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kdeconnect", "/modules/kdeconnect/devices/"+device+"/ping", "org.kde.kdeconnect.device.ping", "sendPing");
QDBusConnection::sessionBus().call(msg);
} else
} else if(args->isSet("list-notifications")) {
NotificationsModel notifications;
notifications.setDeviceId(device);
for(int i=0, rows=notifications.rowCount(); i<rows; ++i) {
QModelIndex idx = notifications.index(i);
std::cout << "- " << idx.data(NotificationsModel::AppNameModelRole).toString().toStdString()
<< ": " << idx.data(NotificationsModel::NameModelRole).toString().toStdString() << std::endl;
}
} else {
KCmdLineArgs::usageError(i18n("Nothing to be done with the device"));
}
}
QMetaObject::invokeMethod(&app, "quit", Qt::QueuedConnection);
......
# - Find XTEST
# Find the XTEST libraries
#
# This module defines the following variables:
# XTEST_FOUND - true if XTEST_INCLUDE_DIR & XTEST_LIBRARY are found
# XTEST_LIBRARIES - Set when XTEST_LIBRARY is found
# XTEST_INCLUDE_DIRS - Set when XTEST_INCLUDE_DIR is found
#
# XTEST_INCLUDE_DIR - where to find XTest.h, etc.
# XTEST_LIBRARY - the XTEST library
#
#=============================================================================
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#=============================================================================
find_path(XTEST_INCLUDE_DIR NAMES X11/extensions/XTest.h
PATH_SUFFIXES X11/extensions
DOC "The XTest include directory"
)
find_library(XTEST_LIBRARY NAMES Xtst
DOC "The XTest library"
)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XTest DEFAULT_MSG XTEST_LIBRARY XTEST_INCLUDE_DIR)
if(XTEST_FOUND)
set( XTEST_LIBRARIES ${XTEST_LIBRARY} )
set( XTEST_INCLUDE_DIRS ${XTEST_INCLUDE_DIR} )
endif()
mark_as_advanced(XTEST_INCLUDE_DIR XTEST_LIBRARY)
......@@ -2,6 +2,11 @@ project(KDEConnectCore)
add_definitions(-DTRANSLATION_DOMAIN=\"kdeconnect-core\")
set(KDECONNECT_VERSION_MAJOR 1)
set(KDECONNECT_VERSION_MINOR 0)
set(KDECONNECT_VERSION_PATCH 1)
set(KDECONNECT_VERSION "${KDECONNECT_VERSION_MAJOR}.${KDECONNECT_VERSION_MINOR}.${KDECONNECT_VERSION_PATCH}")
include_directories(
${QJSON_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
......@@ -24,21 +29,23 @@ set(kded_kdeconnect_SRCS
filetransferjob.cpp
daemon.cpp
device.cpp
kdebugnamespace.cpp
)
add_library(kdeconnectcore SHARED ${kded_kdeconnect_SRCS})
target_link_libraries(kdeconnectcore
PUBLIC
KF5::KDELibs4Support
PRIVATE
KF5::KIOWidgets
KF5::KCMUtils
Qt5::Network
${QJSON_LIBRARIES}
${QCA2_LIBRARIES}
)
set_target_properties(kdeconnectcore PROPERTIES
VERSION ${KDECONNECT_VERSION}
SOVERSION ${KDECONNECT_VERSION_MAJOR}
)
target_include_directories(kdeconnectcore PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
generate_export_header(kdeconnectcore EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/kdeconnectcore_export.h BASE_NAME KDEConnectCore)
......
......@@ -80,7 +80,7 @@ void LanDeviceLink::dataReceived()
const QByteArray package = mSocketLineReader->readLine();
//kDebug(kdeconnect_kded()) << "LanDeviceLink dataReceived" << package;
//kDebug(debugArea()) << "LanDeviceLink dataReceived" << package;
NetworkPackage unserialized(QString::null);
NetworkPackage::unserialize(package, &unserialized);
......@@ -90,7 +90,7 @@ void LanDeviceLink::dataReceived()
unserialized.decrypt(mPrivateKey, &decrypted);
if (decrypted.hasPayloadTransferInfo()) {
kDebug(kdeconnect_kded()) << "HasPayloadTransferInfo";
kDebug(debugArea()) << "HasPayloadTransferInfo";
DownloadJob* job = new DownloadJob(mSocketLineReader->peerAddress(), decrypted.payloadTransferInfo());
job->start();
decrypted.setPayload(job->getPayload(), decrypted.payloadSize());
......
......@@ -68,7 +68,7 @@ LanLinkProvider::LanLinkProvider()
void LanLinkProvider::onStart()
{
bool buildSucceed = mUdpServer->bind(QHostAddress::Broadcast, port, QUdpSocket::ShareAddress);
bool buildSucceed = mUdpServer->bind(QHostAddress::Any, port, QUdpSocket::ShareAddress);
Q_ASSERT(buildSucceed);
mTcpPort = port;
......@@ -151,7 +151,7 @@ void LanLinkProvider::connectError()
disconnect(socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(connectError()));
disconnect(socket, SIGNAL(connected()), this, SLOT(connected()));
kDebug(kdeconnect_kded()) << "Fallback (1), try reverse connection";
kDebug(debugArea()) << "Fallback (1), try reverse connection";
NetworkPackage np("");
NetworkPackage::createIdentityPackage(&np);
np.set("tcpPort", mTcpPort);
......@@ -173,7 +173,7 @@ void LanLinkProvider::connected()
NetworkPackage* receivedPackage = receivedIdentityPackages[socket].np;
const QString& deviceId = receivedPackage->get<QString>("deviceId");
//kDebug(kdeconnect_kded()) << "Connected" << socket->isWritable();
//kDebug(debugArea()) << "Connected" << socket->isWritable();
LanDeviceLink* deviceLink = new LanDeviceLink(deviceId, this, socket);
......@@ -185,7 +185,7 @@ void LanLinkProvider::connected()
//TODO: Use reverse connection too to preffer connecting a unstable device (a phone) to a stable device (a computer)
if (success) {
//kDebug(kdeconnect_kded()) << "Handshaking done (i'm the existing device)";
//kDebug(debugArea()) << "Handshaking done (i'm the existing device)";
connect(deviceLink, SIGNAL(destroyed(QObject*)),
this, SLOT(deviceLinkDestroyed(QObject*)));
......@@ -206,7 +206,7 @@ void LanLinkProvider::connected()
} else {
//I think this will never happen
kDebug(kdeconnect_kded()) << "Fallback (2), try reverse connection";
kDebug(debugArea()) << "Fallback (2), try reverse connection";
mUdpSocket.writeDatagram(np2.serialize(), receivedIdentityPackages[socket].sender, port);
delete deviceLink;
}
......@@ -220,7 +220,7 @@ void LanLinkProvider::connected()
//I'm the new device and this is the answer to my UDP introduction (no data received yet)
void LanLinkProvider::newConnection()
{
//kDebug(kdeconnect_kded()) << "LanLinkProvider newConnection";
//kDebug(debugArea()) << "LanLinkProvider newConnection";
while(mTcpServer->hasPendingConnections()) {
QTcpSocket* socket = mTcpServer->nextPendingConnection();
......@@ -234,7 +234,7 @@ void LanLinkProvider::newConnection()
NetworkPackage::createIdentityPackage(&np);
int written = socket->write(np.serialize());
kDebug(kdeconnect_kded()) << "LanLinkProvider sent package." << written << " bytes written, waiting for reply";
kDebug(debugArea()) << "LanLinkProvider sent package." << written << " bytes written, waiting for reply";
*/
}
......@@ -246,20 +246,20 @@ void LanLinkProvider::dataReceived()
const QByteArray data = socket->readLine();
//kDebug(kdeconnect_kded()) << "LanLinkProvider received reply:" << data;
//kDebug(debugArea()) << "LanLinkProvider received reply:" << data;
NetworkPackage np("");
bool success = NetworkPackage::unserialize(data, &np);
if (!success || np.type() != PACKAGE_TYPE_IDENTITY) {
kDebug(kdeconnect_kded()) << "LanLinkProvider/newConnection: Not an identification package (wuh?)";
kDebug(debugArea()) << "LanLinkProvider/newConnection: Not an identification package (wuh?)";
return;
}
const QString& deviceId = np.get<QString>("deviceId");
LanDeviceLink* deviceLink = new LanDeviceLink(deviceId, this, socket);
//kDebug(kdeconnect_kded()) << "Handshaking done (i'm the new device)";
//kDebug(debugArea()) << "Handshaking done (i'm the new device)";
connect(deviceLink, SIGNAL(destroyed(QObject*)),
this, SLOT(deviceLinkDestroyed(QObject*)));
......@@ -282,7 +282,7 @@ void LanLinkProvider::dataReceived()
void LanLinkProvider::deviceLinkDestroyed(QObject* destroyedDeviceLink)
{
//kDebug(kdeconnect_kded()) << "deviceLinkDestroyed";
//kDebug(debugArea()) << "deviceLinkDestroyed";
const QString id = destroyedDeviceLink->property("deviceId").toString();
QMap< QString, DeviceLink* >::iterator oldLinkIterator = mLinks.find(id);
if (oldLinkIterator != mLinks.end() && oldLinkIterator.value() == destroyedDeviceLink) {
......
......@@ -39,7 +39,7 @@ void UploadJob::start()
while(!mServer->listen(QHostAddress::Any, mPort)) {
mPort++;
if (mPort > 1764) { //No ports available?
kDebug(kdeconnect_kded()) << "Error opening a port in range 1739-1764 for file transfer";
kDebug(debugArea()) << "Error opening a port in range 1739-1764 for file transfer";
mPort = 0;
return;
}
......
......@@ -66,13 +66,13 @@ Daemon::Daemon(QObject *parent)
uuid = uuid.mid(1, uuid.length() - 2).replace("-", "_");
config->group("myself").writeEntry("id", uuid);
config->sync();
kDebug(kdeconnect_kded()) << "My id:" << uuid;
kDebug(debugArea()) << "My id:" << uuid;
}
//kDebug(kdeconnect_kded()) << "QCA supported capabilities:" << QCA::supportedFeatures().join(",");
//kDebug(debugArea()) << "QCA supported capabilities:" << QCA::supportedFeatures().join(",");
if(!QCA::isSupported("rsa")) {
//TODO: Maybe display this in a more visible way?
kWarning(kdeconnect_kded()) << "Error: KDE Connect could not find support for RSA in your QCA installation, if your distribution provides"
kWarning(debugArea()) << "Error: KDE Connect could not find support for RSA in your QCA installation, if your distribution provides"
<< "separate packages for QCA-ossl and QCA-gnupg plugins, make sure you have them installed and try again";
return;
}
......@@ -86,13 +86,13 @@ Daemon::Daemon(QObject *parent)
if (!privKey.open(QIODevice::ReadWrite | QIODevice::Truncate))
{
kWarning(kdeconnect_kded()) << "Error: KDE Connect could not create private keys file: " << privateKeyPath;
kWarning(debugArea()) << "Error: KDE Connect could not create private keys file: " << privateKeyPath;
return;
}
if (!privKey.setPermissions(strict))
{
kWarning(kdeconnect_kded()) << "Error: KDE Connect could not set permissions for private file: " << privateKeyPath;
kWarning(debugArea()) << "Error: KDE Connect could not set permissions for private file: " << privateKeyPath;
}
//http://delta.affinix.com/docs/qca/rsatest_8cpp-example.html
......@@ -110,11 +110,11 @@ Daemon::Daemon(QObject *parent)
if (QFile::permissions(config->group("myself").readEntry("privateKeyPath")) != strict)
{
kWarning(kdeconnect_kded()) << "Error: KDE Connect detects wrong permissions for private file " << config->group("myself").readEntry("privateKeyPath");
kWarning(debugArea()) << "Error: KDE Connect detects wrong permissions for private file " << config->group("myself").readEntry("privateKeyPath");
}
//Debugging
kDebug(kdeconnect_kded()) << "Starting KdeConnect daemon";
kDebug(debugArea()) << "Starting KdeConnect daemon";
//Load backends (hardcoded by now, should be plugins in a future)
d->mLinkProviders.insert(new LanLinkProvider());
......@@ -182,14 +182,14 @@ void Daemon::onNewDeviceLink(const NetworkPackage& identityPackage, DeviceLink*
const QString& id = identityPackage.get<QString>("deviceId");
//kDebug(kdeconnect_kded()) << "Device discovered" << id << "via" << dl->provider()->name();
//kDebug(debugArea()) << "Device discovered" << id << "via" << dl->provider()->name();
if (d->mDevices.contains(id)) {
//kDebug(kdeconnect_kded()) << "It is a known device";
//kDebug(debugArea()) << "It is a known device";
Device* device = d->mDevices[id];
device->addLink(identityPackage, dl);
} else {
//kDebug(kdeconnect_kded()) << "It is a new device";
//kDebug(debugArea()) << "It is a new device";
Device* device = new Device(this, identityPackage, dl);
connect(device, SIGNAL(reachableStatusChanged()), this, SLOT(onDeviceReachableStatusChanged()));
......@@ -210,12 +210,12 @@ void Daemon::onDeviceReachableStatusChanged()
Q_EMIT deviceVisibilityChanged(id, device->isReachable());
//kDebug(kdeconnect_kded()) << "Device" << device->name() << "reachable status changed:" << device->isReachable();
//kDebug(debugArea()) << "Device" << device->name() << "reachable status changed:" << device->isReachable();
if (!device->isReachable()) {
if (!device->isPaired()) {
kDebug(kdeconnect_kded()) << "Destroying device" << device->name();
kDebug(debugArea()) << "Destroying device" << device->name();
Q_EMIT deviceRemoved(id);
d->mDevices.remove(id);
device->deleteLater();
......
......@@ -235,7 +235,7 @@ static bool lessThan(DeviceLink* p1, DeviceLink* p2)
void Device::addLink(const NetworkPackage& identityPackage, DeviceLink* link)
{
//kDebug(kdeconnect_kded()) << "Adding link to" << id() << "via" << link->provider();
//kDebug(debugArea()) << "Adding link to" << id() << "via" << link->provider();
m_protocolVersion = identityPackage.get<int>("protocolVersion");
if (m_protocolVersion != NetworkPackage::ProtocolVersion) {
......@@ -282,7 +282,7 @@ void Device::removeLink(DeviceLink* link)
{
m_deviceLinks.removeOne(link);
//kDebug(kdeconnect_kded()) << "RemoveLink" << m_deviceLinks.size() << "links remaining";
//kDebug(debugArea()) << "RemoveLink" << m_deviceLinks.size() << "links remaining";
if (m_deviceLinks.isEmpty()) {
reloadPlugins();
......@@ -315,12 +315,12 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
{
if (np.type() == PACKAGE_TYPE_PAIR) {
//kDebug(kdeconnect_kded()) << "Pair package";
//kDebug(debugArea()) << "Pair package";
bool wantsPair = np.get<bool>("pair");
if (wantsPair == isPaired()) {
kDebug(kdeconnect_kded()) << "Already" << (wantsPair? "paired":"unpaired");
kDebug(debugArea()) << "Already" << (wantsPair? "paired":"unpaired");
if (m_pairStatus == Device::Requested) {
m_pairStatus = Device::NotPaired;
m_pairingTimeut.stop();
......@@ -335,7 +335,7 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
const QString& key = np.get<QString>("publicKey");
m_publicKey = QCA::RSAPublicKey::fromPEM(key);
if (m_publicKey.isNull()) {
kDebug(kdeconnect_kded()) << "ERROR decoding key";
kDebug(debugArea()) << "ERROR decoding key";
if (m_pairStatus == Device::Requested) {
m_pairStatus = Device::NotPaired;
m_pairingTimeut.stop();
......@@ -346,12 +346,12 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
if (m_pairStatus == Device::Requested) { //We started pairing
kDebug(kdeconnect_kded()) << "Pair answer";
kDebug(debugArea()) << "Pair answer";
setAsPaired();
} else {
kDebug(kdeconnect_kded()) << "Pair request";
kDebug(debugArea()) << "Pair request";
KNotification* notification = new KNotification("pingReceived"); //KNotification::Persistent
notification->setPixmap(KIcon("dialog-information").pixmap(48, 48));
......@@ -369,7 +369,7 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
} else {
kDebug(kdeconnect_kded()) << "Unpair request";
kDebug(debugArea()) << "Unpair request";
PairStatus prevPairStatus = m_pairStatus;
m_pairStatus = Device::NotPaired;
......@@ -392,7 +392,7 @@ void Device::privateReceivedPackage(const NetworkPackage& np)
plugin->receivePackage(np);
}
} else {
kDebug(kdeconnect_kded()) << "device" << name() << "not paired, ignoring package" << np.type();
kDebug(debugArea()) << "device" << name() << "not paired, ignoring package" << np.type();
unpair();
}
......@@ -410,7 +410,7 @@ bool Device::sendOwnPublicKey()
void Device::rejectPairing()
{
kDebug(kdeconnect_kded()) << "Rejected pairing";
kDebug(debugArea()) << "Rejected pairing";
m_pairStatus = Device::NotPaired;
......@@ -426,7 +426,7 @@ void Device::acceptPairing()
{
if (m_pairStatus != Device::RequestedByPeer) return;
kDebug(kdeconnect_kded()) << "Accepted pairing";
kDebug(debugArea()) << "Accepted pairing";
bool success = sendOwnPublicKey();
......@@ -472,13 +472,6 @@ QStringList Device::availableLinks() const
return sl;
}
void Device::sendPing()
{
NetworkPackage np(PACKAGE_TYPE_PING);
bool success = sendPackage(np);
kDebug(kdeconnect_kded()) << "sendPing:" << success;
}
Device::DeviceType Device::str2type(QString deviceType) {
if (deviceType == "desktop") return Desktop;
if (deviceType == "laptop") return Laptop;
......
......@@ -105,7 +105,6 @@ public Q_SLOTS:
Q_SCRIPTABLE void requestPair();
Q_SCRIPTABLE void unpair();
Q_SCRIPTABLE void reloadPlugins(); //From kconf
Q_SCRIPTABLE void sendPing();
void acceptPairing();
void rejectPairing();
......
......@@ -41,18 +41,18 @@ FileTransferJob::FileTransferJob(const QSharedPointer<QIODevice>& origin, int si
mDeviceName = i18nc("Device name that will appear on the jobs", "KDE-Connect");
setCapabilities(Killable);
kDebug(kdeconnect_kded()) << "FileTransferJob Downloading payload to" << destination;
kDebug(debugArea()) << "FileTransferJob Downloading payload to" << destination;
}
void FileTransferJob::openFinished(KJob* job)
{
kDebug(kdeconnect_kded()) << job->errorString();
kDebug(debugArea()) << job->errorString();
}
void FileTransferJob::start()
{
QMetaObject::invokeMethod(this, "doStart", Qt::QueuedConnection);
//kDebug(kdeconnect_kded()) << "FileTransferJob start";
//kDebug(debugArea()) << "FileTransferJob start";
}
void FileTransferJob::doStart()
......@@ -136,10 +136,10 @@ void FileTransferJob::open(KIO::Job* job)
{
Q_UNUSED(job);
//kDebug(kdeconnect_kded()) << "FileTransferJob open";
//kDebug(debugArea()) << "FileTransferJob open";
if (!mOrigin) {
kDebug(kdeconnect_kded()) << "FileTransferJob: Origin is null";
kDebug(debugArea()) << "FileTransferJob: Origin is null";
return;
}
......@@ -161,7 +161,7 @@ void FileTransferJob::readyRead()
mWritten += data.size();
setProcessedAmount(Bytes, mWritten);
//kDebug(kdeconnect_kded()) << "readyRead" << mSize << mWritten << bytes;
//kDebug(debugArea()) << "readyRead" << mSize << mWritten << bytes;
if (mSize > -1) {
//If a least 1 second has passed since last update
......@@ -192,11 +192,11 @@ void FileTransferJob::sourceFinished()
//TODO: MD5 check the file
if (mSize > -1 && mWritten != mSize) {
kDebug(kdeconnect_kded()) << "Received incomplete file (" << mWritten << " of " << mSize << " bytes)";
kDebug(debugArea()) << "Received incomplete file (" << mWritten << " of " << mSize << " bytes)";
setError(1);
setErrorText(i18n("Received incomplete file"));
} else {
kDebug(kdeconnect_kded()) << "Finished transfer" << mDestinationJob->url();
kDebug(debugArea()) << "Finished transfer" << mDestinationJob->url();
}
mDestinationJob->close();
mDestinationJob->deleteLater();
......
/**
* Copyright 2013 Albert Vaca <albertvaka@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License or (at your option) version 3 or any later version
* accepted by the membership of KDE e.V. (or its successor approved
* by the membership of KDE e.V.), which shall act as a proxy
* defined in Section 14 of version 3 of the license.
*
* This program 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 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 "kdebugnamespace.h"
int kdeconnect_kded() {
static int s_area = KDebug::registerArea("kdeconnect_kded", true);
return s_area;
}
......@@ -24,7 +24,11 @@
#include <KDebug>
#include <kdemacros.h>
KDE_EXPORT int kdeconnect_kded();
inline int debugArea()
{
static int theArea = KDebug::registerArea("kdeconnect");
return theArea;
};
#endif
......@@ -82,10 +82,10 @@ QByteArray NetworkPackage::serialize() const
QJson::Serializer serializer;
QByteArray json = serializer.serialize(variant,&ok);
if (!ok) {
kDebug(kdeconnect_kded()) << "Serialization error:" << serializer.errorMessage();
kDebug(debugArea()) << "Serialization error:" << serializer.errorMessage();
} else {
if (!isEncrypted()) {
//kDebug(kdeconnect_kded()) << "Serialized package:" << json;
//kDebug(kDebugArea) << "Serialized package:" << json;
}
json.append('\n');
}
......@@ -100,7 +100,7 @@ bool NetworkPackage::unserialize(const QByteArray& a, NetworkPackage* np)
bool ok;
QVariantMap variant = parser.parse(a, &ok).toMap();
if (!ok) {
kDebug(kdeconnect_kded()) << "Unserialization error:" << a;
kDebug(debugArea()) << "Unserialization error:" << a;
return false;
}
......@@ -108,7 +108,7 @@ bool NetworkPackage::unserialize(const QByteArray& a, NetworkPackage* np)
QJson::QObjectHelper::qvariant2qobject(variant, np);
if (!np->isEncrypted()) {
//kDebug(kdeconnect_kded()) << "Unserialized: " << a;
//kDebug(kDebugArea) << "Unserialized: " << a;
}
np->mPayloadSize = variant["payloadSize"].toInt(); //Will return 0 if was not present, which is ok
......
......@@ -50,7 +50,7 @@ KPluginInfo PluginLoader::getPluginInfo(const QString& name) const
{
KService::Ptr service = plugins[name];
if (!service) {
kDebug(kdeconnect_kded()) << "Plugin unknown" << name;
kDebug(debugArea()) << "Plugin unknown" << name;
return KPluginInfo();
}
......@@ -63,13 +63,13 @@ PluginData PluginLoader::instantiatePluginForDevice(const QString& name, Device*
KService::Ptr service = plugins[name];
if (!service) {
kDebug(kdeconnect_kded()) << "Plugin unknown" << name;
kDebug(debugArea()) << "Plugin unknown" << name;
return ret;
}
KPluginFactory *factory = KPluginLoader(service->library()).factory();
if (!factory) {
kDebug(kdeconnect_kded()) << "KPluginFactory could not load the plugin:" << service->library();
kDebug(debugArea()) << "KPluginFactory could not load the plugin:" << service->library();
return ret;