Changeset View
Changeset View
Standalone View
Standalone View
core/pluginloader.cpp
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Line(s) | 56 | { | |||
---|---|---|---|---|---|
64 | 64 | | |||
65 | KPluginLoader loader(service.fileName()); | 65 | KPluginLoader loader(service.fileName()); | ||
66 | KPluginFactory* factory = loader.factory(); | 66 | KPluginFactory* factory = loader.factory(); | ||
67 | if (!factory) { | 67 | if (!factory) { | ||
68 | qCDebug(KDECONNECT_CORE) << "KPluginFactory could not load the plugin:" << service.pluginId() << loader.errorString(); | 68 | qCDebug(KDECONNECT_CORE) << "KPluginFactory could not load the plugin:" << service.pluginId() << loader.errorString(); | ||
69 | return ret; | 69 | return ret; | ||
70 | } | 70 | } | ||
71 | 71 | | |||
72 | const QStringList outgoingInterfaces = KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-OutgoingPackageType")); | 72 | const QStringList outgoingInterfaces = KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-OutgoingPacketType")); | ||
73 | 73 | | |||
74 | QVariant deviceVariant = QVariant::fromValue<Device*>(device); | 74 | QVariant deviceVariant = QVariant::fromValue<Device*>(device); | ||
75 | 75 | | |||
76 | ret = factory->create<KdeConnectPlugin>(device, QVariantList() << deviceVariant << pluginName << outgoingInterfaces); | 76 | ret = factory->create<KdeConnectPlugin>(device, QVariantList() << deviceVariant << pluginName << outgoingInterfaces); | ||
77 | if (!ret) { | 77 | if (!ret) { | ||
78 | qCDebug(KDECONNECT_CORE) << "Error loading plugin"; | 78 | qCDebug(KDECONNECT_CORE) << "Error loading plugin"; | ||
79 | return ret; | 79 | return ret; | ||
80 | } | 80 | } | ||
81 | 81 | | |||
82 | //qCDebug(KDECONNECT_CORE) << "Loaded plugin:" << service.pluginId(); | 82 | //qCDebug(KDECONNECT_CORE) << "Loaded plugin:" << service.pluginId(); | ||
83 | return ret; | 83 | return ret; | ||
84 | } | 84 | } | ||
85 | 85 | | |||
86 | QStringList PluginLoader::incomingCapabilities() const | 86 | QStringList PluginLoader::incomingCapabilities() const | ||
87 | { | 87 | { | ||
88 | QSet<QString> ret; | 88 | QSet<QString> ret; | ||
89 | for (const KPluginMetaData& service : qAsConst(plugins)) { | 89 | for (const KPluginMetaData& service : qAsConst(plugins)) { | ||
90 | ret += KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-SupportedPackageType")).toSet(); | 90 | ret += KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-SupportedPacketType")).toSet(); | ||
91 | } | 91 | } | ||
92 | return ret.toList(); | 92 | return ret.toList(); | ||
93 | } | 93 | } | ||
94 | 94 | | |||
95 | QStringList PluginLoader::outgoingCapabilities() const | 95 | QStringList PluginLoader::outgoingCapabilities() const | ||
96 | { | 96 | { | ||
97 | QSet<QString> ret; | 97 | QSet<QString> ret; | ||
98 | for (const KPluginMetaData& service : qAsConst(plugins)) { | 98 | for (const KPluginMetaData& service : qAsConst(plugins)) { | ||
99 | ret += KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-OutgoingPackageType")).toSet(); | 99 | ret += KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-OutgoingPacketType")).toSet(); | ||
100 | } | 100 | } | ||
101 | return ret.toList(); | 101 | return ret.toList(); | ||
102 | } | 102 | } | ||
103 | 103 | | |||
104 | QSet<QString> PluginLoader::pluginsForCapabilities(const QSet<QString>& incoming, const QSet<QString>& outgoing) | 104 | QSet<QString> PluginLoader::pluginsForCapabilities(const QSet<QString>& incoming, const QSet<QString>& outgoing) | ||
105 | { | 105 | { | ||
106 | QSet<QString> ret; | 106 | QSet<QString> ret; | ||
107 | 107 | | |||
108 | for (const KPluginMetaData& service : qAsConst(plugins)) { | 108 | for (const KPluginMetaData& service : qAsConst(plugins)) { | ||
109 | const QSet<QString> pluginIncomingCapabilities = KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-SupportedPackageType")).toSet(); | 109 | const QSet<QString> pluginIncomingCapabilities = KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-SupportedPacketType")).toSet(); | ||
110 | const QSet<QString> pluginOutgoingCapabilities = KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-OutgoingPackageType")).toSet(); | 110 | const QSet<QString> pluginOutgoingCapabilities = KPluginMetaData::readStringList(service.rawData(), QStringLiteral("X-KdeConnect-OutgoingPacketType")).toSet(); | ||
111 | 111 | | |||
112 | bool capabilitiesEmpty = (pluginIncomingCapabilities.isEmpty() && pluginOutgoingCapabilities.isEmpty()); | 112 | bool capabilitiesEmpty = (pluginIncomingCapabilities.isEmpty() && pluginOutgoingCapabilities.isEmpty()); | ||
113 | #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) | 113 | #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) | ||
114 | bool capabilitiesIntersect = (outgoing.intersects(pluginIncomingCapabilities) || incoming.intersects(pluginOutgoingCapabilities)); | 114 | bool capabilitiesIntersect = (outgoing.intersects(pluginIncomingCapabilities) || incoming.intersects(pluginOutgoingCapabilities)); | ||
115 | #else | 115 | #else | ||
116 | QSet<QString> commonIncoming = incoming; | 116 | QSet<QString> commonIncoming = incoming; | ||
117 | commonIncoming.intersect(pluginOutgoingCapabilities); | 117 | commonIncoming.intersect(pluginOutgoingCapabilities); | ||
118 | QSet<QString> commonOutgoing = outgoing; | 118 | QSet<QString> commonOutgoing = outgoing; | ||
Show All 13 Lines |