Reorganize sources

We broke kded into core and kded, core contains the library with the backends
and plugins.
Also we renamed libkdeconnect to interfaces.
This commit is contained in:
Aleix Pol 2014-06-14 15:22:40 +02:00
parent 807f90f132
commit b88897847b
141 changed files with 165 additions and 183 deletions

View file

@ -15,12 +15,14 @@ include(KDE4Defaults)
include_directories(${KDE4_INCLUDES})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_subdirectory(kded)
add_subdirectory(libkdeconnect)
add_subdirectory(core)
add_subdirectory(kcm)
add_subdirectory(kio)
add_subdirectory(plasmoid)
add_subdirectory(icon)
add_subdirectory(interfaces)
add_subdirectory(kded)
add_subdirectory(plasmoid)
add_subdirectory(cli)
add_subdirectory(tests)

View file

@ -22,8 +22,10 @@
#include <KUrl>
#include <kcmdlineargs.h>
#include <kaboutdata.h>
#include <libkdeconnect/devicesmodel.h>
#include <interfaces/devicesmodel.h>
#include <iostream>
#include <QDBusMessage>
#include <QDBusConnection>
int main(int argc, char** argv)
{

59
core/CMakeLists.txt Normal file
View file

@ -0,0 +1,59 @@
project(KDEConnectCore)
include_directories(
${KDE4_KIO_LIBS}
${QJSON_INCLUDE_DIR}
${QCA2_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
add_subdirectory(plugins)
add_subdirectory(backends/lan)
add_subdirectory(backends/loopback)
set(kded_kdeconnect_SRCS
${kded_kdeconnect_SRCS}
backends/linkprovider.cpp
backends/devicelink.cpp
plugins/kdeconnectplugin.cpp
plugins/pluginloader.cpp
networkpackage.cpp
filetransferjob.cpp
daemon.cpp
device.cpp
kdebugnamespace.cpp
)
kde4_add_library(kdeconnectcore SHARED ${kded_kdeconnect_SRCS})
target_link_libraries(kdeconnectcore
PUBLIC
${KDE4_KDECORE_LIBS}
PRIVATE
${KDE4_KIO_LIBS}
${QJSON_LIBRARIES}
${QT_QTNETWORK_LIBRARY}
${QCA2_LIBRARIES}
)
generate_export_header(kdeconnectcore EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/kdeconnectcore_export.h BASE_NAME KDEConnectCore)
include(../macros.cmake)
generate_and_install_dbus_interface(
kdeconnectcore
../core/daemon.h
org.kde.kdeconnect.daemon.xml
OPTIONS -a
)
generate_and_install_dbus_interface(
kdeconnectcore
../core/device.h
org.kde.kdeconnect.device.xml
OPTIONS -a
)

View file

@ -26,6 +26,7 @@
#include <QDBusConnection>
#include <QNetworkSession>
#include <QNetworkConfigurationManager>
#include <QtCrypto>
#include <KConfig>
#include <KConfigGroup>
@ -35,8 +36,27 @@
#include "networkpackage.h"
#include "backends/lan/lanlinkprovider.h"
#include "backends/loopback/loopbacklinkprovider.h"
#include "device.h"
#include "networkpackage.h"
#include "backends/devicelink.h"
#include "backends/linkprovider.h"
Daemon::Daemon(QObject *parent) : QObject(parent)
struct DaemonPrivate
{
//Different ways to find devices and connect to them
QSet<LinkProvider*> mLinkProviders;
//Every known device
QMap<QString, Device*> mDevices;
// The Initializer object sets things up, and also does cleanup when it goes out of scope
// Note it's not being used anywhere. That's inteneded
QCA::Initializer mQcaInitializer;
};
Daemon::Daemon(QObject *parent)
: QObject(parent)
, d(new DaemonPrivate)
{
KSharedConfigPtr config = KSharedConfig::openConfig("kdeconnectrc");
@ -97,8 +117,8 @@ Daemon::Daemon(QObject *parent) : QObject(parent)
kDebug(kdeconnect_kded()) << "Starting KdeConnect daemon";
//Load backends (hardcoded by now, should be plugins in a future)
mLinkProviders.insert(new LanLinkProvider());
//mLinkProviders.insert(new LoopbackLinkProvider());
d->mLinkProviders.insert(new LanLinkProvider());
//d->mLinkProviders.insert(new LoopbackLinkProvider());
//Read remebered paired devices
const KConfigGroup& known = config->group("trusted_devices");
@ -107,13 +127,13 @@ Daemon::Daemon(QObject *parent) : QObject(parent)
Device* device = new Device(this, id);
connect(device, SIGNAL(reachableStatusChanged()),
this, SLOT(onDeviceReachableStatusChanged()));
mDevices[id] = device;
d->mDevices[id] = device;
Q_EMIT deviceAdded(id);
}
//Listen to connectivity changes
QNetworkSession* network = new QNetworkSession(QNetworkConfigurationManager().defaultConfiguration());
Q_FOREACH (LinkProvider* a, mLinkProviders) {
Q_FOREACH (LinkProvider* a, d->mLinkProviders) {
connect(network, SIGNAL(stateChanged(QNetworkSession::State)),
a, SLOT(onNetworkChange(QNetworkSession::State)));
connect(a, SIGNAL(onConnectionReceived(NetworkPackage, DeviceLink*)),
@ -130,7 +150,7 @@ Daemon::Daemon(QObject *parent) : QObject(parent)
void Daemon::setDiscoveryEnabled(bool b)
{
//Listen to incomming connections
Q_FOREACH (LinkProvider* a, mLinkProviders) {
Q_FOREACH (LinkProvider* a, d->mLinkProviders) {
if (b)
a->onStart();
else
@ -141,7 +161,7 @@ void Daemon::setDiscoveryEnabled(bool b)
void Daemon::forceOnNetworkChange()
{
Q_FOREACH (LinkProvider* a, mLinkProviders) {
Q_FOREACH (LinkProvider* a, d->mLinkProviders) {
a->onNetworkChange(QNetworkSession::Connected);
}
}
@ -149,7 +169,7 @@ void Daemon::forceOnNetworkChange()
QStringList Daemon::devices(bool onlyReachable, bool onlyVisible) const
{
QStringList ret;
Q_FOREACH(Device* device, mDevices) {
Q_FOREACH(Device* device, d->mDevices) {
if (onlyReachable && !device->isReachable()) continue;
if (onlyVisible && !device->isPaired()) continue;
ret.append(device->id());
@ -164,16 +184,16 @@ void Daemon::onNewDeviceLink(const NetworkPackage& identityPackage, DeviceLink*
//kDebug(kdeconnect_kded()) << "Device discovered" << id << "via" << dl->provider()->name();
if (mDevices.contains(id)) {
if (d->mDevices.contains(id)) {
//kDebug(kdeconnect_kded()) << "It is a known device";
Device* device = mDevices[id];
Device* device = d->mDevices[id];
device->addLink(identityPackage, dl);
} else {
//kDebug(kdeconnect_kded()) << "It is a new device";
Device* device = new Device(this, identityPackage, dl);
connect(device, SIGNAL(reachableStatusChanged()), this, SLOT(onDeviceReachableStatusChanged()));
mDevices[id] = device;
d->mDevices[id] = device;
Q_EMIT deviceAdded(id);
}
@ -197,7 +217,7 @@ void Daemon::onDeviceReachableStatusChanged()
if (!device->isPaired()) {
kDebug(kdeconnect_kded()) << "Destroying device" << device->name();
Q_EMIT deviceRemoved(id);
mDevices.remove(id);
d->mDevices.remove(id);
device->deleteLater();
}

View file

@ -24,16 +24,14 @@
#include <QObject>
#include <QSet>
#include <QMap>
#include <QtCrypto>
#include <KDEDModule>
#include <KPluginFactory>
#include "kdeconnectcore_export.h"
#include "device.h"
#include "networkpackage.h"
#include "backends/devicelink.h"
#include "backends/linkprovider.h"
class DaemonPrivate;
class NetworkPackage;
class DeviceLink;
class KDECONNECTCORE_EXPORT Daemon
: public QObject
@ -65,15 +63,7 @@ private Q_SLOTS:
void onDeviceReachableStatusChanged();
private:
//Different ways to find devices and connect to them
QSet<LinkProvider*> mLinkProviders;
//Every known device
QMap<QString, Device*> mDevices;
// The Initializer object sets things up, and also does cleanup when it goes out of scope
QCA::Initializer mQcaInitializer;
QScopedPointer<DaemonPrivate> d;
};
#endif

Some files were not shown because too many files have changed in this diff Show more