Files
GUI/src/device/networkmanager.h
2023-09-20 10:09:57 +08:00

45 lines
1.3 KiB
C++

#ifndef NETWORKMANAGER_H
#define NETWORKMANAGER_H
#include <QObject>
#include <QString>
#include "json/jsonobject.h"
class NetworkManager : public QObject
{
Q_OBJECT
public:
static host getLocalHost();
static bool setLocalHost(const host& h);
static NetworkManager* getInstance();
//static void qIfConfig(const localhost& lhost);
static QString interfaceName();
bool isDHCP();
IpAddr getDefaultIpAddr();
static QList<QStringList> getIpAddrList();
static QString getDefaultGateway();
static QList<QStringList> getIpRouteList();
//static void setInterfaceName(const QString& name);
static bool checkPassWord(const QString& pwd, QString& err_info);
bool setDHCP();
bool setIpAddr(const IpAddr& addr, const QString& aGateWay, QString& err_info);
void initNetworkInfo();
static bool setIpAddrList(const QList<QStringList>& list, QString& err_info);
static bool setDefaultGateway(const QString& gw, QString& err_info);
static bool setIpRouteList(const QList<QStringList>& list, QString& err_info);
static QString NewExp(QString ip, QString mask);
static bool validate(const QString& addr);
private:
explicit NetworkManager(QObject* parent = nullptr);
bool mIsDHCP;
QString mIpAddress;
QString mSubNetMask;
};
#endif // NETWORKMANAGER_H