#ifndef NETWORKMANAGER_H #define NETWORKMANAGER_H #include #include #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 getIpAddrList(); static QString getDefaultGateway(); static QList 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& list, QString& err_info); static bool setDefaultGateway(const QString& gw, QString& err_info); static bool setIpRouteList(const QList& 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