Load the time engine and get data out of it.
This commit is contained in:
parent
a05373595d
commit
dac60f8ab8
|
@ -19,6 +19,8 @@
|
||||||
|
|
||||||
#include "plugintest.h"
|
#include "plugintest.h"
|
||||||
|
|
||||||
|
#include <kqpluginfactoryinterface.h>
|
||||||
|
|
||||||
#include <kdebug.h>
|
#include <kdebug.h>
|
||||||
#include <kservice.h>
|
#include <kservice.h>
|
||||||
#include <kservicetypetrader.h>
|
#include <kservicetypetrader.h>
|
||||||
|
@ -43,6 +45,7 @@
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
#include <QJsonObject>
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
@ -72,11 +75,45 @@ PluginTest::~PluginTest()
|
||||||
void PluginTest::runMain()
|
void PluginTest::runMain()
|
||||||
{
|
{
|
||||||
qDebug() << "plugin test runs: ";
|
qDebug() << "plugin test runs: ";
|
||||||
loadDataEngine();
|
//loadDataEngine();
|
||||||
|
qDebug() << " libs are in: " << QCoreApplication::libraryPaths();
|
||||||
|
qDebug() << " - - - -- - - - - ------------------------------------\n";
|
||||||
|
loadKQPlugin();
|
||||||
exit(0);
|
exit(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PluginTest::loadKQPlugin()
|
||||||
|
{
|
||||||
|
qDebug() << "Load KQPlugin";
|
||||||
|
QString pluginPath = "/home/sebas/kf5/install/lib/x86_64-linux-gnu/kplugins/";
|
||||||
|
QCoreApplication::addLibraryPath(pluginPath);
|
||||||
|
//QPluginLoader loader("/home/sebas/kf5/install/lib/x86_64-linux-gnu/kplugins/libkqpluginfactory.so", this);
|
||||||
|
QPluginLoader loader("/home/sebas/kf5/install/lib/x86_64-linux-gnu/plugins/kf5/kplugins/libplasma_engine_time.so", this);
|
||||||
|
KQPluginFactoryInterface *factory = qobject_cast<KQPluginFactoryInterface*>(loader.instance());
|
||||||
|
//QObject *factory = loader.instance();
|
||||||
|
if (factory) {
|
||||||
|
qDebug() << "loaded successfully and cast";
|
||||||
|
qDebug() << "metadata: " << loader.metaData();
|
||||||
|
QObject *o = factory->createPlugin("time");
|
||||||
|
qDebug() << " objec name:" << o->objectName();
|
||||||
|
Plasma::DataEngine *time_engine = qobject_cast<Plasma::DataEngine*>(o);
|
||||||
|
if (time_engine) {
|
||||||
|
qDebug() << "Successfully loaded timeengine";
|
||||||
|
time_engine->connectSource("Europe/Amsterdam", this);
|
||||||
|
qDebug() << "SOURCE: " << time_engine->sources();
|
||||||
|
} else {
|
||||||
|
qDebug() << "Timeengine failed to load. :(";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
qDebug() << "loading failed somehow";
|
||||||
|
}
|
||||||
|
//KQPluginFactory* factory = new KQPluginFactory(KPluginInfo(), this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void PluginTest::loadDataEngine(const QString &name)
|
void PluginTest::loadDataEngine(const QString &name)
|
||||||
{
|
{
|
||||||
// DataEngine *engine = d->isDefaultLoader ? 0 : internalLoadDataEngine(name);
|
// DataEngine *engine = d->isDefaultLoader ? 0 : internalLoadDataEngine(name);
|
||||||
|
@ -148,9 +185,6 @@ void PluginTest::dataUpdated(QString s, Plasma::DataEngine::Data d)
|
||||||
qDebug() << "new data for source: " << s << d;
|
qDebug() << "new data for source: " << s << d;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Plasma
|
} // namespace Plasma
|
||||||
|
|
|
@ -45,6 +45,7 @@ class PluginTest : public QApplication
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void runMain();
|
void runMain();
|
||||||
|
void loadKQPlugin();
|
||||||
void loadDataEngine(const QString &name = QString());
|
void loadDataEngine(const QString &name = QString());
|
||||||
void dataUpdated(QString s, Plasma::DataEngine::Data d);
|
void dataUpdated(QString s, Plasma::DataEngine::Data d);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user