blob: 04e987dfc287a3a772e95d3f3cd2e479d0ac8796 [file] [log] [blame]
Ilya Moiseenko656d52d2013-10-25 14:19:10 -07001/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
2/*
3 * @copyright See LICENCE for copyright and license information.
4 *
5 * @author Ilya Moiseenko <iliamo@ucla.edu>
6 */
7
8#include <QtDBus>
Ilya Moiseenko69abb972013-11-04 16:02:20 -08009#include <QProcess>
Ilya Moiseenko656d52d2013-10-25 14:19:10 -070010
11#ifndef NETWORKMANAGER_H
12#define NETWORKMANAGER_H
13
14#define NDND_AUTOCONFIG_COMMAND "/usr/local/bin/ndnd-autoconfig"
15#define NM_STATE_DISCONNECTED 20
16#define NM_STATE_CONNECTING 40
17#define NM_STATE_CONNECTED_GLOBAL 70
18
19class NetworkManager : public QObject
20{
21 Q_OBJECT
22
23public:
24 NetworkManager();
Ilya Moiseenko393cbdc2013-10-29 00:45:40 -070025 bool IsAutoconfigRunning();
26
27public slots:
28 void autoconfigDaemon();
Ilya Moiseenko656d52d2013-10-25 14:19:10 -070029
30private:
Ilya Moiseenko69abb972013-11-04 16:02:20 -080031 QProcess *autoconfigProcess;
Ilya Moiseenko393cbdc2013-10-29 00:45:40 -070032 bool isAutoconfigRunning;
Ilya Moiseenko656d52d2013-10-25 14:19:10 -070033
34private slots:
35 void stateChanged(uint state);
Ilya Moiseenko393cbdc2013-10-29 00:45:40 -070036 void autoconfigFinished();
Ilya Moiseenko656d52d2013-10-25 14:19:10 -070037};
38
39
40#endif // NETWORKMANAGER_H