1 #ifndef INETWORK_H 2 #define INETWORK_H 3 #include<QString> 4 5 class INetwork 6 { 7 public: 8 virtual ~INetwork(); 9 virtual void setAuto(const QString &cardname)=0; 10 virtual void setStatic(const QString &cardname, const QString &ip, const QString &mask, const QString &gateway, const QString &dns)=0; 11 virtual QString exec() =0; 12 virtual QString pathName() =0; 13 14 static INetwork* guessCreate(); 15 static QString broadCast(const QString &ip, const QString &mask); 16 static QString getMaskBits(const QString &mask); 17 18 protected: 19 QString filter(const QString &cardName); 20 virtual QString filterHandld(const QString &s, const QString &cardName) =0; 21 void writeData(const QString &data, const QString &fileName=QString()); 22 }; 23 24 class ManualMange : public INetwork 25 { 26 public: 27 virtual void setAuto(const QString &cardName); 28 virtual void setStatic(const QString &cardName, const QString &ip, const QString &mask, const QString &gateway, const QString &dns); 29 QString exec(); 30 31 virtual QString filterHandld(const QString &s, const QString &cardName); 32 QString pathName(); 33 }; 34 35 class SystemCtlMange: public INetwork 36 { 37 public: 38 virtual void setAuto(const QString &cardname); 39 virtual void setStatic(const QString &cardName, const QString &ip, const QString &mask, const QString &gateway, const QString &dns); 40 QString exec(); 41 virtual QString filterHandld(const QString &s, const QString &cardName); 42 QString pathName(); 43 }; 44 45 class ManualMangeNotServer : public ManualMange 46 { 47 public: 48 virtual void setAuto(const QString &cardName); 49 virtual void setStatic(const QString &cardName, const QString &ip, const QString &mask, const QString &gateway, const QString &dns); 50 QString exec(); 51 52 private: 53 QString m_result; 54 }; 55 56 #endif //INETWORK_H 57 58