add roadmap to dataengine

This commit is contained in:
arcan1s 2014-08-04 22:35:26 +04:00
parent 3a0f0c252e
commit 7febf94233
2 changed files with 72 additions and 7 deletions

View File

@ -43,6 +43,8 @@ Netctl::Netctl(QObject *parent, const QVariantList &args)
setMinimumPollingInterval(333); setMinimumPollingInterval(333);
readConfiguration(); readConfiguration();
setProcesses();
setKeys();
} }
@ -63,6 +65,54 @@ QStringList Netctl::sources() const
} }
void Netctl::initValues()
{
if (debug) qDebug() << "[DE]" << "[initValues]";
netctlAutoStatus = false;
QStringList sourcesList = sources();
for (int i=0; i<sourcesList.count(); i++)
sourceRequestEvent(sourcesList[i]);
}
void Netctl::setKeys()
{
if (debug) qDebug() << "[DE]" << "[setKeys]";
QStringList sourcesList = sources();
for (int i=0; i<sourcesList.count(); i++)
setData(sourcesList[i], QString("value"), QString(""));
initValues();
}
void Netctl::setProcesses()
{
if (debug) qDebug() << "[DE]" << "[setProcesses]";
processes[QString("currentProfile")] = new QProcess();
connect(processes[QString("currentProfile")], SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(setCurrentProfile(int, QProcess::ExitStatus)));
processes[QString("extIp")] = new QProcess();
connect(processes[QString("extIp")], SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(setExtIp(int, QProcess::ExitStatus)));
processes[QString("intIp")] = new QProcess();
connect(processes[QString("intIp")], SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(setIntIp(int, QProcess::ExitStatus)));
processes[QString("profiles")] = new QProcess();
connect(processes[QString("profiles")], SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(setProfileList(int, QProcess::ExitStatus)));
processes[QString("statusBool")] = new QProcess();
connect(processes[QString("statusBool")], SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(setProfileStatus(int, QProcess::ExitStatus)));
processes[QString("statusString")] = new QProcess();
connect(processes[QString("statusString")], SIGNAL(finished(int, QProcess::ExitStatus)),
this, SLOT(setProfileStringStatus(int, QProcess::ExitStatus)));
}
void Netctl::readConfiguration() void Netctl::readConfiguration()
{ {
if (debug) qDebug() << "[DE]" << "[readConfiguration]"; if (debug) qDebug() << "[DE]" << "[readConfiguration]";

View File

@ -27,24 +27,39 @@ class Netctl : public Plasma::DataEngine
public: public:
Netctl(QObject *parent, const QVariantList &args); Netctl(QObject *parent, const QVariantList &args);
QString getCurrentProfile(const QString cmd); void getCurrentProfile(const QString cmd);
QString getExtIp(const QString cmd); void getExtIp(const QString cmd);
QStringList getInterfaceList(const QString dir); QStringList getInterfaceList(const QString dir);
QString getIntIp(const QString cmd, const QString dir); void getIntIp(const QString cmd, const QString dir);
QStringList getProfileList(const QString cmd); void getNetctlAutoStatus();
bool getProfileStatus(const QString cmd); void getProfileList(const QString cmd);
QString getProfileStringStatus(const QString cmdNetctl, const QString cmdNetctlAuto); void getProfileStatus(const QString cmd);
void getProfileStringStatus(const QString cmdNetctl, const QString cmdNetctlAuto);
protected: protected:
bool sourceRequestEvent(const QString &name); bool sourceRequestEvent(const QString &name);
bool updateSourceEvent(const QString &source); bool updateSourceEvent(const QString &source);
QStringList sources() const; QStringList sources() const;
private slots:
void setCurrentProfile(int exitCode, QProcess::ExitStatus exitStatus);
void setExtIp(int exitCode, QProcess::ExitStatus exitStatus);
void setIntIp(int exitCode, QProcess::ExitStatus exitStatus);
void setNetctlAutoStatus(int exitCode, QProcess::ExitStatus exitStatus);
void setProfileList(int exitCode, QProcess::ExitStatus exitStatus);
void setProfileStatus(int exitCode, QProcess::ExitStatus exitStatus);
void setProfileStringStatus(int exitCode, QProcess::ExitStatus exitStatus);
private: private:
bool isNetctlAutoRunning(); // processes
QMap<QString, QProcess *> processes;
// configuration // configuration
bool debug; bool debug;
bool netctlAutoStatus;
QMap<QString, QString> configuration; QMap<QString, QString> configuration;
void initValues();
void setKeys();
void setProcesses();
void readConfiguration(); void readConfiguration();
QMap<QString, QString> updateConfiguration(const QMap<QString, QString> rawConfig); QMap<QString, QString> updateConfiguration(const QMap<QString, QString> rawConfig);
}; };